sql如何建立两表的实施参照完整性,级联更

sql如何建立两表的实施参照完整性,级联更,第1张

-->工具菜单
-->右键,显示表,将需要创建关系的表添加进来
-->将主键表的主键字段拖动到另一个表的对应字段
-->选择“实施参照完整性”、“级联更新相关记录”、“级联删除相关记录”

实现实体完整性就是利用主索引(在数据库中打开关系设计器),给没有重复值的字段设置主索引,例如:学号,不可能有两人有相同学号
参照完整性:当两个表之间建立了联系以后,再对表中的数据进行 *** 作应该受到约束了,例学生档案表和成绩表建立了联系后,可能不能随便修改学号的值了,因为另外一个表也有这个值,比如档案表中的学号1号改为101号,而成绩表中的学号1号该怎么办如果不改势必会造成本来是一个人的学号,现在变成了不同学号了,计算机是不会判断出它们是一个人还是两个人的
实现参照完整性:打开数据库,建立两个表的联系,在菜单中找数据库,先单击一下清理数据库(不做这步不让做下一步),然后在这个菜单中单击编辑参照完整性,在打开的对话框中根据题意要求可以选择:更新/删除/插入三项之一,再根据题意选择每项中的选项:级联/限制/忽略(插入规则没有级联)
级联:父表修改或删除主关键值(比如学号)时,子表中相应的值会自动随之修改;
限制:禁止修改,删除和插入一个表的数据;
忽略:可以修改,删除和插入一个表的数据,另一个表中的数据不予理会(当然会造成两个表中的数据不一致)以上内容挺多,要看完并理解可能需要一点时间和耐心,不过为了好成绩,应该还是值得的最好在计算机上练习,多做几遍就能理解了

CREATE TABLE
<表名>
(<列名><数据类型> [列级完整性约束条件] [,<列名> <数据类型> [列级完整性约束条件]…]
[,<表级完整性约束条件>])
CONSTRAINT是约束关键字;<约束名>是用户对该约束的命名;
FOREIGN KEY 是外键关键字;(<列名>[,<列名>…])是子表中的外键列名;
REFERENCES 是建立参考的关键字;<引用表名>是父表的表名;
[(<引用列名>[,<引用列名>…])] 是父表中主键列名;
关键字ON DELETE和ON UPDATE分别定义:
删除父表主键数据和更新子表外键数据;
关键字CASCADE定义:在父表数据行删除/更新时,同时子表中对应数据行也删除/更新; 关键字NO ACTION(默认值)定义:在删除/更新父表数据行时,SQL Server会产生一个错误,并将父表中的删除/更新 *** 作回滚。
关键字NOT FOR REPLICATION:定义列的外关键字约束对于从其他表中复制过来的数据而言不发生作用(对新插入或更新有作用)。


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

原文地址:https://54852.com/yw/10476402.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存