第六章实现数据完整性 使用约束实现数据完整性 NOT NULL(非空)约束 非空约束用来强制数据的域完整性,它用于设定某列值不能为空。如果指定 某列不能为空,则在进行插入记录时,此列必须要插入数据。 CHECK(检查)约束 检查约束用来强制数据的域完整性,它使用逻辑表达式来限制表中的列可以 接受哪些数据值 DEFAULT(默认)约束 默认约束用来强制数据的域完整性,它为表中某列建立一个默认值,当用户 插入记录时,如果没有为该列提供输入值,则系统会自动将默认值赋给该列 。默认值可以是常量、内置函数或表达式。使用默认约束可以提高输入记录 的速度。 FOREIGN KEY(外健)约束 外键是指二个表中的一列或列组合,它虽不是该表的主键,但却是另表 整性,维护两表之间数据的一致性关系
第六章 实现数据完整性 ❖ 使用约束实现数据完整性 NOT NULL(非空)约束 非空约束用来强制数据的域完整性,它用于设定某列值不能为空。如果指定 某列不能为空,则在进行插入记录时,此列必须要插入数据。 CHECK(检查)约束 检查约束用来强制数据的域完整性,它使用逻辑表达式来限制表中的列可以 接受哪些数据值。 DEFAULT(默认)约束 默认约束用来强制数据的域完整性,它为表中某列建立一个默认值,当用户 插入记录时,如果没有为该列提供输入值,则系统会自动将默认值赋给该列 。默认值可以是常量、内置函数或表达式。使用默认约束可以提高输入记录 的速度。 FOREIGN KEY(外健)约束 外键是指一个表中的一列或列组合,它虽不是该表的主键,但却是另一个表 的主键。通过外键约束可以为相关联的两个表建立联系,实现数据的引用完 整性,维护两表之间数据的一致性关系
第六章实现数据完整性 使用约束实现数据完整性 约束还可以分为列约束和表约束两类。当约束被定义于某个表的 一列时称为列约束,定义于某个表的多列时称为表约束。当一个约束 中必须包含一个以上的列时,必须使用表约束。 约束的操作(创建、修改、删除) 注意: 1、什么约束可以实现需要的数据完整性:不同的约束提供了不同的 功能。 2、在什么时候实施约束最合适: SQLServer允许推迟或者禁用某些 已经定义的约束
第六章 实现数据完整性 ❖ 使用约束实现数据完整性 约束还可以分为列约束和表约束两类。当约束被定义于某个表的 一列时称为列约束,定义于某个表的多列时称为表约束。当一个约束 中必须包含一个以上的列时,必须使用表约束。 约束的操作(创建、修改、删除) 注意: 1、什么约束可以实现需要的数据完整性:不同的约束提供了不同的 功能。 2、在什么时候实施约束最合适:SQL server允许推迟或者禁用某些 已经定义的约束
第六章实现数据完整性 ☆使用约束实现数据完整性 创建主建约束 、使用企业管理器创建 1)打开企业管理器,展开控制台目录,依次展开服务器组、服务 器、数据库节点,选择表对象,在右边详细窗格中选择要创建 约束的表,启动表设计器。 2)在表设计器中,选择需要设为主键的字段,如果需要选择多个 字段时,可以按住Ctr键,同时用鼠标单击每个要选择的字段 3)选好字段后,右击选择的某个字段,从弹出的快捷菜单中选择 设置主键”命令 4)执行命令后,在作为主键的字段前有一个钥匙样图标。也可以 在选择好字段后,单击工具栏中的“钥匙”工具按钮,设置主
第六章 实现数据完整性 ❖ 使用约束实现数据完整性 创建主建约束 1、使用企业管理器创建 1)打开企业管理器,展开控制台目录,依次展开服务器组、服务 器、数据库节点,选择表对象,在右边详细窗格中选择要创建 约束的表,启动表设计器。 2)在表设计器中,选择需要设为主键的字段,如果需要选择多个 字段时,可以按住Ctrl键,同时用鼠标单击每个要选择的字段 。 3)选好字段后,右击选择的某个字段,从弹出的快捷菜单中选择 “ 设置主键”命令 4)执行命令后,在作为主键的字段前有一个钥匙样图标。也可以 在选择好字段后,单击工具栏中的“钥匙”工具按钮,设置主 键 5)设置主键完成
第六章实现数据完整性 ☆使用约束实现数据完整性 创建主建约束 使用查询分析器创建主键 语法: CREATE TABLE TABLE NAME CLOUMN NAME DATATYPE 定义列级主键约束 ICONSTRAINT CONSTRAINT NAME PRIMARY KEYI L CONSTRAINT CONSTRAINT NAME PRIMARY KEY(COLUMN NAEMI. NDI 定义表级主键约束
第六章 实现数据完整性 ❖ 使用约束实现数据完整性 创建主建约束 2、使用查询分析器创建主键 语法: CREATE TABLE TABLE_NAME ( CLOUMN_NAME DATATYPE [CONSTRAINT CONSTRAINT_NAME PRIMARY KEY] [,…N] [,CONSTRAINT CONSTRAINT_NAME PRIMARY KEY(COLUMN_NAEM[,…N])] ) 定义列级主键约束 定义表级主键约束
第六章实现数据完整性 ☆使用约束实现数据完整性 例: CREATE TABLE S B 学号CHAR(5), 书号CHAR(5), 借阅时间 DATATIME, 归还时间 DATATIME, CONSTRAINT P Y PRIMARY KEY(学号,书号) 此例题就是建立了一个表级主键 在 student库中,建立一个民族表(民族代码,民族名称),将民族代码指定为主键。 CREATE TABLE民族 民族代码char(2) CONSTRAINT pk mzdm PRIMARY KEY, 民族名称 varchar(30) NOT NULL GO 此例题就是建立了一个列级主键
第六章 实现数据完整性 ❖ 使用约束实现数据完整性 例: CREATE TABLE S_B (学号 CHAR(5), 书号 CHAR(5), 借阅时间 DATATIME, 归还时间 DATATIME, CONSTRAINT P_Y PRIMARY KEY (学号,书号)) 此例题就是建立了一个表级主键。 在student库中,建立一个民族表(民族代码,民族名称),将民族代码指定为主键。 CREATE TABLE 民族 ( 民族代码 char(2) CONSTRAINT pk_mzdm PRIMARY KEY, 民族名称 varchar(30) NOT NULL ) GO 此例题就是建立了一个列级主键