文档详情

攀枝花学院数据库完整性约束数据库实验2.doc

发布:2016-12-27约3.25千字共6页下载文档
文本预览下载声明
攀枝花学院 Panzhihua University 实验报告册 实验二 数据库完整性约束实验 2013 ~2014 学年度第 2 学期 课 程 名 称 数据库原理与应用 授 课 教 师 刘继光 教 师 职 务 副教授 学 生 姓 名 学 号 教 学 单 位 数学与计算机学院 课题(项目)名称: 数据库完整性约束实验 计划学时: 实验类型: 1.演示性□ 2.验证性□ 3.综合性□ 4.设计性□ 5.其它□ 授课日期: 年 月 日 第 周 星期 第 节 实验二 实验名称:数据库完整性约束实验 实验学时:2 实验目的: 数据库完整性是保证数据库中数据正确性的重要手段,通过实验,使学生加深对数据库完整性的基本概念的理解与掌握,并能够熟练创建、修改、删除各类完整性约束,从而达到灵活应用的目的。 实体完整性约束验证; 引用完整性验证; 唯一约束; 非空约束; 缺省值; 检查约束; 实验内容及要求: 数据库完整性约束试验。 试验所使用的数据库表结构如下: Student(学生记录表) SNO(学号) CHAR(10) PRIMARY KEY SNAME(姓名) VARCHAR(16) SEX(性别) SC(学生选课成绩表) SNO(学号) CHAR(7) PRIMARY KEY CNO(课程号) CHAR(4) PRIMARY KEY GRADE(成绩) INT 使用查询分析器,建立数据库SC,数据库参数默认。建立Student、Course、SC数据库表,并完成下面题目: 1、“课程名”属性必须取唯一值。 2、“课程名”也不能取空值。 3、“学分”属性只能取值{1,2,3,4},如果没有输入学分信息,学分的缺省值为3。 4、“学号”的前两位为“20”,第三位与第四位为数字。 5、“GRADE”大于等于0并且小于等于100。 6、SC中,SNO、CNO为外键,请建立外键约束。 create table student ( sno char(10) primary key, sname varchar(16), sex varchar(2), dept varchar(20), age smallint ) create table course ( cno char(4) primary key, cname varchar(32) not null, score smallint not null ) create table sc ( sno char(10) primary key, cno char(4) , grade int check (grade = 0 and grade = 100), ) 1、“课程名”属性必须取唯一值。 法一 alter table course add unique(cname) 或者 alter table course add constraint un unique(cname) 2、“课程名”也不能取空值。 alter table course alter column cname varchar(32) not null 3、“学分”属性只能取值{1,2,3,4},如果没有输入学分信息,学分的缺省值为3。 法一 alter table course add constraint re check (score in (1, 2, 3, 4)) alter table course add default 3 for score 法二 drop table course create table course ( cno char(4) primary key, cname varchar(32) not null, score smallint not null default 3 check (score in (1,2,3,4)) ) 法三 drop table course create table course ( cno char(4) primary key, cname varchar(32) no
显示全部
相似文档