一、基于上次创建的教学管理JXGL数据库,实现约束的创建、查看和删除操作。
(1) 建立一个CITY表(CityNo,CityName),将CityNo指定为主键。
用SQL语句创建主键,可使用CREATE TABLE命令完成:
CREATE TABLE CITY(
CityNo char(2) constraint c1 primary key,
CityName varchar(30) not null);
若创建表时没有设置主键,也可以使用ALTER TABLE命令为已存在的表创建主键约束:
alter table CITY add constraint c1 primary key(CityNo)
其中c1为主键约束名称。
(2) 为JXGL数据库中的CITY表,为其“CityName”创建惟一约束。
为已存在的表创建惟一约束,SQL语句如下:
alter table CITY add constraint c2 unique(CityName)
(3) 为JXGL数据库中的SC表,为其“GRADE”创建检查约束。
为已存在的表创建检查约束,SQL语句如下:
alter table SC add constraint c3 check(Grade>='0' AND Grade<='100')
(4) 为JXGL数据库中的STUDENT表,为其“Ssex”创建默认约束’M’。
为已存在的表创建默认约束,SQL语句如下:
alter table STUDENT add constraint c4 default 'M'for Ssex
(5) 为JXGL数据库中的SC表,为其“Sno”创建外键约束。
为已存在的表创建外键约束,SQL语句如下:
alter table SC add constraint c5 foreign key(Sno) references STUDENT(Sno)
(6) 查看约束的定义
在SSMSE中,选择要查看约束的表,打开表设计器,单击鼠标右键,分别选择“索引/键”、“关系”、“CHECK”命令,可以查看各类约束。
select name,type_desc
from sys.objects
where parent_object_id=object_id('SC')
查看约束的表:
select name,type_desc
from sys.objects
where parent_object_id=object_id('SC') and type_desc='FOREIGN_KEY_CONSTRAINT'
查看各类约束:
(7) 删除约束
在SSMSE中,可以删除主键、去掉默认值。单击鼠标右键,分别选择“索引/键”、“关系”、“CHECK”命令,可以删除各类约束。
alter table SC
drop constraint c3
删除约束:
查看默认值: