- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An Introduction to Database System 辽宁大学信息学院 内容概括 需要了解:什么是数据库完整性 牢固掌握:控制机制的三个方面 举一反三:用sql语言定义完整性约束条件 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义的完整性 5.4 完整性约束命名子句 5.6 触发器 5.7 小结 第五章 数据库完整性 什么是数据库的完整性 数据的正确性和相容性 防止不合语义的数据进入数据库。 例: 学生的年龄必须是整数,取值范围为14--29; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; 完整性:否真实地反映现实世界 完整性控制机制 1.提供完整性约束条件定义机制 数据库中数据必须满足的语义约束条件。 2.提供完整性检查机制 检查执行操作后是否违背完整性约束条件。 3.违约反应 拒绝或者级连执行其他操作,进行违约处理 5.1 实体完整性 5.1.1 实体完整性定义 5.1.2 实体完整性检查和违约处理 5.1.1 实体完整性定义 用primary key 来定义 单属性 定义在列级约束条件 定义在表级约束条件 多个属性 定义在表级约束条件 例1 将s表中Sno定义为码 Create table s (Sno char(9) primary key, Sname char(20) not null, Ssex char(2), Sage smallint, Sdept char(20) ); ***列级定义主码 例1 或者 Create table s (Sno char(9), Sname char(20) not null, Ssex char(2), Sage smallint, Sdept char(20) primary key(Sno)); **表级定义主码 例2 定义sc Create table sc (Sno char(9) not null, Cno char(4) not null, Grade smallint, Primary key(Sno,Cno) ); 5.1.2 实体完整性检查和违约处理 自动检查是否满足: 检查主码是否唯一,如果不唯一则拒绝插入或修改 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改 全表扫描 建立索引 5.2 参照完整性 5.2.1 参照完整性定义 5.2.2 参照完整性检查和违约处理 5.2.1 参照完整性定义(定义外码) Create table sc (Sno char(9) not null, Cno char(4) not null, Grade smallint, Primary key(Sno,Cno), Foreign key(Sno) references s(Sno), Foreign key(Cno) references c(Cno) ); **表级定义参照完整性 5.2.2 参照完整性检查和违约处理 表 处理策略 拒绝执行(no action) 级联操作(cascade) 设置为空值(null) 外码列是否允许为空值 学生(学号、姓名、性别、专业号、年龄) 专业(专业号,专业名) 显示定义参照完整性的违约处理 CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE /*级联删除SC表中相应的元组*/ ON UPDATE CASCADE, /*级联更新SC表中相应的元组*/ FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE NO ACTI
文档评论(0)