资源描述:
《关系数据库设计理论.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章关系数据库设计理论第三章关系数据库设计理论3.1函数依赖3.2函数依赖的规则3.3关系数据库模式设计3.4分解的优劣3.5第三范式3.6多值依赖3.1函数依赖一个关系R上的函数依赖FD是指如果R的两个元组在属性A1,A2,…,An上一致,那么它们在其他属性B1,B2,…,Bm上的值也必定相同。写为:A1A2…An→B1,B2,…,Bm称作:A1,A2,…,An函数决定B1,B2,…,Bm1.函数依赖的定义函数依赖的右边往往是单个属性,而FD:A1A2…An→B1,B2,…,Bm等价于一组FD的集合:A1A2…An→B1A1A2…An→
2、B2……A1A2…An→Bm注意:FD是针对模式而非实例的!不能仅通过一个关系实例确定FD。P38例3.1从图3-2中判断正确的FD?错误的FD?ExampleDrinkers(name,addr,beersLiked,manf,favBeer)ReasonableFD’stoassert:name->addrname->favBeerbeersLiked->manfExampleDatanameaddrbeersLikedmanffavBeerJanewayVoyagerBudA.B.WickedAleJanewayVoyagerWick
3、edAlePete’sWickedAleSpockEnterpriseBudA.B.BudBecausename->addrBecausename->favBeerBecausebeersLiked->manf满足两个条件,就认为属性或属性集合{A1,A2,…,An}是关系R的键:这些属性函数决定关系的所有其他属性;没有一个{A1,A2,…,An}的真子集能函数决定R的其他属性。注意:键必须是最小的,但键的最小化不代表最小值,容易产生错误理解。例如,{A,B,C}和{D,E}均为最小化的键,然而只有{D,E}是所有键中属性数最小的。键只包括
4、单属性A时,记作A而不是{A}!2.关系的键例3.13,证明关系Movies(title,year,length,genre,studioName,starName)的键为{title,year,starName}。证明:首先证明title,year,starName→length,genre,studioName然后进一步证明{title,year,starName}的任何真子集都不能函数决定其他属性。有时一个关系可能会有多个键,通常指定其中一个为主键(primarykey)。一个包含键的属性集叫做超键(superkey)。因此,超键能够
5、函数决定关系中所有其他属性的属性集。每个键都是超键,而某些超键不是键(最小化)。例3.14,在例3.13中除了键{title,year,starName}是超键,任何包含这个集合的超集都是超键,例如{title,year,length,starName}3.超键ExampleDrinkers(name,addr,beersLiked,manf,favBeer){name,beersLiked}isasuperkeybecausetogethertheseattributesdeterminealltheotherattributes.nam
6、e->addr,favBeerbeersLiked->manf{name,beersLiked}isakeybecauseneither{name}nor{beersLiked}isasuperkey.namedoesn’t->manfbeersLikeddoesn’t->addrTherearenootherkeys,butlotsofsuperkeys.Anysupersetof{name,beersLiked}.课堂习题P40习题3.1.2习题3.1.3做好的并最先正确回答(即思路正确合理,计算结果也准确无误)第三章关系数据库设计理论
7、3.1函数依赖3.2函数依赖的规则3.3关系数据库模式设计3.4分解的优劣3.5第三范式3.6多值依赖本节目标:如何从关系中已知的FD集合推导出其他FD?例3.17(函数依赖的传递规则):如果关系R(A,B,C)满足FD:A→B和B→C,那么就可以推断出R也满足FD:A→C。证明:假设任意两个在A上取值相同的元组为(a,b1,c1)和(a,b2,c2),由于R满足A→B,又已知两个元组在A上取值相同,因此它们在B上的值也相同,即b1=b2,即元组等价于(a,b,c1)和(a,b,c2),这里b=b1=b2.又因B→C,且这两个元组在B上的值
8、相同,所以他们在C上的取值也相同,即c1=c2.由此,证明了R中只要两个元组在A上取值相同,则他们在C上也取值相同,即存在FD:A→C。3.2函数依赖的规则1.函数依赖的推导分解