实验四 数据库设计

  • 格式:doc
  • 大小:274.73 KB
  • 文档页数:9

数据库系统原理实验报告

1

实验四 数据库设计

班级: 姓名: 学号:

任课教师:

实验教师:

上机时间:

【实验目的】

1、掌握规范化数据库设计包括步骤及其任务、方法、结果等。

2、掌握数据库设计过程中关键文档的写法。

3、了解数据库辅助设计工具。

【实验性质】

验证性实验

【实验学时】

2H

【实验内容】

设计题目:学生选课

1.需求分析,给出数据字典与数据流图

数据分析:

(1)选课信息

包括:学号,课程号,选课日期,实践成绩,考试成绩。

(2)学生信息

包括:学号、姓名、性别、 地址

(3)课程信息

包括:课程号、课程名称,系编号,教师编号,开课学期。

(4)教师信息

包括:教师编号、教师姓名、系编号、办公室号。

(5) 系信息

包括:系编号,系名,教师编号,位置

(6) 用户信息

包括:用户名,用户密码。

数据流图 数据库系统原理实验报告

2

数据流图是描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,这种表示法中用矩形表示源点和终点,用椭圆表示数据加工,用箭头表示数据流。本学生管理系统的数据流图如下。

数据字典:

数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2005建立“学生选课”数据库,其基本表清单及表结构描述如下:

数据库中用到的表:

数据库表名 关系模式名称 备注

admin 管理员 用户登录信息

student 学生 学生基本信息

course 课程 课程基本信息

dept 系 系基本信息 登录系统 用户

学生 教师

管理员

选课

课程 系别 管理系统 反馈信息 查询选择

反馈信息 管理课程 查增删改

查增删改 反馈信息

管理选课

反馈信息 反馈信息 管理系别 反馈信息 数据库系统原理实验报告

3

teacher 教师 教师基本信息

sc 选课 选课基本信息

admin基本情况数据表,结构如下:

字段名 字段类型 长度 说明

names nvarchar 10 用户

password nvarchar 20 密码

student基本情况数据表,结构如下:

字段名 字段类型 长度 说明

sno nvarchar 10 学号

sname nvarchar 10 姓名

ssex nvarchar 2 性别

saddress nvarchar 20 地址

course基本情况数据表,结构如下:

字段名 字段类型 长度 说明

cno nvarchar 10 课程号

dno nvarchar 10 系编号

tno nvarchar 10 教师编号

cname nvarchar 10 课程名

semester nvarchar 20 开课学期

dept基本情况数据表,结构如下:

字段名 字段类型 长度 说明

dno nvarchar 10 系编号

dname nvarchar 10 系名

tno nvarchar 10 教师编号

place nvarchar 20 位置

teacher基本情况数据表,结构如下:

字段名 字段类型 长度 说明

tno nvarchar 10 教师编号

tname nvarchar 10 教师姓名

dno nvarchar 10 系编号

offno nvarchar 10 办公室号

sc基本情况数据表,结构如下:

字段名 字段类型 长度 说明

sno nvarchar 10 学号

cno nvarchar 10 课程号

ctime nvarchar 20 选课日期

sscore int 实践成绩

kscore int 考试成绩 数据库系统原理实验报告

4

(1)数据分析,设计E-R模型

E-R图表示概念模型

(1)学生实体E-R图

(2)教师实体E-R图

(3)课程实体E-R图

(4)选课实体E-R图

(5)系实体E-R图 选课 学号# 课程号 选课日期 考试成绩 实践成绩 课程 系编号 课程号 教师编号# 开课学期 课程名称 教师 教师编号 教师姓名 系编号# 办公室号 学生 学号 姓名 性别 地址 数据库系统原理实验报告

5

(6)用户实体E-R图

3.3 合并分E-R图

通过分析上述实体间的联系将分E-R图合并为学生管理系统的基本E-R图,每个实体的属性在上面的分E-R图中已经给出,在此不予给出。

(2)E-R模型转换为关系模型

由系统E—R图转化而得到的关系模式如下

(1)student(sno,sname,ssex,saddress),其中sno为主键。

(2)sc(sno,cno,ctime,sscore,kscore),其中(sno,cno)为主键。

(3)teacher(tno,tname,dno,offno),其中tno为主键。

(4)course(cno,dno,tno,cname,semester),其中cno为主键。

(5)dept(dno,dname,tno,place),其中dno为主键。 用户名 用户密码

用户 系 系编号 系名 教师编号# 位置

开设 属于 教师 课程 学生

系 教授 选择

m nn 1 n1 n1 数据库系统原理实验报告

6

(6)admin(names,password),其中(names,password)为主键。

以上各关系模式之间的联系都是通过键码来建立关联的!

(3)数据库说明

在数据字典中,对数据已有详细的说明,此处不在讨论

数据关系

(5)创建表SQL语句

(1) 创建学生表:

create table student(

sno nvarchar(10)primary key,

sname nvarchar(10) not null,

ssex nvarchar(2) not null,

saddress nvarchar(20) null) 数据库系统原理实验报告

7

(2)创建教师表:

create table teacher(

tno nvarchar(10)primary key,

tname nvarchar(10) not null,c

dno nvarchar(10) not null,

offno nvarchar(10) null,

foreign key(dno)references dept(dno))

(3)创建课程表:

create table course(

cno nvarchar(10)primary key,

dno nvarchar(10) not null,

tno nvarchar(10) not null,

cname nvarchar(10) not null,

semester nvarchar(20) null,

foreign key(dno)references dept(dno),

foreign key(tno)references teacher(tno))

(4)创建选课表:

Create table sc(

sno nvarchar(10) not null,

cno nvarchar(10) not null,

ctime nvarchar(20) null,

sscore int null,

kscore int null,

primary key (sno,cno),

foreign key(sno)references student(sno),

foreign key(cno)references course(cno))

(5)创建用户表:

Create table admin(

names nvarchar(10) not null,

password nvarchar(20) not null,

primary key(names,password))

(6)创建系表:

Create table dept(

dno nvarchar(10)primary key,

dname nvarchar(10) not null,

tno nvarchar(10) not null,

place nvarchar(20) null,

foreign key(tno)references teacher(tno))

(7)创建数据库:

数据名:学生管理表