数据库原理(十 一)- 概念结构设计

  • 前言
  • 概念结构的特点
  • E-R模型
  • 概念结构设计
    • 实体划分的原则
    • E-R的集成
  • 借鉴

前言

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。它是整个数据库设计的关键,这里主要讲解概念模型的特点,以及用E-R模型来表示概念结构的方法

概念结构的特点

  • 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型
  • 易于理解,可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键
  • 易于修改,当应用环境和应用要求改变时容易对概念模型修改和扩充
  • 易于向关系、网状、层次等各种数据模型转换

概念模型是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

E-R模型

P.P.S.Chen提出的E-R模型使用E-R图来描述现实世界的概念模型,是描述概念模型的有力工具,在如何画E-R之前我们先了解一下实体之间的联系和多实体之间的联系

1.实体之间的联系

  • 两个实体之间的联系

    • 1对1(1:1),比如一个客户只有一个会员卡,一个会员卡属于一个客户
    • 1对多(1:n),比如一个系有多个班级,一个班级属于一个系
    • 多对多(n:m) ,比如一个学生可以选修多门课程,一门课程可以支持多名同学参加
  • 两个以上的实体型之间的联系
    • 一般地,把参与联系的实体型的数目称为联系的度,有2个度称为二元联系,有3个度称为三元联系(下图就是),N个实体型之间的联系度为N,称为N元联系
  • 单个实体型内的联系
    • 同一实体集内的各实体之间也可以存在一对一、一对多和多对多的联系。例如,职工实体型内部具有领导和被领导的联系

2.E-R图
E-R图提供了表示实体型、属性和联系的方法:

  • 实体型用矩形表示,矩形框内写明实体名
  • 属性用椭圆形表示,并用无向边将其与相应的实体型连接起来
  • 联系用菱形表示,菱形框内写明联系名,并用无向边分别于有相关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n和n:m)

如下面这张图,单位、学生和课程都是实体,有拥有、开课和选修三个联系

概念结构设计

实体划分的原则

为了简化E-R的处置,现实世界的事物作为属性对待的尽量作为属性对待

  • 作为属性,不能再具有需要描述的性质
  • 属性不能与其他实体具有联系

E-R的集成

在开发一个大型信息系统时,最经常采用的策略是自上而下地进行需求分析,然后再自底向上地设计概念结构。
即首先设计子系统的分E-R图,然后将它们集成起来,得到全局E-R图,E-R图的集成一般需要分两步走,即合并,解决冲突和修改和重构,消除冗余

1.冲突的类型

  • 属性冲突

    • 属性域冲突,如零件号,有的部门用整形,有的部门用字符型
    • 属性取值单位冲突,如零件的重量有的以公斤为单位,有的以斤为单位
  • 命名冲突
    • 同名异义
    • 异名同义
  • 结构冲突
    • 同一对象在不同应用中具有不同的抽象
    • 同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同
    • 实体间的联系在不同的E-R图中为不同的类型

2.消除冗余

  • 分析方法
  • 规范化理论

不是所有冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息为代价

借鉴

王珊,萨师煊.数据库系统概论(第五版)[M].北京:高等教育出版社,2014:215-218,224-231.

数据库原理(十 一)- 概念结构设计相关推荐

  1. 数据库原理的基本概念

    数据库原理这门课已经学了一周多了,基础概念知识比较多,也比较杂,下面整理一下,也算是增加一点记忆. ** 数据库的四个基本概念 ** 数据(Data):数据是描述事物的符号记录,数字,文字,图像,音频 ...

  2. 数据库原理复习笔记(实用)

    注意:Ctrl+F  输入关键字 这是大三上学期复习数据库时自己整理的,有些地方可能有误,大家可以参考参考,欢迎讨论哦~ 本书的笔记总结自<数据库系统概论>(第5版),王珊.萨师煊编著. ...

  3. 数据库原理实验三 数据库综合设计实验 实验报告

    实验三 数据库系统设计综合实验 1.实验目的通过实验,使学生掌握数据库系统设计和开发的一般方法,能够设计并实现简单的数据库系统. 2.实验要求熟悉实验室实验环境,掌握实验预备知识,了解实验中故障排除的 ...

  4. 数据库原理复习与知识点总结

    2022.5.29 更新:大学最后一门考试考完啦,开始下一阶段的学习 2022.5.26 更新:成功更完,开始刷题! 2022.5.25 更新:争取明天更完 以下为原内容 第一章 绪论 1.1 数据库 ...

  5. 数据库原理(十 二)- 逻辑结构设计

    数据库原理(十 二)- 逻辑结构设计 前言 E-R图向关系模型的转换 数据模型的优化 设计用户子模式 前言 概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是概念结构设计阶段设计好的基 ...

  6. 数据库原理 概念结构设计-E-R图及其设计

    将 用户需求抽象成概念模型的过程就是概念结构设计 是数据库设计的关键 概念模型的一种表现方法:实体-联系法(Entity-Relationship Approach) 简称:E-R方法:用E-R图来描 ...

  7. 数据库原理—关系模型的基本概念(七)

    数据库原理-关系模型的基本概念(七)

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

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

  9. 数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计

    文章目录 1. 数据库设计概述 1.1 数据库设计的特点:结构和行为分离的设计 1.2 数据库设计方法 1.3 数据库设计的基本步骤 1.4 数据库设计过程中的各级模式 2. 需求分析 2.1 需求分 ...

最新文章

  1. Knowledge Graph |(1)图数据库Neo4j简介与入门
  2. linux系统内存执行elf的多种方式
  3. 屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
  4. shell脚本练习,创建数据文件注册用户并将用户信息存入文件内,用于模拟登录时使用...
  5. 相关与卷积(数字信号处理)的数学原理及 Python 实现
  6. IIS的安装和配置全过程
  7. PrimeTime指南——概述和基本流程
  8. MySQL表/视图/存储过程and函数/触发器/事件与数据库之间的关系
  9. C++ vector越界的问题
  10. Android权限全记录(转)
  11. ambari下 hive metastore 启动失败
  12. 高效管理之团队梯度建设
  13. 计算机项目符号操作,word项目符号和编号的操作方法-word技巧-电脑技巧收藏家...
  14. STM32F103驱动四位共阳极数码管程序
  15. 【工具-代码】OSS阿里云存储服务-代码实现
  16. Android如何设置背景图片
  17. PostgreSQL 访问外部数据库之 postgres_fdw
  18. pdf文件过大如何缩小上传
  19. 字符数组与字符串的转换
  20. OpenCV3入门(五)图像的阈值

热门文章

  1. python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...
  2. 【从零开始学爬虫】采集B站UP主数据
  3. 【混淆系列】三问:npx、npm、cnpm、pnpm确定搞明白了?
  4. xctf攻防世界 CRYPTO高手进阶区 告诉你个秘密
  5. tvOS 开发第一个tvOS应用
  6. GD32实战11__SPI FLASH
  7. 74HC1G66模拟开关,多路复用
  8. 虚拟化系统镜像下载地址及Linux更新国内源
  9. 支付系统设计四:轮询扣款设计04-整体设计
  10. atitit. 管理哲学 大毁灭--- 如何防止企业的自我毁灭