以下为《实验2 设置约束(主键和外键)1》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
实验二 设置约束
一、实验目的
1.理解数据完整性、主键、实体完整性、外键、参照完整性;
2.掌握设置约束对应的SQL语句;
3.能根据实际需求灵活设置表约束。
二、相关知识与技能
1.添加约束
包括设置主键约束、检查约束、外键约束、唯一约束和默认值。
ALTER TABLE 表名
ADD CONSTRAINT 约束名 具体的约束
主键约束:PRIMARY KEY(主键字段名)
检查约束:CHECK(检查表达式)
外键约束:FOREIGN KEY(外键字段名) REFERENCES 主表名(被参照字段名)
唯一约束:UNIQUE(唯一约束字段名)
默认值:DEFAULT (默认值) FOR (设置默认值的字段名)
2.删除约束
ALTER TABLE 表名
DROP CONSTRAINT 约束名
【例1】设置表Class中的ClassNo字段为主键。
ALTER TABLE Class
ADD CONSTRAINT PK_Class PRIMARY KEY(ClassNo)
【例2】给Student表中的Sex字段设置检查约束,在输入值时只允许输入“男”或“女”,约束名为CK_Sex。
ALTER TABLE Student
ADD CONSTRAINT CK_Sex CHECK(Sex='男' or Sex='女')
【例3】给Student表的ClassNo字段设置外键约束,使该字段的值参照Class表的主键字段ClassNo,外键约束名为FK_Student_Class。
ALTER TABLE Student
ADD CONSTRAINT FK_Student_Class
FOREIGN KEY(ClassNo) REFERENCES Class(ClassNo)
【例4】给Class表的ClassName字段设置唯一约束,约束名为UQ_ClassName。
ALTER TABLE Class
ADD CONSTRAINT UQ_ClassName UNIQUE(ClassName)
【例5】设置Class表中的字段College的默认值为“信息***”。
ALTER TABLE Class
ADD CONSTRAINT DF_College DEFAULT ('信息***') FOR College
3.使用CREATE TABLE语句创建表同时设置约束
创建表一般先创建简单表结构,然后再设置约束。也可以在创建表同时设置约束,语法如下:
CREATE TABLE 表名
(列名1 数据类型 列属性 列级约束,
列名2 数据类型 列属性 列级约束,
……,
列名n 数据类型 列属性 列级约束,
列级约束或表级约束
)
在表的约束的定义中,有列级约束和表级约束。
列级约束只跟该表中一个字段有关,可以在相关字段中直接定义,也可以单独定义。
表级约束跟该表中多个字段有关,只能单独定义。
【注意】约束名可以省略,如果省略,约束名采用系统默认生成的。
【例1】创建Class表。
--创建表Class(ClassNo,ClassName,College,Specialty,EnterYear)
USE School
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='Class' and TYPE='U')
DROP TABLE Class 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 o) REFERENCES Course(Sno)
【练习15】设置入住表Live的字段Sno参照Student表的主键Sno。
ALTER TABLE Live
ADD CONSTRAINT PK_Live_Student
FOREIGN KEY(Sno) REFERENCES Student(Sno)
【练习16】设置入住表Live的字段DormNo参照Dorm表的主键DormNo。
ALTER TABLE Live
ADD CONSTRAINT PK_Live_Dorm
FOREIGN KEY(DormNo) REFERENCES Dorm(DormNo)
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《实验2 设置约束(主键和外键)1》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。