sloc在数据库里是什么意思

sloc在数据库里是什么意思,第1张

根据以上的定义,(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的规则,然后就把每个表的主键弄出来,把非主键和其他字段进行比较,判断是否唯一由全部主键确定就好。

1,查询学生表中。sdept为计算机的人,并按sno降序排列

SELECT Sname, Ssex, Sage, Sdept

FROM S

WHERE Sdept = '计算机'

ORDER BY Sno DESC

2,查询Ccredit为5 并且grade大于60 的学好,姓名,性别。

SELECT Sno, Sname, Ssex

FROM S

WHERE sno IN (SELECT SC.Sno

FROM SC, C

WHERE SC.CNO = C.Cno

AND C.Ccredit = 5

AND SC.Grade >60)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10075699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存