我在第一范式(1NF)下面的架构 - 这是所有细胞都含有原子值:确定函数依赖
ClientRental (clientNo, propertyNo, clientName, propertyAddress, rent,
rentStart, rentFinish, ownerNo, ownerName)
的大致轮廓是,客户可以从让代理租的许多特性。每个属性有一个所有者。对于那些熟悉这本书的人来说,它是Connolly从数据库系统中提取的一个例子& Begg。
我试图找出函数依赖 - >候选键,部分依赖和传递依赖等
我下面一本教科书,但有建议是有些解释不清。可能有人向我解释,是否我的建议是正确的:
FD1 -> clientNo -> clientName
FD2 -> propertyNo -> propertyAddress, rent, ownerNo, ownerName
FD3 -> ownerNo -> ownerName
肯定有,我已经错过了更多的功能依赖关系,但我的经验不足阻止我识别他们。显然,我不能确定部分依赖关系,因为我还没有为上述关系/模式分配主键。
有人可以帮我找出其他功能的依赖......我不清楚是什么决定的东西作为一个传递依赖要么...
请让我知道如果有什么需要更多的澄清..
编辑对于3NF:
我3NF关系:
Client {clientNo(PK), clientName}
Owner {ownerNo(PK), ownerName}
Property {propertyNo (PK), propertyAddress, rent}
ClientRental {clientNo(PK), propertyNo(PK), rentStart, rentFinish, ownerNo(FK)}
1NF中的关系仍然必须有一个关键。 ClientRental的关键是什么? – 2011-04-25 00:24:51
关键是clientNo&propertyNo – user559142 2011-04-25 11:19:16
对于ownerNo来说,它并不是真正意义上的ClientRental属性。该表的关键是{clientNo,propertyNo}。非正式地说,这意味着谁的主人取决于谁租用这个地方。这当然不是事实。无论谁出租,房主都是一样的。我希望ownerNo是Property的一个属性。 – 2011-04-30 00:56:06