攀枝花学院数据库完整性约束数据库实验2.doc
文本预览下载声明
攀枝花学院
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
显示全部