数据库中这个题目怎么求候选键,怎么求是第几范式?3NF?
答案:3 悬赏:30 手机版
解决时间 2021-11-27 21:25
- 提问者网友:疯孩纸
- 2021-11-27 04:19
数据库中这个题目怎么求候选键,怎么求是第几范式?3NF?
最佳答案
- 五星知识达人网友:不甚了了
- 2021-11-27 05:13
候选键:发票号+消费日期+项目
范式:1NF。原因是非候选键属性不完全依赖候选键。发票号、到达日期和顾客姓名不仅仅依赖候选键,它们之间还有相互依赖关系。
3NF:拆成两个表:1--顾客信息表(发票号、顾客姓名、达到日期)
2--消费信息表(发票号、消费日期、消费项目、消费金额)。追问候选键的那个是怎么得到的?是通过闭包求得的吗?希望有详细的分析过程(包括后面的题)。追答不要局限于理论公式,那样太累了。抓住候选主键是唯一确定每行数据的概念去分析就可以了。
下面是分析过程:
1、到达日期和顾客姓名依赖于发票号:发票号唯一能确定一个顾客和这个顾客达到日期。如果顾客第二次来住店,那么发票号就不一样了,
2、消费日期没有依赖关系:由于一张发票号中含有几日的消费,因此发票号不能唯一确定消费日期。另外消费日期无法确定消费项目,一日里或许有消费,或许无消费。
3、金额依赖于发票号+消费日期+消费项目:餐费项不能确定金额,因为吃好吃差金额不同。还有消费项目+消费日期无法确定是谁消费的,所以还需要+上发票号
因此,该账单的候选主键是:发票号+消费日期+消费项目
拆成3NF后的两个表自己找出候选主键吧。
范式:1NF。原因是非候选键属性不完全依赖候选键。发票号、到达日期和顾客姓名不仅仅依赖候选键,它们之间还有相互依赖关系。
3NF:拆成两个表:1--顾客信息表(发票号、顾客姓名、达到日期)
2--消费信息表(发票号、消费日期、消费项目、消费金额)。追问候选键的那个是怎么得到的?是通过闭包求得的吗?希望有详细的分析过程(包括后面的题)。追答不要局限于理论公式,那样太累了。抓住候选主键是唯一确定每行数据的概念去分析就可以了。
下面是分析过程:
1、到达日期和顾客姓名依赖于发票号:发票号唯一能确定一个顾客和这个顾客达到日期。如果顾客第二次来住店,那么发票号就不一样了,
2、消费日期没有依赖关系:由于一张发票号中含有几日的消费,因此发票号不能唯一确定消费日期。另外消费日期无法确定消费项目,一日里或许有消费,或许无消费。
3、金额依赖于发票号+消费日期+消费项目:餐费项不能确定金额,因为吃好吃差金额不同。还有消费项目+消费日期无法确定是谁消费的,所以还需要+上发票号
因此,该账单的候选主键是:发票号+消费日期+消费项目
拆成3NF后的两个表自己找出候选主键吧。
全部回答
- 1楼网友:野味小生
- 2021-11-27 06:59
请问楼上老师这个问题相信也是楼主的问题 候选键的定义为。没有多馀属性的超键为候选键.
那根据此定义 那候选键自然可以决定全部属性。
但老师发票号可以决定所有属性那它是候选键没错
请问消费日期 如何能做候选键如何能够决定其他属性 项目同上.请老师能给解答下
相信楼主需要的也是这种解答。不只要答案.谢谢.
那根据此定义 那候选键自然可以决定全部属性。
但老师发票号可以决定所有属性那它是候选键没错
请问消费日期 如何能做候选键如何能够决定其他属性 项目同上.请老师能给解答下
相信楼主需要的也是这种解答。不只要答案.谢谢.
- 2楼网友:鱼忧
- 2021-11-27 05:49
比3NF,因为那里是一个部分函数依赖
的冗余(名称),第二范式,应该是建立一个“单元表
的冗余(名称),第二范式,应该是建立一个“单元表
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯