5.1数据完整性 第 5.1.4用户定义完整性 用户可以根据需要,可以在 SQL Server中定义不属 于上述标准类别的特定规则的用户完整性定义。所有 约 束的完整性类型都支持用户自定义完整性( CREATE 默犬 TABLE中的所有列级和表级约東、存储过程和触发 认器 和规则 5.1.5数据完整性的实现方法 在 SQL Server中,有两种方式可以实现数据完整性 声明型数据完整性; 过程型数据完整性。 ○
5.1 数据完整性 5.1.4 用户定义完整性 用户可以根据需要,可以在SQL Server中定义不属 于上述标准类别的特定规则的用户完整性定义。所有 的完整性类型都支持用户自定义完整性(CREATE TABLE中的所有列级和表级约束、存储过程和触发 器)。 5.1.5 数据完整性的实现方法 在SQL Server中,有两种方式可以实现数据完整性: l 声明型数据完整性; l 过程型数据完整性。 第 5 章 约 束 、 默 认 和 规 则 < >
5.2约束 第 建立和使用约束的目的在于保证数据的完 5整性,设计表时需要定义列的有效值并通过 的列中数据、行中数据及表间数据决定如何强制 保证数据的完整性,约束定义关于列中允许值 默的规则,是强制完整性的首选方法。 规 约束是独立于表结构的,它作为数据库定 则义的一部分在创建表时声明,可以通过企业管 理器或 ALTER TABLE语句添加或删除。当表 被删除时,表所附带的所有约束同时被删除
5.2 约束 建立和使用约束的目的在于保证数据的完 整性,设计表时需要定义列的有效值并通过 列中数据、行中数据及表间数据决定如何强制 保证数据的完整性,约束定义关于列中允许值 的规则,是强制完整性的首选方法。 约束是独立于表结构的,它作为数据库定 义的一部分在创建表时声明,可以通过企业管 理器或ALTER TABLE语句添加或删除。当表 被删除时,表所附带的所有约束同时被删除。 第 5 章 约 束 、 默 认 和 规 则 < >
5.2约束 则5.2.1约束的类型 约·域完整性( NOT NULL、 DEFAULT CHECK 默犬 ·实体完整性( PRIMARY KEY、 UNIQUE) 和 圳·参考完整性( FOREIGN KEY ○
5.2 约束 5.2.1 约束的类型 • 域完整性 (NOT NULL 、 DEFAULT 、 CHECK ) • 实体完整性(PRIMARY KEY、UNIQUE ) • 参考完整性(FOREIGN KEY ) 第 5 章 约 束 、 默 认 和 规 则 < >
5.2约束 522 NOT NULL约東 第5章约束 NOT NULL约束又称非空约束,表示使用该约束的列不允许 使用空值。若该列是主键,则系统强制主键列为非空约束,而 其它列的非空约束必须根据需要加以设置 非空约束可以在 CREATE TABLE建表时实现,在表创建完成后 也可以使用修改列属性的TSQL语句完成 默犬 ALTER TABLE table name 认 和 ALTER COLUMN column name new data type I NULL 规| NOT NULL] 则 【例5-1】将学生信息表( Student)中的学生姓名列强制 非空约束 可以通过修改列属性的方法完成: ALTER TABLE Student ALTER COLUMN StudentName VARCHAR(10) NOT NULL ○
5.2 约束 5.2.2 NOT NULL约束 NOT NULL约束又称非空约束,表示使用该约束的列不允许 使用空值。若该列是主键,则系统强制主键列为非空约束,而 其它列的非空约束必须根据需要加以设置。 非空约束可以在CREATE TABLE建表时实现,在表创建完成后, 也可以使用修改列属性的T-SQL语句完成: ALTER TABLE table_name ALTER COLUMN column_name new_data_type [ NULL | NOT NULL ] 【例5-1】 将学生信息表(Student)中的学生姓名列强制 非空约束。 可以通过修改列属性的方法完成: ALTER TABLE Student ALTER COLUMN StudentName VARCHAR(10) NOT NULL 第 5 章 约 束 、 默 认 和 规 则 < >
5.2约束 5.2.3 DEFAULT约束 第 当表中的某列必须有值,并且当使用 INSERT命令向数据表 章插入记录数据时,若用户没有明确指定该列的值,该列也需要 约有一个明确值的情况下,就需要使用 DEFAULT约束 束 使用了 DEFAULT约束的列, SQL Server将根据用户的插入 默数据,自动维护域完整性:当用户插入时该列有指定值,则该 认列使用该值插入,否则使用 DEFAULT约束中指定的默认值。 和规则 DEFAULT约束可以使用以下方法实现: 作为表定义的一部分在创建表时创建。 添加到现有表中; 删除现有的 DEFAULT定义。 ALTER TABLE Student/添加 DEFAULT约束 ADD CONSTRAINT Default Sex DEFAULT ' FOR Sex
5.2 约束 5.2.3 DEFAULT约束 当表中的某列必须有值,并且当使用INSERT命令向数据表 插入记录数据时,若用户没有明确指定该列的值,该列也需要 有一个明确值的情况下,就需要使用DEFAULT约束。 使用了DEFAULT约束的列,SQL Server将根据用户的插入 数据,自动维护域完整性:当用户插入时该列有指定值,则该 列使用该值插入,否则使用DEFAULT约束中指定的默认值。 DEFAULT约束可以使用以下方法实现: l 作为表定义的一部分在创建表时创建。 l 添加到现有表中; l 删除现有的 DEFAULT 定义。 ALTER TABLE Student /* 添加DEFAULT约束 */ ADD CONSTRAINT Default_Sex DEFAULT '男' FOR Sex 第 5 章 约 束 、 默 认 和 规 则 < >