实验八 使用规则实现数据完整性
更新时间:2023-11-25 19:24:01 阅读量: 教育文库 文档下载
- 实验八中推荐度:
- 相关推荐
思考题:
1. 在创建关系表时,是如何实现数据完整性的?
实体完整性:主键 参照完整性:外键
用户自定义:default约束,SQL约束,unique约束 2. 这些约束是如何存储的?
存储在表里面
3. 能否使约束不随表的删除而删除?能否将相同的约束应用于多个表的多列上?
建立规则就不会随表的删除而删除,可以
实验八 使用规则实现数据完整性
一、知识准备
1.规则的概述 (1)规则的含义
规则是绑定到列上的数据库对象,用来指定列可以接受哪些数据值。 规则是实现域完整性的方法之一。 (2)规则与CHECK约束的区别
CHECK约束是用CREATE TABLE语句在建表时指定的,而规则是要用CREATE RULE语句创建,且可作为单独的数据库对象来使用。
在一列上只能使用一个规则,但可以使用多个CHECK约束。
一个规则可以应用于多个列,而CHECK约束只能应用于它所定义的列。 2.创建规则
CREATE RULE 规则名 AS 条件表达式 其中:“条件表达式”用于指定列值的格式或取值范围。 书写条件表达式的注意事项:
①不能引用列名或其它数据库对象名。
②条件表达式中包含一个以@开头的局部变量,该变量代表在修改该列的记录时用户输入的数值。 3.绑定规则
规则创建好后,必须绑定到列上才能生效。
用系统存储过程实现绑定:exec sp_bindrule ‘规则名’,’表名.列名’ 说明:
①如果列上已经绑定了规则,当再次向它绑定规则时,旧规则将被新规则覆盖。
②绑定规则后,当有不符合规则的数据输入时,系统会给出错误信息,拒绝接受该值。 例:在xscj库中,创建一个名为“ro_学时”的规则,以限制学时数至少在20以上,并将该规则绑定到KC表的“学时”列上。
Use xscj go
Create rule ro_学时 as @xueshi>=20 Go
Sp_bindrule ‘ro_学时’,’kc.学时’ 4.解除绑定的规则
1
用系统存储过程解除绑定
Exec sp_unbindrule ‘表名.列名’’ 例:解除绑定在KC表列上的规则
Exec sp_unbindrule ‘kc.学时’ 5.删除规则
语法格式: drop rule 规则名[,?n]
删除一个柜子前,必须先将规则从它所绑定的列上解除,否则,会显示错误信息。
二、实验准备
在xscj数据库中创建如下三张表:
xsqk表:
kc表:
xs_kc表:
三、实验内容
1.创建一个关于开课学期的规则,开课学期取值必须是[1-8],并绑定到列,实现数据的完整性。(输入数据检查规则实现)
2
2.创建一个关于性别的规则,约束其值只能是“男”或“女”,并绑定到列,实现数据的完整性。(输入数据检查规则实现)
3.创建一个关于学分的规则,要求“学分”列的值只能是1~6之间的数字,并绑定到列,实现数据的完整性。(输入数据检查规则实现)
3
正在阅读:
实验八 使用规则实现数据完整性11-25
《魏玛共和国时期的德国》小记08-20
我来到了假话国作文1000字07-14
游三国城作文300字06-30
提高水平井有效储层的钻遇率11-27
科学研究与学科建设关系浅析10-22
国行Xbox One首发十款游戏11-23
开无犯罪证明委托书【优秀7篇】03-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 完整性
- 规则
- 实验
- 实现
- 使用
- 数据