【发布时间】:2016-12-07 12:34:15
【问题描述】:
因此,总而言之,仅通过查看抽象示例,我在理解函数依赖关系方面遇到了重大困难,并且非常感谢对理解可能的现实生活情况的一些帮助。 我想看看这些功能依赖是否违反了 BCNF。 我已经阅读了很多解释,但我仍然难以完全理解,仅通过查看以下字符我无法理解全貌。我觉得我需要一些真实的数据来思考,因此我的示例如下。
R(A,B,C,D,E) where functional dependencies are AB -> C, DE -> C, and B -> D.
我在这里尝试不同的示例和场景并得到了这个。不确定我的想法是否完全错误。但我走了。
Employee(employee_id, firstname, lastname, title, department)
AB -> C, employee_id, firstname -> lastname (lastname can be determined by employee_id and firstname). lefthand side is a key so no bcnf violation?
DE -> C, title, department -> lastname (lastname of specific employee can NOT be determined by title and department. a bcnf violation, because lefthand side contain no key attribute?
B -> D, firstname -> title (title of employee can not be determined by only firstname, because it can exist several employees with same firstname? and lefthand side has no key attribute, => bcnf violation?
我现在的问题是,对于上述关系的这些 FD,在我测试的每个示例上都必须是相同的结果吗?还是取决于每个关系以及它们具有的属性以及顺序?
如果我尝试另一个具有相同 FD 和关系的示例。
Movie(movieName, published, starName, age, address)
movieName, published -> starName (starnName can be determined from movieName and published. no bcnf violation?
age, address -> starName (starName cannot be determined from age and address. bcnf violation?
published -> age (age of the movie can be determined from published. No bcnf violation?
我真的很感激一些指导。
谢谢。
【问题讨论】:
标签: relational-algebra functional-dependencies