实验四数据控制(完整性部分)

实验四数据控制(完整性部分)

ID:38697846

大小:46.00 KB

页数:5页

时间:2019-06-17

实验四数据控制(完整性部分)_第1页
实验四数据控制(完整性部分)_第2页
实验四数据控制(完整性部分)_第3页
实验四数据控制(完整性部分)_第4页
实验四数据控制(完整性部分)_第5页
资源描述:

《实验四数据控制(完整性部分)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、题目:实验四数据控制(完整性部分)姓名Vivian日期2005-1-1实验内容及完成情况:实验环境介绍:硬件:CPU:P3800硬盘:30G内存:512M系统:Windows2000AdvancedServer在本实验中,我们将对完整性进行讨论,包括3类完整性、CHECK短语、CONSTRAIN子句、触发器。因为完整性约束绝大部分是在定义表结构时进行的,因此可能需要多次定义表,如果表名发生重复的话,可以先将旧表删除后再建立。1.实体完整性【例4】定义表的主码。关系模型的实体完整性在CREATETABLE中用PRIMARY

2、KEY定义。定义主码的方法分为定义为列级约束条件和定义为表级约束条件两种。[例4-1]定义表Student,并将其中的Sno属性定义为主码。CREATETABLESTUDENT(SNOCHAR(7)PRIMARYKEY,SNAMECHAR(8)NOTNULL,SSEXCHAR(2),SAGESMALLINT,SDEPTCHAR(20));或者:CREATETABLESTUDENT(SNOCHAR(7),SNAMECHAR(8),SSEXCHAR(2),SAGESMALLINT,SDEPTCHAR(20),PRIMARYK

3、EY(SNO));[例4-2]定义表SC,将其中的属性Sno,Cno定义为主码。对于多个属性构成的码,只能够将其定义为表级约束条件,而无法用列级约束条件来实现。CREATETABLESC(SNOCHAR(7)NOTNULL,CNOCHAR(4)NOTNULL,GRADESMALLINT,PRIMARYKEY(SNO,CNO));2.参照完整性。【例5】定义表的外码。关系模型的参照完整性是在CREATETABLE中用FOREIGNKEY语句来定义的,并用REFERENCES来指明外码参照的是哪些表的主码。定义表SC,其中S

4、no参照表Student的主码Sno,Cno参照表Course的主码Cno。CREATETABLESC(SNOCHAR(7)NOTNULL,CNOCHAR(4)NOTNULL,GRADESMALLINT,PRIMARYKEY(SNO,CNO),FOREIGNKEY(SNO)REFERENCESSTUDENT(SNO),FOREIGNKEY(CNO)REFERENCESCOURSE(CNO));3.用户定义完整性。【例6】用户定义的属性上的约束条件。[例6-1]列值非空。在定义SC表时,Sno、Cno和Grade属性都不允

5、许取空值。在不特别声明的情况下,非码属性的值是允许取空值的。CREATETABLESC(SNOCHAR(7)NOTNULL,/*列值非空的约束NOTNULL*/CNOCHAR(4)NOTNULL,GRADESMALLINTNOTNULL);[例6-2]列值唯一。建立部门表DEPT,要求部门名称Dname取值唯一,部门编号Deptno属性为主码。CREATETABLEDEPT(DEPTNONUMERIC(7)PRIMARYKEY,DNAMEVARCHAR(9)UNIQUE,/*UNIQUE约束要求Dname取值唯一*/LO

6、CATIONVARCHAR(10));[例6-3]CHECK短语指定列值应该满足的条件。定义表Student,属性Ssex的值只允许取“男”或“女”;定义表SC,属性Grade的值定义在0-100之间。CREATETABLESTUDENT(SNOCHAR(7)PRIMARYKEY,SNAMECHAR(8)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(‘男’,’女’)),/*CHECK语句约束条件*/SAGESMALLINT,SDEPTCHAR(20));CREATETABLESC(SNOCHAR(7)N

7、OTNULL,CNOCHAR(4)NOTNULL,GRADESMALLINTCHECK(GRADE>0ANDGRADE<100),/*CHECK语句约束条件*/PRIMARYKEY(SNO,CNO),FOREIGNKEY(SNO)REFERENCESSTUDENT(SNO),FOREIGNKEY(CNO)REFERENCESCOURSE(CNO));【例7】用户定义的元组上的约束条件。CHECK短语不光能够定义属性列上的约束条件,还允许用户定义元组级的约束条件。定义表Student,要求当学生性别为男时,其名字不能以Ms

8、.打头。CREATETABLESTUDENT(SNOCHAR(7)PRIMARYKEY,SNAMECHAR(8)NOTNULL,SSEXCHAR(2),SAGESMALLINT,SDEPTCHAR(20),CHECK(SSEX=‘女’ORSNAMENOTLIKE‘Ms.%’));/*定义了Sname和Ssex之间的约

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。