简单数据库设计实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库设计的案例分析
一、教学管理
1. 基本需求
某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。
设计该教学管理的ER模型,然后转化为关系模型。
若上面的管理系统还要管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。尝试修改上题的ER模型,将教师教学信息管理增加进去。
●请你设计一个数据库,并确定要满足的各种约束,使得其中:
⏹保存了所需的所有信息;
⏹支持教学管理的各种应用;
⏹尽可能地优化:减少冗余、提高查询速度。
●画实体-联系图。
●将实体-联系图转换为关系表。
2. 参考设计
●首先确定系统中的实体
●再确定系统中实体间的关系
●转化成E-R图
图一教学管理ER图
由ER模型转换的关系模型是:
学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)专业(专业号,专业,专业类别,学院号)
学院(学院号,学院,院长)
课程(课程号,课程名,学分,学院号)
成绩(学号,课程号,成绩)
(题目分析:本题中有学生、专业、学院、课程四个实体。一个学生只有一个主修专业,学生与专业有多对一的联系;一个专业只由一个学院开设,一门课程只由一个学院开设,学院与专业、学院与课程都是一对多的联系;学生与课程有多对多的联系。
在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。)
增加教师,ER图如下。
图二有教师实体的教学管理ER图
4、检查设计:是否支持各种应用。
1)、如果有学生转换专业,系统如何支持?
2)、如果学生中途退学,系统如何支持?
3)、如果教师处于退休状态,系统如何支持?
4)、选修课通常是针对某些专业的,系统如何支持?
5. 物理设计
基于Access的数据库结构设计如下。
指定数据库文件的名称,并为设计好的关系模型设计表结构。
数据库文件保存在“E:\教学管理\”文件夹中,数据库文件名:教学管理.MDB。
表包括:学院、专业、学生、课程、成绩单。对应表结构如表1-2至表1-6所示。
表1-1 学院
字段名类型宽度小数主键/索引参照表约束Null值学院号文本型 2 ↑(主)
学院文本型16
院长文本型8 √
表1-2 专业
表1-3 学生
表1-4 课程
表1-5 成绩单
附:教学管理数据库参考数据如表1-1~表1-5所示。
表1-1 学生表
表1-2 学院表
表1-2 专业表
表1-4 课程表
表1-5 成绩单
思考题:
当我们进行物理设计时,如果将全校的学生放置在一个关系(表)中,势必带来存储空间大、处理效率低的问题。怎么解决?
练习:
在线图书销售系统,有如下功能。用户注册后,可以修改自己的信息,可以将需要购买的图书放入购物车,然后从购物车下订单后结账。第一次结账时填写图书邮寄地址信息,以后就直接显示。购物车采用数据库实现。后台管理就是商家,登陆后可以增删改图书,新增图书的前10名,以及最畅销图书前十名显示在首页上。商家可以增删改图书分类,图书二级分类,一级为人文、科学、历史,二级为。。。。。。。商家物流由韵达和中通快递承包,支付接口有支付宝及各大银行网银支付,同时支持信用卡支付。一个订单需要在一天内完成支付,否则取消订单。用户在购买后有给图书打分和评阅的功能。
请画出E-R图,并写出数据库的物理结构。