关于数据库:数据库系统概论王珊第七章数据库设计第三节概念结构设计

30次阅读

共计 2853 个字符,预计需要花费 8 分钟才能阅读完成。

  • pdf 下载:明码 7281
  • 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

将需要剖析失去的用户需要形象为信息结构 (即概念模型) 的过程就是 概念结构设计,它是整个数据库设计的要害

一:E- R 模型

(1)两个实体之间的分割

后面的文章中就说过:在事实世界中,事物外部以及事物之间是有分割的。实体外部的分割通常是指组成实体的各属性之间的分割,实体之间的分割通常是指不同实体型的实体集之间的分割

个别地,把参加分割的实体型的数目称为分割的度

  • 两个实体型之间的分割度为 2, 也称为 二元分割
  • 三个实体型之间的分割度为 3,称为 三元分割
  • N 个实体型之间的分割 | 度为 N, 也称为 N 元分割
①:一对一分割(1:1)

一对一分割(1:1):如果对于实体集 A 中的每一个实体,实体集 B 中至少有一个 (也能够没有) 实体与之分割,反之亦然,则称实体集 A 与实体集 B 具备一对一分割,记为 1:1

  • 例如,学校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间是 1:1 关系
②:一对多分割(1:n)

一对多分割(1:n):如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体 (n≥0) 与之分割,反之,对于实体集 B 中的每一个实体,实体集 A 中至少只有一个实体与之分割,则称实体集 A 与实体集 B 有一对多分割,记为 1:n。

  • 例如,一个班级中有若干名学生,而每个学生只在一个班级中学 习,则班级与学生之间具备一对多分割
③:多对多分割(m:n)

多对多分割(m:n):如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体 (n≥0) 与之分割;反之,对于实体集 B 中的每一个实体,实体集 A 中也有 m 个实体 (m≥0) 与之分割,则称实体集 A 与实体集 B 具备多对多分割,记为 m:n

  • 例如,一门课程同时有若干个学生选修,而一个学生能够同时选修多门课程,则课程与学生之间具备多对多分割。

(2)两个以上实体型之间的分割

两个以上实体型之间也存在着 一对一、一对多或多对多 的分割

  • 例如,对于课程、老师与参考书三个实体型,如果一门课程能够有若干个老师讲授,应用若干本参考书,而每一个老师只讲一门课程,每一本参考书只供一门课程应用,则课程与老师、参考书之间的分割是 一对多
  • 又如,有三个实体型: 供应商、我的项目、整机,一个供应商能够供应多个我的项目多种整机,而每个我的项目能够应用多个供应商供给的整机,每种整机可由不同供应商供应,由此看出供应商、我的项目、整机三者之间是 多对多 的分割

(3)单个实体型内的分割

同一个实体集内的各实体之间也能够存在 一对一、一对多和多对多 的分割

  • 例如,职工实体型外部具备领导与被领导的分割,即某一职工 (干部)“领导”若干名职工,而一个职工仅被另外一个职工间接领导,因而这是 一对多 的分割

二:E- R 图

(1)定义

应用实体分割图能够建设数据模型,利用 E - R 图描述的数据模型称之为 E - R 模型

  • 实体: 形容的数据对象
  • 属性: 形容数据对象的性质
  • 分割: 形容数据对象之间的交互方式

(2)符号示意

(3)E- R 模型的长处

  • E- R 模型比拟靠近人的思维习惯形式
  • E- R 模型应用简略的图形符号表白,便于用户了解

(4)示例

一个学生可选修多门课,一门课有若干学生选修; 一个老师可讲授多门课,一门课只有一个老师讲授; 学生选修一门课,产生问题; 学生的属性有学号、姓名等; 老师的属性有老师编号,老师姓名等; 课程的属性有课程号、课程名等。请画出该零碎 E - R 图

三:概念结构设计

(1)实体与属性的划分准则

概念结构设计的第一步就是 对需要分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的分割类型,造成 E - R 图。因为实体与属性之间并没有模式上能够划分的界线,所以这个看似简略的问题也时长困扰着设计人员


划分准则:为了简化 E - R 图的处理,事实世界的事物能作为属性看待的尽量作为属性看待。如果能满足下述两条准则,个别均可作为属性看待

  • 作为属性,不能再具备须要形容的性质,也即属性必须是不可分的数据项,不能蕴含其余属性
  • 属性不能与其余实体具备分割,也即 E - R 图中所示意的分割是实体之间的分割

【例如】职工是一个实体,职工号、姓名、年龄是职工的属性,职称如果没有与工资、岗位津贴、福利挂钩,换句话说,没有须要进一步形容的个性,则依据准则①能够作为职工实体的属性;但如果不同的职称有不同的工资、岗位津贴和不同的附加福利,则职称作为一个实体对待就更失当

【例如】在医院中一个病人只能住在一个病房,病房号能够作为病人实体的一个属性;但如果病房还要与医生实体产生分割,即一个医生负责几个病房的病人的医疗工作,则依据准则②病房应作为一个实体

(2)E- R 图的集成

A:什么是 E - R 图的集成

E- R 图的集成:在开发一个大型信息系统时,最常常采纳的策略是自顶向下地进行需要剖析,而后再自底向上地设计概念构造。即首先设计各子系统的分 E - R 图,而后将它们集成起来,失去全局 E - R 图。E- R 图的集成个别须要两步

  • 合并 :解决各分 E - R 图之间的 抵触,将分 E - R 图合并起来生成初步 E - R 图
  • 批改和重构 :打消不必要的 冗余,生成根本 E - R 图

B:第一步——合并 E - R 图,生成初步 E - R 图

抵触:各个部分利用所面向的问题不同,且通常是由不同的设计人员进行部分视图设计,这就导致各个子系统的 E - R 图之间必定会存在许多不统一的中央,称之为抵触。抵触次要有三类

  • 属性抵触
  • 命名抵触
  • 结构冲突
①:属性抵触

次要蕴含以下两类抵触

  • 属性域抵触 :即 属性值的类型、取值范畴或取值汇合不同。例如整机号,有的部门把它定义为整数,有的部门把它定义为字符型,不同部门对整机号的编码也不同。又如年龄,某些部门以出生日期模式示意职工的年龄,而另一些部门用整数示意职工的年龄
  • 属性取值单位抵触:例如,整机的分量有的以公斤为单位,有的以斤为单位,有的以克为单位
②:命名抵触

命名抵触可能产生在实体、分割一级上,也可能产生在属性一级上。其中 属性的命名抵触更为常见

次要蕴含以下两类抵触

  • 同名异义:即不同意义的对象在不同的部分利用中具备雷同的名字
  • 异名同义:即同一意义的对象在不同的部分利用中具备不同的名字
③:结构冲突

次要蕴含以下三类抵触

  • 同一对象在不同利用中具备不同的形象 :例如,职工在某一 部分利用中被当作实体,而在另一部分利用中则被当作属性。解决办法 通常是把属性变换为实体或把实体变换为属性,使同一对象具备雷同的形象
  • 同一实体在不同子系统的 E - R 图中所蕴含的属性个数和属性排列秩序不完全相同(常见):起因是不同的部分利用关怀的是该实体的不同侧面。解决办法 是使该实体的属性取各子系统的 E - R 图中属性的并集,再适当调整属性的秩序
  • 实体间的分割在不同的 E - R 图中为不同的类型 :如实体 E1 与 E2 在一个 E - R 图中是多对多分割,在另一个 E - R 图中是一对多分割。解决办法是 依据利用的语义对实体分割的类型进行综合或调整

C:第二步——打消不必要的冗余,设计根本的 E - R 图

冗余数据和冗余分割:在初步 E - R 图中可能存在一些冗余的数据和实体间冗余的分割

  • 冗余的数据 :可由 根本数据 导出的数据
  • 冗余的分割 :可由 其余分割 导出的分割
正文完
 0