数据库概念基础
1.模型:
概念模型:把现实世界转化为信息世界的模型,即E-R模型(通过E-R图表示)
实施模型:将信息世界使用的模型转化为数据世界使用的模型,关系模型(通过表数据表示)
2.不同关系的实体间E-R图表示:
(1)两个实体集间一对一关系的绘制:
假设某个学院有若干个系,每个系只有一个主任
分析:主任和系是一对一关系
主任的属性:编号,姓名,年龄,学历
系的属性:系编号,系名
主任和系是一个管理关系
(2)两个实体集之间的一对多的关系的绘制方法
假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且 规定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品
分析:
仓库和商品之间是一对多的关系
仓库和商品的属性分别如下:
仓库——仓库号,地点,面积联单
商品——商品号,商品名,价格
在存放关系中要反映出存放商品的数量
(3)两个实体集之间的多对多的关系的绘制方法
假设在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老师去上
分析:
教师和课程之间是多对多的关系
教师和课程可用以下属性来描述:
教师——教师号,教师名,职称
课程——课程号,课程名,班级
在“讲授”关系中应能反映出教师的授课质量
ER图的设计:
E-R图通常都应经过以下两个阶段:
(1)针对每一用户画出该用户信息的局部E—R图,确定该用户视图的实体、属性和关系。需注意的是:能作为属性的就不要作为实体,这有利于E—R图的简化
(2)综合局部E—R图,生成总体E—R图。在综合过程中,同名实体只能出现一次,还要去掉不必要的关系,以便消除冗余。一般来说,从总体E—R图必须能导出原来的所有局部视图,包括实体、属性和关系
(4)某学校管理系统中有三个部门:后勤部、学生处和财务处。后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资
分析:
后勤部涉及到的实体及实体之间的关系如下:
学生:属性有学号、姓名、性别、年龄、专业和入学时间
宿舍:楼号、房间、档次
学生与宿舍的关系是:
一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金
教务处涉及到的实体及实体之间的关系如下:
学生:属性有学号、姓名、性别、年龄、专业和入学时间
教师:属性有教师号、姓名、性别、职称、专业
课程:属性有课程号、课程名、学时数、专业
各实体关系描述如下:
一个学生可以选多门课,一门课可以由多个学生选修
一个教师可以教多门课,一门课也可以由多个老师教
学生选修某门课有一个成绩
教师教某门课有一个质量评价
财务处涉及到的实体及实体之间的关系如下:
教师:属性有教师号、姓名、性别、职称、专业
工资:属性有基本工资、加班工资、扣税、工资编号
教师和工资的关系是:一个教师只能领一份工资,一份工资只能由一个教师领,领工 资时应注明是某月工资
该校全局E-R图:
注意:这种情况下,员工也可以是下级员工的领导
3.三大范式:
***第一范式:***确保每列的原子性,每列都不可再分成最小数据单元。即一个实体每个属性不能同时有多个值或者重复属性。简而言之,第一范式就是无重复的列。如地址为:中国北京市不满足第一范式,拆分为,国家为中国,城市为北京,这样就满足第一范式了。
第二范式:
第二范式要求每个表只描述一件事情,
第三范式 满足第二范式,如员工表中有部门编号,部门名称,这里的部门名称依赖于部门编号,而不依赖于员工编号,因而部门编号和部门名称这两个属性应该抽离成一个新的实体,部门。员工表只存放部门id即可,这样就满足了三范式。