文档详情

实验八数据完整性实现1.doc

发布:2017-08-01约4.07千字共4页下载文档
文本预览下载声明
实验八 数据完整性实现 年级:信管1107专业:信息管理与信息系统学号: 姓名: 实验日期:2013年5月15日 一、实验目的 掌握关系数据模型的基本概念,了解数据模型的三要素。了解实现数据完整性的意义和实现方法。掌握使用SQL命令创建表并实现数据完整性约束。 二、实验内容 1 已知选课系统中学生、课程和选课三个实体的关系模式如下: 学生关系模式:studentx(Sno , Sname, Ssex, Sage,Sdept,Stelp) 主码:Sno 课程关系模式:Coursex(Cno,Cname,Cpno,Ccredit) 主码:Cno 选课关系模式:SCX(Sno,Cno,Grade) 主码:(Sno,Cno) 外码:Sno,Cno 其中学生关系模式中的Sno、Sname、Ssex、Sage、Sdept、Stelp分别表示学号、姓名、性别、年龄、所在系、联系电话;课程关系模式中的Cno、Cname、Cpno、Ccredit分别表示课程号、课程名、前驱课号、课程学分;选课关系模式中的Sno、Cno、Grade分别表示学号、课程号、成绩。要求在mydb数据库中采用SQL命令建立该三个表,并实现数据完整性约束。具体约束如下: (1)实现各个表的主码、外码的设置。 create table student ( Sno char(10), Sname char(20) not null, Ssex char(2), Sage smallint, Sdept char(20), Stelp char(20), primary key(Sno) ); create table Coursex ( Cno char(20), Cname char(20) not null, Cpno char(20), Credit char(20), primary key(Cno) ); create table SCX ( Sno char(10) not null, Cno char(20) not null, Grade smallint, primary key(Sno,Cno), foreign key(Sno) references student(Sno), foreign key(Cno) references Coursex(Cno), ); (2)对学生表规定性别的默认值为“男”,取值范围{“男”,“女”} create table student (Sno char(10), Sname char(20) not null, Ssex char(2) check(Ssex in(男,女)), Sage smallint, Sdept char(20), Stelp char(20), primary key(Sno) ); (3)对课程表规定学分值必须小于6 。 create table Coursex (Cno char(20), Cname char(20) not null, Cpno char(20), Credit smallint check( Credit6), primary key(Cno) ); (4)对选课表规定成绩取值范围在[0,100]区间。 create table SCX ( Sno char(10) not null, Cno char(20) not null, Grade smallint check(Grade=0 and
显示全部
相似文档