第七章数据库完整性设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章数据库完整性设计

SQL Server 实用基础教程 第七章 数据完整性设计 第七章 数据完整性设计 7.1 数据完整性 主要包括三类: 实体完整性 参照完整性 用户定义的完整性。 其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,用户定义的完整性是指针对具体应用需要自行定义的约束条件。 7.1.1 实体完整性 现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主码作为唯一性标识。主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“无意义”的值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与现实世界的应用环境相矛盾,因此这个实体一定不是一个完整的实体。这就是实体的完整性规则。 实体完整性定义:若属性A是基本关系R的主属性,则属性A不能取空值。 7.1.2 参照完整性 在关系模型中,实体及实体间的联系都是用关系来描述的,这样就需要在关系与关系之间通过某些属性建立起它们之间的联系。 例如,对于以下三个关系模式: 学生信息(学号,姓名,性别,年龄) 主码:学号 课程(课程号,课程名,学分) 主码: 课程号 选修(学号,课程号,成绩) 主码 (学号,课程号) 选修关系的学号必须在学生信息关系中存在的学号,而选修关系的课程号也必须是一个在课程关系中存在的课程号。 参照完整性定义:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。 关系R和S不一定是不同的关系。 例如,设有以下两个关系模式: 职工(职工编号,姓名,性别,部门编号) 部门(部门编号,名称,地址,简介) 在“职工”关系中,主码为职工编号,在“部门”关系中,主码为部门编号,所以“职工”关系中的部门编号是该关系的外码。 “职工”关系为参照关系; “部门”关系为被参照关系。 7.1.3 用户定义的完整性 针对某一具体应用所涉及的数据必须满足的语义要求,对关系数据库中的数据定义的约束条件。 例如:对于关系模式: 学生信息(学号,姓名,性别,年龄) 可以定义: 性别字段的值只能为“男”和“女”        年龄字段的值只能为大于0的整数 7.2 约束 主键(PRIMARY KEY)约束 惟一性(UNIQUE)约束 检查(CHECK)约束 默认(DEFAULT)约束 外部键(FOREIGN KEY)约束 7.2.1 主键约束 主键是表中的一列或一组列,它们的值可以惟一地标识表中的每一行。在创建和修改表时,可以定义主键约束。主键列的值不允许为空。 两种创建主键约束的方法 使用企业管理器创建主键约束 使用T-SQL语句创建主键约束 使用企业管理器创建主键约束 在表设计器中单击鼠标右键,在弹出的快捷菜单中选择“索引/键”,打开“属性”对话框,在该对话框中可以查看、创建、修改和删除主键,如下图。 使用T-SQL语句创建主键约束 语法: CONSTRAINT 主键约束名 PRIMARY KEY [ CLUSTERED |NONCLUSTERED ] (列名1 [, 列名2, ... 列名n]) 【例】使用CREATE TABLE语句创建“测试”表,同时定义“记录编号”列为主键。 7.2.2 惟一性约束 惟一性约束可以保证除主键外的其他一个或多个列的数据惟一性,以防止在列中输入重复的值。 两种创建惟一性约束的方法 使用企业管理器创建惟一性约束 使用T-SQL语句创建惟一性约束 使用企业管理器创建惟一性约束 在表设计器中单击鼠标右键,在弹出的快捷菜单中选择“索引/键”,打开“属性”对话框,在这里可以查看、创建、修改和删除键。单击“新建”按钮,选中“创建UNIQUE”复选框,可以创建唯一性约束,如下图所示。 使用T-SQL语句创建惟一性约束 语法: CONSTRAINT 约束名 UNIQUE [ CLUSTERED | NONCLUSTERED ] (列名1 [, 列名2, ... 列名n]) 【例】使用CREATE TABLE语句创建“测试”表,同时定义“记录编号”列为主键,“记录名称”列为唯一性约束。 惟一约束与主键约束的区别 惟一约束允许有空值,主键约束不允许有空值。 每个表只能定义一个主键约束,但可以定义多个惟一约束。 惟一约束和主键约束都能为指定的列建立惟一索引,但在缺省情况下,主键约束产生聚簇索引,唯一约束产生非聚簇索引。 注:要修改

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档