- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch8-Relational Database Design要点
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3NF Decomposition Algorithm (Cont.) Above algorithm ensures: each relation schema Ri is in 3NF decomposition is dependency preserving and lossless-join Proof of correctness…… 3NF Decomposition: An Example Relation schema: cust_banker_branch = (customer_id, employee_id, branch_name, type ) The functional dependencies for this relation schema are: customer_id, employee_id ? branch_name, type employee_id ? branch_name customer_id, branch_name ? employee_id We first compute a canonical cover branch_name is extraneous in the r.h.s. of the 1st dependency FC ={customer_id, employee_id ? type, employee_id ? branch_name, customer_id, branch_name ? employee_id} 3NF Decompsition Example (Cont.) The for loop generates following 3NF schema: (customer_id, employee_id, type ), (employee_id, branch_name), (customer_id, branch_name, employee_id) Observe that (customer_id, employee_id, type ) contains a candidate key of the original schema, so no further relation schema needs be added At end of for loop, detect and delete schemas, such as (employee_id, branch_name), which are subsets of other schemas result will not depend on the order in which FDs are considered The resultant simplified 3NF schema is: (customer_id, employee_id, type) (customer_id, branch_name, employee_id) Comparison of BCNF and 3NF It is always possible to decompose a relation into a set of relations that are in 3NF such that: the decomposition is lossless the dependencies are preserved It is always possible to decompose a relation into a set of relations that are in BCNF such that: the decomposition is lossless it may not be possible to preserve dependencies. Design Goals Goal for a relational database design is: BCNF\Lossless join\Dependency preservation. If we cannot achieve this, we accept one of Lack of dependency preservation Redundancy d
原创力文档


文档评论(0)