数据库系统原理 数据完整性 1.docx
《数据库系统原理 数据完整性 1.docx》由会员分享,可在线阅读,更多相关《数据库系统原理 数据完整性 1.docx(8页珍藏版)》请在冰豆网上搜索。
![数据库系统原理 数据完整性 1.docx](https://file1.bdocx.com/fileroot1/2022-12/7/26a271c7-7df9-4852-ba13-6b7a42272bce/26a271c7-7df9-4852-ba13-6b7a42272bce1.gif)
数据库系统原理数据完整性1
实验报告
课程名称:
数据库系统原理
实验名称数据完整性
院(系):
管理学院
专业班级:
姓名:
学号:
指导教师:
张新生
2011年6月20日
一、目的与要求
1.掌握约束的定义及其删除方法。
2.掌握规则的创建、使用和删除方法。
3.掌握默认对象的创建、使用和删除方法。
4.掌握使用触发器实现数据完整性的方法。
二、实验准备
1.了解数据完整性概念。
2.了解约束的类型。
3.了解创建约束和删除约束的语法。
4.了解创建规则和删除规则的语法。
5.了解绑定规则和解绑规则的语法。
6.了解创建默认对象和删除默认对象的语法。
7.了解绑定默认对象和解绑默认对象的语法。
8.了解触发器的一般概念。
三、实验内容
1.建表时创建约束,先创建数据库STUDENT,然后在STUDENT数据库中用CREATETABLE语句创建表STU1,表结构如下:
列名
数据类型
长度
学号
char
12
姓名
char
8
性别
char
2
出生日期
datetime
家庭住址
char
30
备注
Text
在建表的同时,创建所需约束。
约束要求如下:
(1)将学号设置为主键,主键名为pk_xuehao。
ALTERTABLESTU1
ADDCONSTRAINTPK_student
PRIMARYKEY(学号)
图5.1查询分析器主键设置
图5.2设置学号为主键
(2)为姓名添加惟一约束,约束名为uk_xymy。
ALTERTABLESTU1
ADD
CONSTRAINTuk_xymy
UNIQUE(姓名)
图5.3查询分析器为表STU1的‘姓名’列建立惟一约束在查询分析器中检验上面所设置的惟一约束,可依次执行下列两条SQL语句,观察结果。
INSERTINTOSTU1(学号,姓名)VALUES('090450108','高庆飞')
Go
INSERTINTOSTU1(学号,姓名)VALUES('090450108','高庆飞')
图5.4惟一约束检验
(3)为性别添加默认约束,默认名称df_xybx,其值为“男”。
ALTERTABLESTU1
ADDCONSTRAINTdf_xybx
--df_xybx为新定义的默认约束名
DEFAULT'男'FOR性别
图5.5“默认属性”对话框
(4)为出生日期添加CHECK约束,约束名为ck_csrq,其检查条件为(出生日期>'01/01/1986')。
ALTERTABLESTU1
ADDCONSTRAINTck_csrq--ck_csrq为新定义的检查约束名
CHECK(出生日期>'01/01/1986')
图5.6设置检查约束
图5.6‘检查约束’对话框/
在查询分析器中检验上面所设置的外键约束,可执行下列SQL语句,观察结果。
INSERTINTOSTU1(学号,姓名,出生日期)VALUES('090450107','老大','1985/10/02')
图5.7检验检查约束
2.在查询分析器中删除上例所建约束。
打开企业管理器——STUDENT-——STU1——表设计后按照实验报告一步一进行逐一删除,最后保存就OK了。
很简单。
3.为YGKQ数据库中的JBQK表添加外键约束,要求如下:
将缺勤类型设置为外键,其引用表为QQLX,外键名称为fk_qqlx。
ALTERTABLEJBQK
ADDCONTRAINTfk_qqlx--fk_qqlx为新定义的外键约束名
FOREIGNKEY(缺勤类别)
REFERENCESQQLX(缺勤类别)
在查询分析器中检验上面所设置的外键约束,可执行下列SQL语句,观察结果。
INSERTINTOJBQK(姓名,职工号,缺勤类别)VALUES('马强','008','5')
图5.8约束检验外键
4.创建一个qqlx_rule规则,将其绑定到JBQK表的缺勤类型字段上,保证输入的缺勤类型只能是“1”、“2”、“3”或“4”。
①创建规则
CREATERULEqqlx_ruleAS@xbin('1','2','3','4')
②绑定规则
sp_bindrule'qqlx_rule','JBQK.缺勤类型'
5.删除qqlx_rule规则(注意:
规则已绑定到JBQK表的缺勤类型字段上)。
③解除规则的绑定
sp_unbindrule'qqlx_rule'
④删除规则
DROPRULEqqlx_rule
6.创建一个qqly_def默认对象,将其绑定到JBQK表的缺勤理由字段上,使其默认值为“事假”。
①创建默认值
RECATEDEFAULTqqly_def--默认对象名为qqly_def
AS'事假'
②绑定默认值
若将默认对象qqly_def绑定到数据表JBQK的'缺勤理由'字段上,语句如下:
sp_bindefault'qqly_def','缺勤理由'
7.删除默认对象qqly_def(注意:
默认对象已绑定到JBQK表的缺勤理由字段上)
③解除默认值的绑定
sp_unbindefault'BQK.缺勤理由'
④删除默认值
DROPDEFAULTqqly_def
注意:
在删除默认对象前,必须先解除默认值的绑定。
四、仪器名称及主要规格(包括量程、分度值、精度等)
五、实验结果及分析
无论是用企业管理器还是用查询分析器进行数据创建、删除、插入、修改等操作,都可以达到目的,只是对于用户方法不同。
在用户表JBQK中都可以看出来,结果正确。
六、结论
在数据完整性中用查询分析器进行数据约束操作,不仅可以避免输入数据时对事先约束过的数据的错误输入,还可以方便简洁快速地达到目的,只不过查询分析器中使用SQL语句时要特别注意标点符号的输入,再有就是一定要熟练掌握要查询的东西对应使用的SQL语句。
七、教师评语和成绩
教师签名:
年月日: