实验报告 (5)
(二)参照完整性
定义表SC,其中Sno参照表Student的主码Sno,Cno参照表Course的主码Cno。
(三)用户定义完整性
1、列值非空
在定义SC表时,Sno、Cno和Grade属性都不允许取空值(在不特别声明的情况下,非码属性的值是允许取空值的)。
2、列值唯一
建立部门表DEPT,要求部门名称Dname取值唯一,部门编号Deptno属性为主码。
(2)修改表Student中的完整性限制,去掉对性别的限制,并将年龄的限制由小于30改为小于40。
四、总结
学习数据库真的不想我想象中的那么简单,这是一个十分严谨又有些繁琐的学科,学习好这么课得付出很大的努力,我现在做的还不够,只是涉及了数据库的一点点皮毛,在以后的学习中,不能将数据库丢下,应该继续努力钻研。
二、实验环境
1.系统软件:Windows 2000、SQL Server 2000
2.工具:Visual studio 6.0或Visual studio 2003
三、实验内容与步骤
(一)实体完整性
1、定义表Student,并将其中的Sno属性定义为主码。
2、定义表SC,将其中的属性Sno,Cno定义为主码。
实验报告
课程名称:数据库系统概论
任课教师:
实验日期:2012-12-10
班级:
姓名:
学号:
实验项目名称:SQL语言的DCL(完整性部分)
一、实验目的及要求
熟悉通过SQL对数据进行完整性控制,包括3类完整性、CHECK短语、CONSTRAIN子句、触发器。因为完整性约束绝大部分是在定义表结构时进行的,因此可能需要多次定义表,如果表名发生重复的话,可以先将旧表删除后再建立。
3、CHECK短语指定列值应该满足的条件
定义表Student,属性Ssex的值只允许取“男”或“女”;定义表SC,属性Grade的值定义在0-100之间。
4、定义表Student,要求当学生性别为男时,其名字不能以Ms.打头。
5、CONSTRAINT完整性约束命名子句
(1)定义表ent,要求学号在90000-99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。要求全部用约束命名子句实现