文档介绍:数据库设计的案例分析
一、教学管理
1. 基本需求
某学校设计学生教学管理系统。
学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,
专业包括专业编号和名称,一个专业属于一个学院,一个学院可以有若干个专业。
学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。
设计该教学管理的ER模型,然后转化为关系模型。
若上面的管理系统还要管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。试修改上题的ER模型,将教师教学信息管理增加进去。
2. 参考设计:
图一教学管理ER图
由ER模型转换的关系模型是:
学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)
专业(专业号,专业,专业类别,学院号)
学院(学院号,学院,院长)
课程(课程号,课程名,学分,学院号)
成绩(学号,课程号,成绩)
(题目分析:本题中有学生、专业、学院、课程四个实体。一个学生只有一个主修专业,学生与专业有多对一的联系;一个专业只由一个学院开设,一门课程只由一个学院开设,学院与专业、学院与课程都是一对多的联系;学生与课程有多对多的联系。
在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。)
增加教师,ER图如下。
图二有教师实体的教学管理ER图
3. 物理设计
基于sql server的数据库结构设计如下。
指定数据库文件的名称,并为设计好的关系模型设计表结构。
数据库文件保存在“E:\教学管理\”文件夹中,数据库文件名:。
表包括:学院、专业、学生、课程、成绩单。对应表结构如表1-2至表1-6所示。
表1-1 学院
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
学院号
文本型
2
↑(主)
学院
文本型
16
院长
文本型
8
√
表1-2 专业
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
专业号
文本型
4
↑(主)
专业
文本型
16
专业类别
文本型
8
↑
学院号
文本型
2
学院
表1-3 学生
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
学号
文本型
8
↑(主)
姓名
文本型
8
性别
文本型
2
男 or 女
生日
日期型
民族
文本型
6
↑
籍贯
文本型
20
专业号
文本型
6
专业
√
简历
备注型
√
登记照
OLE对象
√
表1-4 课程
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
课程号
文本型
8
↑(主)
课程名
文本型
24
学分
字节型
学院号
字符型
2
学院
表1-5 成绩单
字段名
类型
宽度
小数
主键/索引
参照表
约束
Null值
学号
文本型
8
↑
学生
课程号
文本型
6
↑
课程
成绩
单精度
4
1
>=0 and <=100
√
思考题:
1. 当我们进行物理设计时,如果将全校的学生放置在一个关系(表)中,势必带来存储空间大、处理效率低的问题。怎么解决?
2. 如果管理研究生,带来的设计影响是什么?如何解决?
,如果将教师分类:教师、研究生导师。研究生导师存储“研究方向、学生人数”等信息,怎样设计。
附:教学管理数据库参考数据如表1-1~表1-5所示。
表1-1 学生表
学号
姓名
性别
生日
民族
籍贯
专业号
简历
登记照
06053113
唐李生
男
04/19/1987
汉
湖北省麻城
0501
07042219
黄耀
男
01/02/1989
汉
黑龙江省牡丹江市
0403
06041138
华美
女
11/09/1987
汉
河北省保定市
0403
07045120
刘权利
男
10/20/1989
回
湖北省武汉市
0403
08055117
王燕
女
08/02/1990
回
河南省安阳市
0501
08045142
郝明星
女
11/27/1989
满
辽宁省大连市
0403
08053101
高猛
男
02/03/1990
汉
湖北生黄石市