已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1完整性约束综述2使用primarykey(主键)约束实施实体完整性3使用foreignkey(外键)约束实施参照完整性4使用unique、check等约束实施用户定义完整性5借助企业管理器实施数据库完整性6使用企业管理器建立数据库关系图,第2-3章数据库完整性设计,1.实体完整性,1完整性约束综述,2.参照完整性,“班级”,“学生”,3.用户定义完整性如:性别只能为“男”或“女”,一.完整性分类,二.完整性约束的范围1.列级约束:应用于某一列上。2.表级约束:应用于表中的多列上。三.DBMS的完整性控制功能1.定义功能:提供定义完整性约束条件的机制。2.检查功能:检查用户发出的操作请求是否违背了完整性约束条件。3.纠正措施:发现违背约束时的处理。,1完整性约束综述,四.完整性约束条件的设置完整性约束条件可以在建表时设置,也可以后增或删除。在建表时设置约束的命令格式是:createtable表名(列名1数据类型1列级完整性约束条件1,列名2数据类型2列级完整性约束条件2,列名n数据类型n列级完整性约束条件n,表级完整性约束条件);,1完整性约束综述,1.建立列级主键约束例1:将“学生”表中的“学号”列设为主键。createtable学生(学号varchar(8)primarykey,姓名varchar(8),:);例2:将“班级”表中的“班号”列设为主键,并命名。createtable班级(班号varchar(7)primarykey,专业varchar(20),院系varchar(20);,2使用primarykey(主键)约束实施实体完整性,2.建立表级主键约束例1:将“选修”表中的“学号”与“课号”列设为主键。createtable选修(学号varchar(8),课号varchar(4),成绩tinyint,primarykey(学号,课号);,2使用primarykey(主键)约束实施实体完整性,例1:将学生表中的“班号”列设为外键。前提:(1)班级表中的“班号”列已设为主键;(2)外键与主键数据类型及长度相同。createtable学生(学号varchar(8)primarykey,姓名varchar(8),性别varchar(2),年龄tinyint,班号varchar(7)foreignkeyreferences班级(班号);,3使用foreignkey(外键)约束实施参照完整性,“班级”,“学生”,例2.将“选修表”中的“学号”列和“课号”列分别设为外键。createtable选修(学号varchar(8)foreignkeyreferences学生(学号),课号varchar(4)foreignkeyreferences课程(课号),成绩tinyint,primarykey(学号,课号);,3使用foreignkey(外键)约束实施参照完整性,“学生”关系,“课程”关系,“选修”关系,实现参照完整性要考虑的问题外键的作用即对输入自身表格的数据进行限制,同时也限制了对主键所在表的数据的修改。1在主键表删除元组问题1)级联删除2)受限删除(SQLServer采用)3)置空值删除2在外键表插入元组问题1)受限插入(SQLServer采用)2)递归插入3修改主键问题1)不允许修改:先删除,再插入。2)允许修改(SQLServer采用),3使用foreignkey(外键)约束实施参照完整性,一.使用unique约束该约束用来确保不受主键约束的列上的数据的唯一性。例:createtable学生(学号varchar(8)primarykey,姓名varchar(8),身份证号varchar(18)unique,性别varchar(2),年龄tinyint,班号varchar(7)foreignkeyreferences班级(班号),);,4使用unique、check等约束实施用户定义完整性,unique约束与主键约束的区别主要表现在:1.主要用在非主键的一列或多列上要求数据唯一的情况。2.允许该列上存在null值,而主键约束不行。3.在一个表上可以允许设置多个unique约束,而只能设置一个主键。,4使用unique、check等约束实施用户定义完整性,二.使用null与notnull约束null表示指定列可以为空,notnull表示指定列不能为空。如果某列没有明确指定,默认为notnull。例2.将选修表中的“成绩”列设为可以为空。createtable选修(学号varchar(8)foreignkeyreferences学生(学号),课号varchar(4)foreignkeyreferences课程(课号),成绩tinyintnull,primarykey(学号,课号);,4使用unique、check等约束实施用户定义完整性,二.使用check约束check约束在形式上是一个逻辑表达式。可以设置列级check约束和表级check约束。1.定义列级check约束例1:为学生表中的性别和年龄列设置check约束(注意在同一列加多种约束的方法)。createtable学生(学号varchar(8)primarykey,姓名varchar(8)notnull,性别varchar(2)notnullcheck(性别=男or性别=女),年龄tinyintnullcheck(年龄15and年龄=0and学时=0and学分=学分);例3.为选修表的成绩列设置约束。createtable选修(学号varchar(8)foreignkeyreferences学生(学号),课号varchar(4)foreignkeyreferences课程(课号),成绩tinyintcheck(成绩=0and成绩=100),primarykey(学号,课号);,4使用unique、check等约束实施用户定义完整性,2.定义表级check约束例:为库存表设置约束。Createtable库存(物料号char(6),入库量int,出库量int,Check(出库量=0and学时=15and年龄=0and成绩=150),primarykey(学号,课号);,总结:学生管理数据库的建立与完整性设置,使用企业管理器可以方便地设置约束、修改约束和删除约束。注意:如果表中已有数据,则追加约束时,要检查现有数据是否满足约束。一.设置主键约束:1.选择要修改的表2.从快捷菜单中选“设计表”命令3.选择主键列(按住ctrl键选多列)4.单击“钥匙”图标。,5借助企业管理器实施数据库完整性,二.设置外键约束:1.选择要修改的表2.从快捷菜单中选“设计表”命令3.单击红圈中的键4.选择“关系”标签5.建立或删除外键约束。,5借助企业管理器实施数据库完整性,三.设置check约束:1.选择要修改的表2.从快捷菜单中选“设计表”命令3.单击红圈中的键4.选择“check”标签5.建立或删除约束。,5借助企业管理器实施数据库完整性,6使用企业管理器建立数据库关系图,数据库关系图可以将数据库结构形象地表示出来。通过关系图还可以修改数据库结构的各项内容。,建立关系图的步骤如下:1)展开自己的数据库节点2)选关系图节点,右击选择新建数据库关系图3)选择新建数据库关系图命令,系统启动创建数据库关系图向导4)按照提示创建数据库关系图一个大型数据库可以创建若干
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 24002.2-2026环境管理体系针对环境主题领域应用GB/T 24001管理环境因素和应对环境状况的指南第2部分:水
- 人工智能领域的先驱者
- 健康宣教欠缺
- 人工智能核心定律解析
- 腿部术后康复指导
- 静脉输注免疫球蛋白在儿童川崎病中应用的专家共识总结2026
- 2026年10月自考03042中药炮制学押题及答案(江苏)
- 合同外工程项目单价申报表
- 工程材料消耗情况月报表
- 法律职业资格客观题精讲精练题本(带答案)
- 信息系统运维项目投标方案模板
- 2026年《关于用好乡镇(街道)履行职责事项清单的具体措施》宣导课件
- 2026中国功能性食品原料科学认证与消费者认知调研
- 2026年初级注册安全工程师《安全生产专业实务(其他安全)》真题试卷(附答案解析)
- 胆南星临床应用现状
- 原材料采购价格监督制度
- 方言词汇调查条目表
- 燃气工程档案管理方案
- 成都香城中学高一数学分班考试真题含答案
- 2025年小学诗词大会题库(含答案)
- 急救车司机课件
评论
0/150
提交评论