数据库实验八综合试验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院实验报告书

课程名:《数据库原理及应用》

题目:综合实验

班级:D计算机101

学号:

姓名:

实验报告要求

1.目的与要求

初步掌握数据库设计的基本方法,进一步提高同学分析与解决问题的综合能力。

2.实验内容

(1)需求分析

(2)概念结构设计

(3)关系模式设计

(4)数据库的物理设计与实现

(5)数据库是实施与运行

3.实验步骤

1、需求分析

通过对数据库用户(教务办老师)的调查,对用户的需求进行分析得知:

学生成绩管理系统包含的信息有:学生信息,教师信息,成绩信息,教师上课信息和课程信息。

学生信息有学号、姓名、性别,出生日期,班级,系别。

教师信息有编号,教师姓名,部门,性别,职称,讲授的课程。一个教师可以讲授多门课,一门课可有多个老师讲授。

成绩信息有选该门课学生学号、课程号和成绩等。一个学生可以选多门课,一门课可以让多个学生选。

课程信息应包括课程号,对应的课程名称。

教师上课信息有某个教师上哪些课,或哪门课被哪些教师讲授。

2、概念结构设计

概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

E-R图如下:

3、关系模式设计

根据前面设计的概念模型,按照E-R概念模型想关系模型转换的规则,课有如下的关系模式(其中带下划线的为主键,斜体字为外键):

课程(课程编号,课程名称)

学生(学号,姓名,性别,出生日期,班级,系别)

成绩(学号,课程编号,成绩)

教师(教师编号,姓名,性别,部门,讲授课程,职称)

1、约束关系

(1)实体完整性

(2)参照完整性

(3)用户的自定义完整性

要求如下:

成绩在0到100之间

性别只能是男或女

2、关系结构描述

Student表

表1 学生表的结构

Course表

Grade表

Teacher表

4、数据库的物理设计与实现

这里给出的学生成绩管理系统数据库的物理设计与实现,实际上就是数据库模式到内模式(数据库的存储模式)的映射。

1.用SQL Server 2008创建上述的数据库

2.数据主文件为:ddm_data.mdf,存储在“D:\data”,存储空间初始值为5MB,最大空间为100MB,文件增量15%。日志文件为:ddm _log.idf,存储在“E:\data”,存储空间初始值为5MB,最大空间为200MB,文件增量5MB。

图2

图3

图4

3.创建表,根据上述的关系结构,建立表,并设置实体完整性、参照完整性及自定义完整性。

学生表的创建:

学号char(8)primary key, primary key主键为实体完整性,

性别char(2)check(性别='男'or ssex='女'), check(ssex='男'or ssex='女')约束为自定义完整性。

图5

课程表的创建

图6

成绩表的创建

Check(grade>=0 and grade<=100),用户的自定义完整性,成绩在0到100之间

图7

教师表的创建:

图8

4.创建视图

查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩

SELECT dbo.student.学号, dbo.student.姓名, dbo.course.课程编号, dbo.course.课程名称, dbo.grade.成绩

FROM dbo.student CROSS JOIN

dbo.course CROSS JOIN

dbo.grade

图9

5.创建索引

为学号,课程号创建非聚簇、惟一索引,升序。

create unique clustered index idx_学号 on student (学号 asc); create unique clustered index idx_课程编号 on course (课程编号asc);

图10

为教师姓名创建一个聚簇索引。

create clustered index idx_姓名on teacher (姓名);

图11

图12

5、数据库是实施与运行

1. 录入数据

利用企业管理器,将上述的示例数据输入到相应的表中。

1.数据查询

查询每个学生的学号,姓名,选修的课程名及成绩

Select student.学号,姓名,课程名称,成绩from course,grade,student

图13

2.建立触发器

限制删除course表中成绩不及格学生的修课记录。

CREATE TRIGGER tri_del_成绩

《数据库原理及应用》实验报告- 8-

ON grade FOR DELETE

AS

IF EXISTS(SELECT*FROM DELETED

WHERE成绩< 60)

ROLLBACK

图14

图15

4.结果分析与实验体会

这次实验刚开始的时候的确不知道怎么下手,后来经过仔细研究做了出来,把前面的实验综合起来了,因为前面做的实验都有印象,所以完成的过程还算顺利,希望自己再接再厉吧。

相关文档
最新文档