实验四 数据库设计
- 格式: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)创建数据库:
数据名:学生管理表