1 database
鉴于:
R = {账户,分析员,资产,经纪人,客户,佣金,公司,股息,交易所,投资,办公室,资料,回报,Risk_profile,股票,交易量}
和一组功能依赖:
F {fd1,fd2,fd3,fd4,fd5,fd6,fd7,fd8,fd9,fd10,fd11}
哪里:
fd1:客户 - >办公室
fd2:股票 - >交易所,股息
fd3:经纪人 - >简介
fd4:公司 - >股票
fd5:客户 - > Risk_profile,分析员
fd6:分析师 - >经纪人
fd7:股票,经纪人 - >投资,交易量
fd8:股票 - >公司
fd9:投资,佣金 - >返回
fd10:股票,经纪人 - >客户
fd11:账户 - >资产
这些是候选键:
(账户,佣金,分析员,公司)
(账户,佣金,分析师,股票)
(账户,佣金,经纪人,公司)
(账户,佣金,经纪人,股票)
(账户,佣金,客户,公司)
(账户,佣金,客户,股票)
(问)选择一个主键并证明你的选择是正确的吗?
我是选择
(账户,佣金,经纪人,股票)作为主键???
我之所以选择它,是因为与其他相比,它具有最直接的依赖性.例如,更多属性在功能上依赖于该主键.
请检查我的答案是否属实?或不
我尽快等你的回答
谢谢
我会创建一个虚拟唯一ID来标识行并将其链接到其他表,因为我对复合键有一致的不良体验.单个id字段可以更好地工作.
我怀疑他们只是邪恶的.
对于所有相关的可能键,我建议创建唯一索引,这将提供优势(保证唯一性和快速检索)并没有任何缺点(不要让我开始).
我还怀疑所提出的关键领域可能会不时发生变化.你真的希望你的密钥是不可变的,因为它将被用作参考.