实验2 设置约束(主键和外键)1

本文由用户“369682578”分享发布 更新时间:2021-12-13 19:05:46 举报文档

以下为《实验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》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览