数据库系统概念总结:第七章 数据库设计和E-R模型
周末无事水文章,期末备考的总结资料
第七章 数据库设计和E-R模型
7.1 设计过程概览
7.1.1 设计阶段
- 需要完整地刻画未来数据库用户的数据需求
- 选择数据模型,并采用所选数据模型的概念将这些需求转化为数据库的概念模式
- 完善的概念模式还指明企业的功能需求
- 将高层概念模式映射到将使用的数据库系统的实现数据模式上。实现数据模型通常是关系数据模型,该阶段通常包括将以实体-联系模型定义的概念模式映射到关系模式
- 将所得到的系统特定的数据库模式使用到后续的物理设计阶段
7.1.2 设计选择
- 需要避免的两个问题:
–冗余
–不完整
7.2 实体-联系(entity-relationship,E-R)模型
7.2.1 实体集
- 实体:现实世界中可区别与所有其他对象的一个“事务”或“对象”
- 实体集:相同类型即具有相同性质(或属性)的一个实体集合
7.2.2 联系(relationship)集
- 联系:指多个实体间的相互关联
- 联系集:相同类型联系的集合
7.2.3 属性
- 按属性类型进行划分:
–简单和复合属性
–单值和多值属性
–派生属性
7.3 约束
7.3.1 映射基数
- 映射基数(mapping cardinality):表示一个实体通过一个联系集能关联的实体的个数
–一对一
–一对多
–多对一
–多对多
7.3.2 参与约束
- 如果实体集E中的每个实体都参与到联系集R的至少一个联系中,实体集E在联系集R中的参与称为全部的;若只有部分参与则称为部分的。
7.3.3 码
- 参照第二章总结
7.4 从实体集中删除冗余属性
7.5实体-联系图
7.5.1 主要构件
- 分成两部分的矩形:实体集
- 菱形:联系集
- 未分割的矩形:联系集的属性
- 线段:实体集连接到联系集
- 双线:实体在联系集中的参与度
- 双菱形:连接到弱实体集的标志性联系集
7.5.2 映射基数
- 例子
- 基数约束
–图中0…*说明导师可以有零个或多个学生
–图中1…1说明每个学生有且只有一个导师
7.5.3 复杂的属性
7.5.4 角色
- 在菱形和矩形之间的连线上进行标注来表示角色
7.5.5 非二元的联系集
7.5.6 弱实体集
- 定义:没有足够的属性以形成主码的实体集称作弱实体集(weak entity set)
- 弱实体集必须与另一个称作标识(identifying)或属主实体集(owner entity set)的实体集关联才能有意义。标示性联系是从弱实体集到标识实体集多对一的,并且弱实体集在联系中的参与是全部的
- 例子
–弱实体集的分辨符以虚下划线标明,而不是实线
–关联弱实体集和标识性强实体集的联系集以双菱形表示
7.6 转换为关系模式
7.6.1 具有简单属性的强实体集的表示
7.6.2 具有复杂属性的强实体集的表示
7.6.3 弱实体集的表示
7.6.4 联系集的表示
7.7 实体-联系设计问题
7.7.1 用实体集还是用属性
- 选择主要取决于被建模的enterprise 的结构,以及与所讨论的属性相关的语义。
7.7.2 用实体集还是用联系集
- 可能的准则是指定一个关系集来描述实体之间发生的动作
7.7.3 二元还是n元联系集
- 虽然可以用许多不同的二元关系集替换任何非二元(n元,n> 2)关系集,但是n元关系集更清楚地表明几个实体参与单一关系
7.7.4 联系属性的布局
- 一个联系的映射技术比率会影响联系属性的布局。英雌,一对一或一对多联系集的属性可以放到一个参与该联系的实体集中,而不是联系集中
7.8扩展的E-R特性
7.8.1 特化(Specialization)
- 在实体集内部进行分组的过程称为特化
- 自顶向下
7.8.2 概化(Generalization)
- 概化是高层实体集与一个或多个底层实体集间的包含关系。对于所有实际应用来说,概化是特化的逆过程
- 自底向上
7.8.3 属性继承(Attribute Inheritance)
- 它是由特化和概化所产生的高层和底层实体的一个重要特性,高层实体集的属性被底层实体集继承
7.8.4 概化上的约束(Constraint)
- 哪些实体能成为给定低层实体集的成员
–条件定义的(condition-defined):低层实体集中,成员资格的确定基于实体集是否满足一个显示的条件或谓词
–用户定义的(user-defined):由数据库用户将实体指派给某个实体集 - 在一个概化中的实体是否可以属于多个低层实体集
–不相交(disjoint):要求一个实体至多属于一个低层实体集
–重叠(overlapping):同一个实体可以同时属于同一个概化中的多个底层实体集 - 对概化的完全性约束(completeness constraint)
–全部概化或特化:每个高层实体必须属于一个低层实体集
–部分概化或特化:允许一些高层实体不属于任何低层实体集
7.8.5 聚类(Aggregation)
- 聚类是一种抽象,通过这种抽象,联系被视为高层实体
7.9 数据建模的其他表示法
7.9.1 E-R图的其他表示法
数据库系统概念总结:第七章 数据库设计和E-R模型相关推荐
- 数据库系统概论:第七章 数据库设计
7.1 数据库设计概述 数据库设计,广义上讲,是数据库及其应用系统的设计,即设计整个数据库应用系统:狭义上讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分. 数 ...
- (数据库系统概论|王珊)第七章数据库设计-第一节:数据库设计概述
注意:此部分内容和软件工程的知识点重合较多,更多请点击[免费分享]软件工程核心知识点 本章较分散,各节导航如下 (数据库系统概论|王珊)第七章数据库设计-第二节:需求分析 (数据库系统概论|王珊)第七 ...
- 数据库系统:第七章数据库设计
7.1 数据库设计概述 数据库设计: 广义地讲,设计整个数据库应用系统. 侠义地讲,是指设计数据库本身. 一般性定义:数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构, ...
- (数据库系统概论|王珊)第七章数据库设计-第三节:概念结构设计
pdf下载:密码7281 专栏目录首页:[专栏必读](考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解 文章目录 一:E-R模型 (1)两个实体之间的联系 ①:一对一联系( ...
- (数据库系统概论|王珊)第七章数据库设计:习题
名词解释 数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满 ...
- (数据库系统概论|王珊)第七章数据库设计-第二节:需求分析
文章目录 一:需求分析的任务 二:需求分析的步骤和方法 (1)步骤 (2)方法 三:数据字典 (1)定义 (2)组成 ①:数据项 ②:数据结构 ③:数据流 ④:数据存储 ⑤:处理过程 注意 更多可参照 ...
- 数据库系统概论 第七章 数据库设计(1)特点,概述,设计方法,规范设计方法,新奥尔良方法,用户和数据库管理员,模式,外模式,概念模式,逻辑模式,内模式,需求分析,数据项,数据流,数据存储,处理过程
关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料 7.1数据库设计概述 广义的讲,是数据库及其应用系统的设计,即设计整个数据库应用系统 狭义的将,是设计数据库本身,即设计数据库的各级模式 ...
- 数据库系统及应用复习——第七章数据库设计
重点:概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型的转换方法,数据库设计的阶段组成,每个阶段的主要任务. 一.数据库设计概述 数据库应用系统的开发也是一项软件工程,称为数据库工程,数据库 ...
- 数据库系统原理(第三章数据库设计 )
一.数据库设计概述 数据库的生命周期 数据库设计的目标: 满足应用功能需求(存.取.删.改), 良好的数 据库性能(数据的高效率存取和空间的节省 共享性.完整性.一致性.安全保密性) 数据库设计的内 ...
最新文章
- C++:随笔6---new\delete\虚方法\抽象方法
- Java8中的HashMap分析
- java web 自定义标签_如何在JavaWeb程序中使用自定义标签
- 如何优雅的完成长截图?
- 线段树求区间最大值RMQ(单点更新)
- 遇到error: stray ‘\357’ in program [solution.c]的解决办法
- solr 高并发_预防帕金森病的运动并发症,比治疗更重要!
- 数据说话!UCloud「硬刚」腾讯云,高性能 AMD 云主机哪家强?
- CF 316G3 Good Substrings——广义后缀自动机
- SharePoint Designer 2010中的外部内容类型-SQL Server
- 如何从零开始准备数学建模竞赛?
- 混淆的艺术-(苍井空变凤姐)Proguard源码分析(二)Proguard参数解析
- 自制H5页面工具盘点 宣传/相册/邀请函
- 计算机组成原理第一部: 计算机发展到加法器ALU的改进
- Vue 中使用高德地图api
- Java 根据银行卡号获取银行名称以及图标
- google、bing ,baidu 等搜索引擎 查询参数
- 【深度学习】卷积神经网络应用之双阶段目标检测|R-CNN、SPP-Net、Fast-RCNN、Faster-RCNN
- C语言——应用与游戏
- 调用http://apistore.baidu.com网站的接口
热门文章
- python读取图片属性_[Python图像处理]三.获取图像属性及通道处理
- linux mysql卸载_Linux环境下安装Mysql8.0数据库
- pythondict增加-python字典键值对的添加和遍历方法
- 双稳态电路的两个稳定状态是什么_干货|常见的脉冲电路到底有何用途和特点?终于了解了!|脉冲|晶体管|双稳|单稳|振荡器...
- android碎片实验报告,实验报告
- 表达提交返回信息_盘锦市2020年义务教育阶段招生入学信息服务平台家长填报指南...
- python智能识别_Python人工智能识别文字内容(OCR)
- mysql id in set_mysql数据库中find_in_set()和in()用法区别
- vim匹配数字及数量限制
- __len__的作用