一、向MyServer数据库里的5张表添加约束:
1、向部门表Department添加约束
字段名 | 数据类型 | 表关系 | 备注 |
D_Id | INT | 主键 自动增长 NOT NULL | 部门ID |
D_Name | Varchar(10) | NOT NULL | 部门名称 |
USE MyServer
GO
ALTER TABLE Department ADD
CONSTRAINT PK_D_Id PRIMARY KEY(D_Id) --设置“部门ID”为主键
GO
2、向产品类别表ProductSort添加约束
字段名 | 数据类型 | 表关系 | 备注 |
P_Id | INT | 主键 自动增长 NOT NULL | 产品类别ID |
P_SortName | Nvarchar(20) | NOT NULL | 产品类别名称 |
USE MyServer
GO
ALTER TABLE ProductSort ADD
CONSTRAINT PK_P_Id PRIMARY KEY(P_Id) --设置“产品类别ID”为主键
GO
3、向员工表Employee添加约束
字段名 | 数据类型 | 表关系 | 备注 |
E_Id | Int | 主键,自动增长 | 员工ID |
E_Name | Varchar(10) | NOT NULL | 姓名 |
E_IdCord | Nvarchar(18) | check约束,唯一约束 | 身份证 |
E_Date | DateTime | NOT NULL | 入职日期 |
E_Phone | Nvarchar(11) | NOT NULL | 电话 |
E_Adre | Nvarchar(100) | NOT NULL | 地址 |
E_Nat | Varchar(10) | 默认约束“中国” | 国籍 |
E_Lea | Varchar(10) | NULL | 上司 |
D_Id | Int | 外键 | 部门ID |
USE MyServer
GO
ALTER TABLE Employee ADD
CONSTRAINT PK_E_Id PRIMARY KEY(E_Id), --设置“员工ID”为主键
CONSTRAINT CH_E_IdCord CHECK(LEN(E_IdCord)=18),--设置检查约束身份证号为18位
CONSTRAINT QU_E_IdCord UNIQUE(E_IdCord), --设置身份证号唯一约束
CONSTRAINT DF_E_Nat DEFAULT('中国') FOR E_Nat, --设置默认约束为“中国”
CONSTRAINT FK_D_Id FOREIGN KEY(D_Id) References Department(D_Id)
--设置部门ID引用部门表Department的D_Id列,即部门ID
GO
4、向产品明细表ProductList添加约束
字段名 | 数据类型 | 表关系 | 备注 |
PL_Id | INT | 主键 自动增长 NOT NULL | 产品ID |
PL_Name | Nvarchar(50) | NOT NULL | 产品名称 |
PL_Amount | INT | >=0,NOT NULL | 数量 |
PL_InPrice | Money | NOT NULL | 成本价 |
PL_OutPrice | Money | NOT NULL | 销售价 |
P_Id | INT | 外键,NOT NULL | 产品类别ID |
USE MyServer
GO
ALTER TABLE ProductList ADD
CONSTRAINT PK_PL_Id PRIMARY KEY(PL_Id),--设置产品ID为主键
CONSTRAINT CK_PL_Amount CHECK(PL_Amount>=0),--检查约束,数量不能为负
CONSTRAINT FK_P_Id FOREIGN KEY(P_Id) REFERENCES ProductSort(P_Id)
--外键约束,引用产品类别表的产品类别ID
GO
5、向销售表SalesList添加约束
字段名 | 数据类型 | 表关系 | 备注 |
S_Id | INT | 主键,自动增长 NOT NULL | 销售ID |
PL_Id | INT | 外键,NOT NULL | 产品ID |
E_Id | INT | 外键,NOT NULL | 员工ID |
S_Amount | INT | >0,NOT NULL | 销售量 |
USE MyServer
GO
ALTER TABLE SalesList ADD
CONSTRAINT PK_S_Id PRIMARY KEY(S_Id),--设置销售ID为主键
CONSTRAINT FK_PL_Id FOREIGN KEY(PL_Id) REFERENCES ProductList(PL_Id),
--外键约束,引用产品明细表的产品ID
CONSTRAINT FK_E_Id FOREIGN KEY(E_Id) REFERENCES Employee(E_Id),
--外键约束,引用员工表的员工ID
CONSTRAINT CK_S_Amount CHECK(S_Amount>0)--检查约束,数量必须大于0
GO
二、添加表约束顺序:先添加主表,再添加引用表。