我在第一范式(1NF)中有以下模式 - 即所有单元格都包含原子值:
ClientRental (clientNo, propertyNo, clientName, propertyAddress, rent,
rentStart, rentFinish, ownerNo, ownerName)
Run Code Online (Sandbox Code Playgroud)
总的概述是客户可以从租赁代理商租用许多房产.每个属性都有一个所有者.对于那些熟悉本书的人来说,这是Connolly&Begg从Database Systems中提取的一个例子.
我试图确定功能依赖 - >候选键,部分依赖和传递依赖等
我正在关注一本教科书,但有些建议的解释有些不足.有人可以向我解释我的建议是否正确:
FD1 -> clientNo -> clientName
FD2 -> propertyNo -> propertyAddress, rent, ownerNo, ownerName
FD3 -> ownerNo -> ownerName
Run Code Online (Sandbox Code Playgroud)
我肯定错过了更多的功能依赖,但我缺乏经验阻止我识别它们.显然我无法确定部分依赖关系,因为我还没有为上述关系/模式分配主键.
有人可以帮助我识别其他功能依赖...我不清楚是什么决定某些东西作为传递依赖...
如果有任何需要更多说明,请告诉我.
编辑3NF:
我的3NF关系:
Client {clientNo(PK), clientName}
Owner {ownerNo(PK), ownerName}
Property {propertyNo (PK), propertyAddress, rent}
ClientRental {clientNo(PK), propertyNo(PK), rentStart, rentFinish, ownerNo(FK)}
Run Code Online (Sandbox Code Playgroud)