实验七 数据完整性

更新时间:2023-09-27 08:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验七 数据完整性

一、实验目的

1.掌握约束的定义及其删除方法。

2.掌握规则的创建、使用和删除方法。 3.掌握默认对象的创建、使用和删除方法。

二、实验内容

1. 设置主键约束

(1) 使用企业管理器设置主键约束

图5.1 设置表的主键

(2)使用SQL语句删除主键约束

通过sp_help 表名 可查询到第(1)步所设置的主键约束名如为?PK_student?。然后使用SQL语句删除该主键约束: ALTER TABLE STUDENT DROP CONSTRAINT PK_student

(3)使用SQL语句设置主键约束 ALTER TABLE student

ADD CONSTRAINT myconstraint -- myconstraint为新定义的主键约束名

PRIMARY KEY (sno)

2.设置惟一约束

(1)使用企业管理器设置惟一约束

①在企业管理器中,右击需要设置唯一约束的表(如为?student?表),在弹出的菜单中选择?设计表?,打开表设计器;

②在表设计器中,右击需要设置为唯一约束的字段(本例为?sname?),选择?索引/键?,也可以直接单击工具栏中的?管理索引/键?按钮进入?索引/键?属性对话框;

③在弹出的?索引/键?属性对话框中,选择?索引/键?选项卡,单击?新建?按钮,然后在?索引名?文本框中输入唯一约束的名称,再从列名选项下拉框中选择字段名称(本例为?sname?),最后选择?创建UNIQUE?复选框和?约束?单选框,如图5.3;

④单击?关闭?按钮,关闭对话框,完成唯一约束的创建。这个时候,不只是该表的主键必须为唯一,并且被设置成为唯一约束的字段同样必须为唯一。

图5.3 为表student的sname列建立惟一约束

(2)使用SQL语句设置惟一约束 ALTER TABLE student ADD

CONSTRAINT uk_sname -- uk_sname为新定义的惟一约束名 UNIQUE (sname)

3.设置外键约束

(1)使用企业管理器设置外键约束

①打开企业管理器,找到需要创建外键约束的表,右击该表,选择?设计表?,如为?student_course?表,打开表设计器;

②选择需要创建外键约束的字段,单击工具栏中的管理关系按钮,或右击该字段,在快捷菜单中选择?关系?;

图5.5 设置外键约束

③在关系选项卡中,单击?新建?按钮,然后在主键表的下拉框中选择主键表,这里为?student?表,在外键表的下拉框中选择外键表,这里为

?student_course?表,分别在主键表和外键表的下面,选择sno字段,如图5.5;

④单击关闭按钮。

(2)使用SQL语句设置外键约束

ALTER TABLE student_course

ADD CONTRAINT fk_constraint --fk_constraint为新定义的外键约束名

FOREIGN KEY (SNO)

REFERENCES STUDENT(SNO)

6. 设置检查约束

(1) 使用企业管理器设置检查(check)约束

①进入企业管理器控制台,找到需要创建检查约束的表,右击该表,选择?设计表?,进入表设计器;

②在表设计器中右击需要创建检查约束的字段,在弹出的菜单中选择?CHECK 约束?,如:score>=0 AND score<=100。如图5.7;

图5.7 设置检查约束

(2)使用SQL语句设置检查约束

ALTER TABLE student_course

ADD CONSTRAINT CK_course -- CK_course为新定义的检查约束名

CHECK (course BETWEEN 0 and 100)

7. 设置默认约束

(1) 使用企业管理器创建默认约束

①在企业管理器中,找到需要创建默认约束的表,选择右击,在弹出的菜单中选择?设计表?,进入表设计器;

②选择需要创建默认约束的字段,然后在下方的?列?选项卡中找到?默认值?文本框,在其中输入默认值,如选择sex字段,在默认值中输入?男?,如图5.9;

③关闭表设计器。

图5.9 “默认属性”对话框

(2) 使用SQL语句设置默认约束

将学生表student的入校时间entime设置为当前日期的默认值:

ALTER TABLE table_name

ADD CONSTRAINT DF_entime -- DF_entime为新定义的默认约束名 DEFAULT getdate() FOR entime

(3) 使用SQL语句删除默认约束

通过sp_help student可查询到第(1)步所设置的主键约束名为?PK_student?。然后使用SQL语句删除该主键约束: ALTER TABLE STUDENT DROP CONSTRAINT PK_student

8. 使用触发器实现数据的完整性(选作实验) (1) 使用企业管理器创建触发器

以创建一个名为studentdelete的触发器为例,其作用是当删除student表中的记录时,同时也删除student_course表中与student表相关的记录。

本文来源:https://www.bwwdw.com/article/dm4d.html

Top