一个很基础的数据库问题,正在考试很着急,在线等待大神解答 20
S-L-C(Sno,Sdept,Sloc,Cno,G)其中,Sno为学生的学号,Sdept为学生的系别,Sloc为学生住处,假设每个系的学生住在同一个地方,Cno为课程号...
S-L-C(Sno, Sdept, Sloc, Cno, G) 其中,Sno为学生的学号,Sdept为学生的系别, Sloc为学生住处,假设每个系的学生住在同一个 地方,Cno为课程号,Grade为成绩。
请问,SLC是否满足第三范式?如果不满足请先将其规范到2NF,之后规范到3NF。 展开
请问,SLC是否满足第三范式?如果不满足请先将其规范到2NF,之后规范到3NF。 展开
展开全部
肯定是不符合的。
2NF:唯一主键,不存在某个属性只依赖主键的一部分。
3NF:不存在传递依赖,就是某个属性靠一个非主键属性就可以唯一确定。
根据以上的定义,(sno,cno)是表的主键,而sdept只依靠sno就可以确定,因此不满足2NF,也就不满足3NF了。
为了满足题意,所以不能直接修改成3NF,所以做以下的修改满足2NF:
S-L(SNO,Sdept,Sloc) S-C(SNO,Cno,G)
这样SNO是S-L主键,Sdept,Sloc唯一依赖SNO,而(SNO,CNO)是S-C主键,G唯一依赖(SNO,CNO)。
但是,Sloc可由Sdept唯一确定,所以这个解其实不满足3NF。
做以下的修改转换为3NF。
S-D(SNO, Sdept) D-L(Sdept,Sloc),S-C(SNO,CNO,G)
问题解决了。
这种问题你就明确的记住2NF和3NF的规则,然后就把每个表的主键弄出来,把非主键和其他字段进行比较,判断是否唯一由全部主键确定就好。
2NF:唯一主键,不存在某个属性只依赖主键的一部分。
3NF:不存在传递依赖,就是某个属性靠一个非主键属性就可以唯一确定。
根据以上的定义,(sno,cno)是表的主键,而sdept只依靠sno就可以确定,因此不满足2NF,也就不满足3NF了。
为了满足题意,所以不能直接修改成3NF,所以做以下的修改满足2NF:
S-L(SNO,Sdept,Sloc) S-C(SNO,Cno,G)
这样SNO是S-L主键,Sdept,Sloc唯一依赖SNO,而(SNO,CNO)是S-C主键,G唯一依赖(SNO,CNO)。
但是,Sloc可由Sdept唯一确定,所以这个解其实不满足3NF。
做以下的修改转换为3NF。
S-D(SNO, Sdept) D-L(Sdept,Sloc),S-C(SNO,CNO,G)
问题解决了。
这种问题你就明确的记住2NF和3NF的规则,然后就把每个表的主键弄出来,把非主键和其他字段进行比较,判断是否唯一由全部主键确定就好。
美林数据技术股份有限公司
2019-06-26 广告
2019-06-26 广告
美林数据Tempo大数据分析平台,它是一款集数据接入、数据处理、数据挖掘、数据可视化、数据应用于一体的软件产品。它秉持“智能、互动、增值”的设计理念,面向企业级用户提供自助式数据探索与分析能力,为企业提供从BI到AI的一体化数据分析与应用解...
点击进入详情页
本回答由美林数据技术股份有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询