表中的约束

约束用于限制加入表的数据的类型。

我们将主要探讨以下几种约束:

  • NOT NULL               --不允许为空
  • UNIQUE                   --约束唯一标识数据库表中的每条记录,可定义多个
  • PRIMARY KEY          --PRIMARY KEY 拥有自动定义的 UNIQUE 约束,每个表只能有一个 PRIMARY KEY 约束
  • FOREIGN KEY          --一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
  • CHECK                     --CHECK 约束用于限制列中的值的范围
  • DEFAULT                  --默认值
 1 --创建部门档案表
 2 create table bd_dept
 3 ( pk_dept_id int identity(1,1) primary key,
 4   dept_code varchar(30) not null,
 5   dept_name nvarchar(50) not null,
 6   dept_manager_id int,
 7   foreign key (dept_manager_id) references bd_psndoc(pk_psndoc),
 8   ts date default getdate()
 9 )
10 
11 --创建人员档案表
12 create table bd_psndoc
13 ( pk_psndoc int identity(1,1) primary key, 
14   bd_code varchar(30) not null unique,
15   bd_name varchar(30) not null,
16   bd_sex char(2),
17   constraint ck_bd_sex check(bd_sex=1 or bd_sex=2),
18   pk_dept_id int not null,
19   foreign key (pk_dept_id) references bd_dept(pk_dept_id),
20   ts date default getdate()
21 )