数据操作和完整性约束的作用

更新时间:2023-11-04 04:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机科学与技术系

实 验 报 告

专业名称 计算机科学与技术 课程名称 数据库系统及应用 项目名称 数据操作和完整性约束的作用

班 级

学 号 姓 名

实验日期 2015/11/3

一、实验目的与要求: (一)实验目的

熟练掌握SQL的INSERT、UPDATE和DELETE命令,深刻理解数据完整性约束的作用以及约束机制。 (二)实验要求

(1)读者自行设计各个表的记录,其中院系表至少10条记录、学生表至少30条记录、课程表至少10条记录、教师表至少10条记录、选课表至少50条记录。

(2)使用INSERT命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户自定义完整性和用户定义完整性约束的插入操作,并分析原因。

(3)设计若干删除操作,体会执行删除时检查参照完整性规则的效果(要求涉及拒绝删除、空值删除和级联删除等不同的处理方式)。

(4)设计若干更新操作,体会执行更新操作时检查实体完整性规则、参照完整性规则和用户自定义完整性规则的效果。

(5)在实验报告中要给出具体的记录和设计的操作,并针对各种数据完整性检查给出具体的分析和讨论。 二、实验方法:(代码)

create database 学生管理系统 use 学生管理系统 create table yuanxi (

编号 smallint primary key, 名称 char(20) unique not null,

负责人 char(10), 办公地点 char(20) )

--drop table yuanxi create table xuesheng (

学号 char(8) primary key,

院系 smallint foreign key references yuanxi(编号), 姓名 char(10) not null,

性别 char(2) check (性别 = '男' or 性别 = '女'), 生源 char(6),

状态 char(4) check (状态 = '正常' or 状态 = '留级' or 状态 = '休学' or 状态 = '退学') )

create table jiaoshi (

教师编号 char(8) primary key,

院系 smallint foreign key references yuanxi(编号), 姓名 char(10) not null,

性别 char(2) check (性别 = '男' or 性别 = '女'),

职称 char(6) check (职称 = '教授' or 职称 = '副教授' or 职称 = '讲师' or 职称 = '助教'), 专业 char(10) )

create table kecheng (

课程编号 char(8) primary key, 课程名称 char(20) not null,

负责讲师 char(8) foreign key references jiaoshi(教师编号), 学时 smallint not null,

课程性质 char(10) check(课程性质 = '公共基础' or 课程性质 = '专业基础' or 课程性质 = '专业选修' or 课程性质 = '任意选修')

)

create table xuanke (

学号 char(8)

foreign key references xuesheng(学号),

课程编号 char(8) foreign key references kecheng(课程编号), 成绩 smallint check(成绩 >= 0 and 成绩 <=100) default null , primary key(学号,课程编号) )

--在院系表中插入10条记录

insert into 院系 values(1,'计科系','马主任','36栋') insert into 院系 values(2,'电气系','赵主任','35栋') insert into 院系 values(3,'机械系','钱主任','34栋') insert into 院系 values(4,'园林系','孙主任','33栋') insert into 院系 values(5,'艺术系','李主任','32栋') insert into 院系 values(6,'人文系','周主任','31栋') insert into 院系 values(7,'物理系','吴主任','30栋') insert into 院系 values(8,'外语系','郑主任','2栋') insert into 院系 values(9,'体育系','王主任','4栋') insert into 院系 values(10,'国贸系','汝主任','8栋') --在学生表中插入30条记录

insert into 学生 values('1',1,'王艳','女','阜阳市','正常',NULL) insert into 学生 values('2',1,'李婷','女','南京市','正常',NULL) insert into 学生 values('3',1,'张三','男','阜阳市','正常',NULL) insert into 学生 values('4',2,'赵玉','男','阜阳市','正常',NULL)

insert into 学生 values('5',2,'李雷','男','上海市','正常',NULL) insert into 学生 values('6',2,'张琪','女','六安市','正常',NULL) insert into 学生 values('7',3,'夏雨','男','上海市','正常',NULL) insert into 学生 values('8',3,'李信','男','阜阳市','正常',NULL) insert into 学生 values('9',4,'黎姿','女','南京市','正常',NULL) insert into 学生 values('10',4,'汝闻闻','女','六安市','正常',NULL) insert into 学生 values('11',4,'翟凤亚','男','六安市','正常',NULL) insert into 学生 values('12',5,'郑微','女','亳州市','留级',NULL) insert into 学生 values('13',5,'赵立英','女','亳州市','留级',NULL) insert into 学生 values('14',5,'李晨','男','亳州市','正常',NULL) insert into 学生 values('15',6,'郭靖','女','宿州市','退学',NULL) insert into 学生 values('16',6,'陈欣然','女','宿州市','正常',NULL) insert into 学生 values('17',6,'李然','男','郑州市','退学',NULL) insert into 学生 values('18',7,'王凯','男','宿州市','正常',NULL) insert into 学生 values('19',7,'宫正','男','郑州市','退学',NULL) insert into 学生 values('20',7,'翟丹丹','女','北京市','正常',NULL) insert into 学生 values('21',8,'陈瑞','女','郑州市','正常',NULL) insert into 学生 values('22',8,'郝壮','男','北京市','正常',NULL) insert into 学生 values('23',8,'李毅','男','北京市','正常',NULL) insert into 学生 values('24',9,'吴建','男','界首市','休学',NULL) insert into 学生 values('25',9,'习武','男','界首市','正常',NULL) insert into 学生 values('26',9,'张翠翠','女','界首市','休学',NULL) insert into 学生 values('27',10,'郑雨薇','女','芜湖市','正常',NULL)

本文来源:https://www.bwwdw.com/article/9dw2.html

Top