项目4实施数据完整性.docVIP

  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文档。上传文档
查看更多
项目4实施数据完整性

项目3 实施数据完整性 任务1:定义CJGL数据库表的各类约束 【任务描述】:使用SSMS向导与T-SQL语句定义CJGL数据库表的各类约束,主要包括: 主键约束; 惟一键约束 外键约束 检查约束 默认值约束 【预备知识】 数据完整性的分类 数据完整性是指数据库中的数据的一致性和准确性,数据库设计时,重要的一步是选择实施数据完整性的方法。数据完整性包括以下几个方面: (1)域完整性(Domain integrity) 域完整性是指定对表中某列有效的取值并决定是否允许空值。可以通过限定数据类型、格式和取值的范围强制域完整性。 (2)实体完整性(Entity integrity) 实体完整性要求表中记录必须唯一,即要有唯一标识符。可以通过设置主键、惟一键强制记录的唯一性。 (3)参照完整性(References integrity) 参照完整性是指外部关键字(参照表)的取值必须参照主关键字(被参照表)的值,以保证表之间定义的关系。如果被外部关键字引用,则被引用的行不能删除,也不能改变主键值,除非设置了级联删除或级联更新。 (4)用户定义完整性 用户定义完整性可以定义不属于其他任何完整性类别的特定业务规则。所有完整性类别都支持用户定义完整性,这包括 CREATE TABLE 中所有列级约束和表级约束、存储过程以及触发器。 约束的分类 约束是强制数据完整性的标准方法,每一种数据完整性类型——域完整性、实体完整性、参照完整性,都可以使用约束来强制实现。约束主要包括以下几类: 完整性类别 约束类别 描述 域完整性 DEFAULT 当Insert语句没有提供值时,由默认值填充 CHECK 指定列值的取值范围 NOT NULL 指定列值是否允许空值 实体完整性 PRIMARY KEY 每行唯一的标识符,确保没有重复值并且建立了索引,不允许存在空值。 UNIQUE 不允许重复值并且创建了索引,允许空值。 参照完整性 FOREIGN KEY 指定列或列组合的取值必须参照另外表中的主键值。 约束的创建 约束的定义可以通过CREATE TABLE语句(参加项目2)或ALTER TABLE语句实现,约束可以定义在一列上,称为列级约束,也可以定义在多列上,称为表级约束。 【任务实施】 1、为CJGL数据库表定义主键约束。 方法1:定义表的同时定义主键(以department表为例) 利用SSMS向导定义 在创建表或修改表的设计视图中,在网格的左边右键单击,选择“设置主键”命令,如下所示: 用CREATE TABLE语句定义表的时候定义主键约束,参见项目2中部门表定义。 方法2:利用ALTER TABLE语句定义主键约束(以部门表为例) 单击“新建查询”按钮,打开查询编辑窗口,然后输入如下代码: USE CJGL GO ALTER TABLE department ADD CONSTRAINT depart_PK PRIMARY KEY(departID) GO 2、为CJGL数据库表定义惟一键约束(以department表为例) 利用SSMS向导实现定义 打开department表的设计视图,在网格任意位置右键单击,选择“索引/键”命令; 在弹出的对话框中,单击“添加”按钮,系统会自动生成名称为“IX_Department”的索引; 然后在“类型”下拉列表中选择“惟一键”; 在“列”右边单元格中选择字段“departName”,升序排列(ASC),如下图所示: 利用T-SQL语句实现定义 单击“新建查询”按钮,打开查询编辑窗口,然后输入如下代码: ALTER TABLE department ADD CONSTRAINT IX_depart UNIQUE(departName) GO 3、为CJGL数据库表定义外键约束(以student表为例) (1)利用SSMS向导实现定义 打开student表的设计视图 在网格任意位置右键单击,选择“关系”命令 在打开的对话框中单击“添加”按钮,系统会添加一个约束“FK_student_student”; 选中该约束,在右边的“表和列规范”网格中单击鼠标左键,然后单击出现的生成器按钮,如下图所示 在弹出的“表和列”对话框中选择主键表及主键字段和外键表字段,如下图所示: 注意:主键表改为“class”后,关系名自动会变成“FK_student_class” 单击“确定”按钮即可定义student表和class表之间的外键约束。 (2)利用T-SQL语句实现定义 单击“新建查询”按钮,打开查询编辑窗口,然后输入如下代码: ALTER TABLE student ADD CONSTRAINT FK_s_c FOREIGN KEY(classID)

文档评论(0)

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

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

1亿VIP精品文档

相关文档