周末无事水文章,期末备考的总结资料

第七章 数据库设计和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模型相关推荐

  1. 数据库系统概论:第七章 数据库设计

    7.1 数据库设计概述 数据库设计,广义上讲,是数据库及其应用系统的设计,即设计整个数据库应用系统:狭义上讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分. 数 ...

  2. (数据库系统概论|王珊)第七章数据库设计-第一节:数据库设计概述

    注意:此部分内容和软件工程的知识点重合较多,更多请点击[免费分享]软件工程核心知识点 本章较分散,各节导航如下 (数据库系统概论|王珊)第七章数据库设计-第二节:需求分析 (数据库系统概论|王珊)第七 ...

  3. 数据库系统:第七章数据库设计

    7.1 数据库设计概述 数据库设计: 广义地讲,设计整个数据库应用系统. 侠义地讲,是指设计数据库本身. 一般性定义:数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构, ...

  4. (数据库系统概论|王珊)第七章数据库设计-第三节:概念结构设计

    pdf下载:密码7281 专栏目录首页:[专栏必读](考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解 文章目录 一:E-R模型 (1)两个实体之间的联系 ①:一对一联系( ...

  5. (数据库系统概论|王珊)第七章数据库设计:习题

    名词解释 数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满 ...

  6. (数据库系统概论|王珊)第七章数据库设计-第二节:需求分析

    文章目录 一:需求分析的任务 二:需求分析的步骤和方法 (1)步骤 (2)方法 三:数据字典 (1)定义 (2)组成 ①:数据项 ②:数据结构 ③:数据流 ④:数据存储 ⑤:处理过程 注意 更多可参照 ...

  7. 数据库系统概论 第七章 数据库设计(1)特点,概述,设计方法,规范设计方法,新奥尔良方法,用户和数据库管理员,模式,外模式,概念模式,逻辑模式,内模式,需求分析,数据项,数据流,数据存储,处理过程

    关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料 7.1数据库设计概述 广义的讲,是数据库及其应用系统的设计,即设计整个数据库应用系统 狭义的将,是设计数据库本身,即设计数据库的各级模式 ...

  8. 数据库系统及应用复习——第七章数据库设计

    重点:概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型的转换方法,数据库设计的阶段组成,每个阶段的主要任务. 一.数据库设计概述 数据库应用系统的开发也是一项软件工程,称为数据库工程,数据库 ...

  9. 数据库系统原理(第三章数据库设计 )

    一.数据库设计概述 数据库的生命周期  数据库设计的目标: 满足应用功能需求(存.取.删.改), 良好的数 据库性能(数据的高效率存取和空间的节省 共享性.完整性.一致性.安全保密性) 数据库设计的内 ...

最新文章

  1. C++:随笔6---new\delete\虚方法\抽象方法
  2. Java8中的HashMap分析
  3. java web 自定义标签_如何在JavaWeb程序中使用自定义标签
  4. 如何优雅的完成长截图?
  5. 线段树求区间最大值RMQ(单点更新)
  6. 遇到error: stray ‘\357’ in program [solution.c]的解决办法
  7. solr 高并发_预防帕金森病的运动并发症,比治疗更重要!
  8. 数据说话!UCloud「硬刚」腾讯云,高性能 AMD 云主机哪家强?
  9. CF 316G3 Good Substrings——广义后缀自动机
  10. SharePoint Designer 2010中的外部内容类型-SQL Server
  11. 如何从零开始准备数学建模竞赛?
  12. 混淆的艺术-(苍井空变凤姐)Proguard源码分析(二)Proguard参数解析
  13. 自制H5页面工具盘点 宣传/相册/邀请函
  14. 计算机组成原理第一部: 计算机发展到加法器ALU的改进
  15. Vue 中使用高德地图api
  16. Java 根据银行卡号获取银行名称以及图标
  17. google、bing ,baidu 等搜索引擎 查询参数
  18. 【深度学习】卷积神经网络应用之双阶段目标检测|R-CNN、SPP-Net、Fast-RCNN、Faster-RCNN
  19. C语言——应用与游戏
  20. 调用http://apistore.baidu.com网站的接口

热门文章

  1. python读取图片属性_[Python图像处理]三.获取图像属性及通道处理
  2. linux mysql卸载_Linux环境下安装Mysql8.0数据库
  3. pythondict增加-python字典键值对的添加和遍历方法
  4. 双稳态电路的两个稳定状态是什么_干货|常见的脉冲电路到底有何用途和特点?终于了解了!|脉冲|晶体管|双稳|单稳|振荡器...
  5. android碎片实验报告,实验报告
  6. 表达提交返回信息_盘锦市2020年义务教育阶段招生入学信息服务平台家长填报指南...
  7. python智能识别_Python人工智能识别文字内容(OCR)
  8. mysql id in set_mysql数据库中find_in_set()和in()用法区别
  9. vim匹配数字及数量限制
  10. __len__的作用