整理自博主2021级专业课《数据库系统原理》自己完成的实验报告。
目录
一、实验目的
二、实验内容
1、某个学校有若干个系
2、某工厂生产若干产品
3、某学校的田径运动会中设置了各类比赛
4、自己调查一个需要提供开发数据库应用系统的单位
三、实验结果总结
四、实验结果的运用
自己举一个应用实例,并绘制E-R图。
一、实验目的
1.熟悉数据库模型的概念,熟悉概念模型的表示方法:E-R图。将实体,属性和联系转化为E-R图。
2.根据数据库基本概念、关系模型基本要领、数据库设计概念,再根据需求确定实体、属性和联系。
二、实验内容
用E-R图画出概念模型,要求在图上注明属性及联系的类型。
1、某个学校有若干个系
某学校有若干个系,系的属性有系编号和系名;每个系有若干班级和教研室,班级的属性有班级号和班级名,教研室的属性有教研室号和教研室名;每个教研室有若干教师,每个班级有若干学生,学生的属性有学号,姓名,性别,出生年月,学历;每个教师指导若干学生,每个学生只能被一个教师指导;教师的属性有:教师编号,教师姓名,教师职称。每个学生可以选修多门课程,每门课程可以被多个学生选修,学生选课会有成绩。课程的属性有课程编号,课程名,学分。
2、某工厂生产若干产品
某工厂生产若干产品,每种产品由不同的零件组成,有的零件可以在不同的产品上使用;产品的属性有产品号和产品名称,零件的属性有零件号和零件名称;这些零件由不同的原材料制成,不同的零件所使用的原材料可以相同,材料的属性有材料号、材料名和类别。这些零件按照所属的不同产品分别放在不同的仓库中,原材料按照类别放在若干仓库中,即一个编号的原材料只能放在一个仓库中,一个仓库可以放多种编号的原材料。仓库的属性有仓库号,仓库名,仓库容量。
补充:答案图(省略了实体的属性)
3、某学校的田径运动会中设置了各类比赛
某学校的田径运动会中设置了各类比赛,每一比赛类别有类别编号、类别名称和主管等属性,每一比赛类别包含很多比赛项目;每一比赛项目有项目编号、项目名称、比赛时间和级别等属性;各个院团队有团编号、团名称、领队等属性,每一代表团有多名运动员组成,运动员有编号,姓名,年龄,性别等属性;每一名运动员可以参加多个比赛项目,每一比赛项目也有多名运动员参加,运动员参加比赛会有成绩。
4、自己调查一个需要提供开发数据库应用系统的单位
自己调查一个需要提供开发数据库应用系统的单位,例如:超市、公司、酒店、社团、影院、机场、银行、饭店、图书馆、教务处、某个大学、小学或者中学、仓库、浴室、健身房、旅游团、书店等,你所能想到或者调查到的,写出他们的需求,找出数据库中将来要存储的数据中对应的实体、属性和联系,要求画出的E-R图中至少包含一个一对多的联系和一个多对多的联系,至少有一个联系上要包含属性。
三、实验结果总结
- 我能够正确从材料中提取出实体、实体的属性以及联系的属性。也基本能够画出E-R图的大致框架。
- 在判断联系类型这方面没有自己原先想的那么简单。对于简单、阐述十分明确的联系关系,我能够正确地判断出属于哪一类联系,但是对于一些没有那么明确的阐述,我往往就会比较纠结。比如本次实验二中的“不同的零件所使用的原材料可以相同”“零件按照所属的不同产品分别放在不同的仓库中”这样的表述,我就思考了很久。
- 在我多次遇到理不清联系类型的情况时,我想出了以下办法来帮助理解:在草稿纸上举例子、画草图。比如对于“不同的零件所使用的原材料可以相同”这个联系,我的思路是,先假设零件有A、B两种,原材料有a、b、c三种,套入对该联系表述的理解即是对于A和B两种不同的零件,它们可以都使用原材料a,这样一来一个原材料对应了不止一个零件,此时零件-原材料就是n←1;结合零件由不同的原材料构成,零件-原材料同时又是1→n。因此二者的联系是多对多的联系。
- 另外,在梳理一对多的联系时我遇到了一个小问题:在E-R图上标注多对多联系时,哪边写“1”,哪边写“n”?在重新翻书看例理解后,我明白了。若“一个实体A对应多个实体B,一个实体B对应一个实体A”时,实体A--- 1 ---联系--- n ---实体B,正着看是1→n;反着看把n取作1时,左边只能是1,这也就达到了1←1。通过这样的理解,我相信我不会再在这样的小问题上出错了。
- 在画E-R图之前,最好先在题干材料中标注,将实体、属性、联系用不同的记号标出来。读完题干且做好圈点勾画之后再画,要比直接上手更加不容易错,也更快。
四、实验结果的运用
自己举一个应用实例,并绘制E-R图。
医院管理系统:
实体:医生,科室,病人,病房,医疗费用
联系:
①一个医生主治多个病人,一个病人可以被多个医生主治(多对多)
②一个医生属于一个科室,一个科室里可以有多个医生(一对多)
③一个病人在一间病房里面,一间病房里有多个病人(一对多)
④一个病人支付一项医疗费用,一项医疗费用由一个病人支付(一对一)
⑤医生内部有领导和被领导的关系(实体间的一对多)
属性:
①医生:编号,年龄,专业
②病人:编号,性别,职业
③病房:病房号,规格,地址
④医疗费用:挂号费,取药费,手术费,住院费