发布时间 : 星期六 文章数据库原理实验报告更新完毕开始阅读
(3) 用insert语句向视图中插入元组('95009','王五','男'),查看基本表student表中插入的数据值。
修改视图的定义加入WITH CHECK OPTION子句,向视图插入一个新元组再查看student表中插入的数据值。
对比两次插入到基本表student的结果。
(4) 用update语句把视图PL_STUDENT的所有记录性别都改为'男',查看基本表student表中的数据值(对比没有WITH CHECK OPTION子句和有WITH CHECK OPTION子句的情况)。
(5) 用delete语句删除视图PL_STUDENT的所有记录,查看基本表student表中的数据值(对比没有WITH CHECK OPTION子句和有WITH CHECK OPTION子句的情况)。
2.建立视图用来显示每个系学生的平均年龄。尝试对视图进行增删改操作,分析能否执行成功。
3.建立视图显示学生各门课程的成绩,显示字段有:学号、姓名、课程名称、成绩。尝试对视图进行增删改操作,分析能否执行成功。
4.建立视图显示所有学生的数学成绩,显示字段有:学号、姓名、成绩。如果某个学生选择了数学课程则显示相应成绩;如果某个学生没有选择数学课程,则显示其学号和姓名,在成绩上显示空白。
主要教学环节的组织:
教师首先讲解,然后指导学生自己操作。
实验4 数据完整性维护
实验目的和要求:
掌握在SQL Server 2000中定义及使用各种约束的能力,掌握用SQL语言定义关系模式的完整性约束条件,掌握DBMS完整性控制机制的三个方面。 实验内容:
1.用SQL语句定义表student(sno,sname,ssex,sage),并加入如下约束: 主键:sno;sname有唯一约束;sname,ssex,sage都不允许空; 2.用SQL语句定义表course(cno,cname),并加入如下约束: 主键:cno;cname不允许空;
3.用SQL语句定义表sc(sno,cno,cj),并加入如下约束:
主键:sno,cno;为sno定义名为lsno的默认参照完整性;为cno定义名为lcno的默认参照完整性;
4.用SQL语句向student表输入如下元组: ('95001','李勇','男',20,'CS'); ('95002','刘晨','女',21,'IS');
用SQL语句向course表输入如下元组: ('1','数据库','5',4); ('2','数学',NULL,2);
用SQL语句向sc表输入如下元组: ('95001','1',92); ('95001','2',85); ('95002','2',90);
5.执行下列语句,并查看执行结果。如果不能正确执行给出错误原因。
5
insert into student values('95001','张力','男',20,'CS'); insert into student values('95003','李勇','男',20,'CS'); insert into SC values('95004','1',92); delete from student where sno='95001'; update course set cno='3' where cno='2';
6.给student表的ssex列添加名为fm的约束,使其取值只能取'男'或'女'。
执行insert into student values('95005','张力','f',20,'CS'),查看执行结果。
7.给student表的sage列添加约束,使其年龄不得超过20岁。查看约束是否能正确添加,并分析其原因。
8.删除约束lsno和lcno。
9.为sc表添加在列sno上的外键约束lsno1,并定义为级联删除。执行delete from student where sno='95001';查看执行结果。
10.为sc表添加在列cno上的外键约束lcno1,并定义为级联修改。执行update course set cno='3' where cno='2';查看执行结果。 主要教学环节的组织:
教师首先讲解,然后指导学生自己操作。
实验5 触发器及存储过程
实验目的和要求:
掌握在SQL Server 2000中触发器和存储过程的定义及使用,通过实验重点掌握触发器及存储过程的概念及用途。 实验内容:
1.有如下两个表:
教师(编号,姓名,性别,职称,工资,系别编号) 主码:编号 系别(系别编号,系名称,人数) 主码:系别编号 要求利用触发器完成下面的功能:
1) 对教师表进行插入、删除操作时维护系别人数。 2) 教授工资不得低于1500。 3) 工资只能增加不能减少。
4) 删除系别时,用触发器实现级联删除。 2.有如下视图:
选修记录(学号,姓名,课程号,课程名称,成绩)
其数据来源于学生表、选课表和课程表,利用触发器使视图可以更新,并将更新的数据保存于基本表中。
3. 建立存储过程完成以下功能:
1) 每门课程的课程名称及选课人数。 2) 某个学生的平均成绩(学号为参数)。 主要教学环节的组织:
教师首先讲解,然后指导学生自己操作。
6