3.定义完整性约束 还可以对表进一步定义,如主键、空值的设定。在 SQL SERVER中可以定义五种类型的完整性约束,下面 分别加以介绍: ①NULL/ NOT NULL ② UNIQUE约東 UNIQUE约束用于指明基本表在某一列或多个列的组合 上的取值必须唯一。 ③ PRIMARY KEY约束 PRIMARY KEY约束用于定义基本表的主键,起唯一标 识作用,其值不能为NULL,也不能重复,以此来保证 实体的完整性。 100
11 3. 定义完整性约束 ➢ 还可以对表进一步定义,如主键、空值的设定。在 SQL SERVER中可以定义五种类型的完整性约束,下面 分别加以介绍: ① NULL/NOT NULL ② UNIQUE约束 UNIQUE约束用于指明基本表在某一列或多个列的组合 上的取值必须唯一。 ③ PRIMARY KEY约束 PRIMARY KEY约束用于定义基本表的主键,起唯一标 识作用,其值不能为NULL,也不能重复,以此来保证 实体的完整性
④ FOREIGN KEY约東 FOREIGN KEY约束指定某一个列或一组列作为外部 键,其中,包含外部键的表称为从表,包含外部键所引 用的主键或唯一键的表称主表 ⑤ CHECK约東 CHECK约束用来检查字段值所允许的范围,以此来保 证域的完整性。 120
12 ④ FOREIGN KEY约束 FOREIGN KEY约束指定某一个列或一组列作为外部 键,其中,包含外部键的表称为从表,包含外部键所引 用的主键或唯一键的表称主表。 ⑤ CHECK约束 CHECK约束用来检查字段值所允许的范围,以此来保 证域的完整性
例4.2建立包含完整性定义的学生表 CREATE TABLE S (SNO CHAR (6) CONSTRAINT S PRIM PRIMARY KEY SN CHAR(8) CONSTRAINT SN CONS NOT NULL AGE NUMERIC (2) CONSTRAINT AGE CONS NOT NULL CONSTRAINT AGE CHK CHECK (AGE BETWEEN 15 AND 50), SEX CHAR(2) DEFAULT’男 DEPT CHAR(10) CONSTRAINT DEPT CONS NOT NULL) 13 U∩
13 例4.2 建立包含完整性定义的学生表 CREATE TABLE S (SNO CHAR(6) CONSTRAINT S_PRIM PRIMARY KEY, SN CHAR(8) CONSTRAINT SN_CONS NOT NULL, AGE NUMERIC(2) CONSTRAINT AGE_CONS NOT NULL CONSTRAINT AGE_CHK CHECK (AGE BETWEEN 15 AND 50),SEX CHAR(2) DEFAULT '男', DEPT CHAR(10) CONSTRAINT DEPT_CONS NOT NULL);
4.2.2.2修改基本表 1.为已有的基本增加新列 用于增加新列和完整性约束,定义方式同 CREATE TABLE语句中的定义方式相同,其语法格式为: ALTER TABLE表名ADD<列定义〉<完整性约束定义 例4.3在S表中增加一个班号列和住址列 ALTER TABLE S ADD CLASS NO CHAR (6) ADDRESS CHAR (40) 注意:使用此方式增加的新列自动填充NUL值,所以 不能为增加的新列指定 NOT NULL约束。 14U∩
14 4.2.2.2 修改基本表 1.为已有的基本增加新列 用于增加新列和完整性约束,定义方式同CREATE TABLE语句中的定义方式相同,其语法格式为: ALTER TABLE 表名 ADD <列定义> |<完整性约束定义> ➢ 例4.3 在S表中增加一个班号列和住址列。 ALTER TABLE S ADD CLASS_NO CHAR(6), ADDRESS CHAR(40) ➢ 注意:使用此方式增加的新列自动填充NULL值,所以 不能为增加的新列指定NOT NULL约束
2.从基本表中删除某些属性(列) 其语法格式为: ALTER TABLE表名DROP列名 例4.4删除S表中的AGE列 ALTER TABLE S DROP AGE 130
15 2. 从基本表中删除某些属性(列) 其语法格式为: ALTER TABLE 表名 DROP 列名 例4.4 删除S表中的AGE列 ALTER TABLE S DROP AGE