数据库原理(十 一)- 概念结构设计
数据库原理(十 一)- 概念结构设计
- 前言
- 概念结构的特点
- 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个度称为二元联系,有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.
数据库原理(十 一)- 概念结构设计相关推荐
- 数据库原理的基本概念
数据库原理这门课已经学了一周多了,基础概念知识比较多,也比较杂,下面整理一下,也算是增加一点记忆. ** 数据库的四个基本概念 ** 数据(Data):数据是描述事物的符号记录,数字,文字,图像,音频 ...
- 数据库原理复习笔记(实用)
注意:Ctrl+F 输入关键字 这是大三上学期复习数据库时自己整理的,有些地方可能有误,大家可以参考参考,欢迎讨论哦~ 本书的笔记总结自<数据库系统概论>(第5版),王珊.萨师煊编著. ...
- 数据库原理实验三 数据库综合设计实验 实验报告
实验三 数据库系统设计综合实验 1.实验目的通过实验,使学生掌握数据库系统设计和开发的一般方法,能够设计并实现简单的数据库系统. 2.实验要求熟悉实验室实验环境,掌握实验预备知识,了解实验中故障排除的 ...
- 数据库原理复习与知识点总结
2022.5.29 更新:大学最后一门考试考完啦,开始下一阶段的学习 2022.5.26 更新:成功更完,开始刷题! 2022.5.25 更新:争取明天更完 以下为原内容 第一章 绪论 1.1 数据库 ...
- 数据库原理(十 二)- 逻辑结构设计
数据库原理(十 二)- 逻辑结构设计 前言 E-R图向关系模型的转换 数据模型的优化 设计用户子模式 前言 概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是概念结构设计阶段设计好的基 ...
- 数据库原理 概念结构设计-E-R图及其设计
将 用户需求抽象成概念模型的过程就是概念结构设计 是数据库设计的关键 概念模型的一种表现方法:实体-联系法(Entity-Relationship Approach) 简称:E-R方法:用E-R图来描 ...
- 数据库原理—关系模型的基本概念(七)
数据库原理-关系模型的基本概念(七)
- (数据库系统概论|王珊)第七章数据库设计-第三节:概念结构设计
pdf下载:密码7281 专栏目录首页:[专栏必读](考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解 文章目录 一:E-R模型 (1)两个实体之间的联系 ①:一对一联系( ...
- 数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计
文章目录 1. 数据库设计概述 1.1 数据库设计的特点:结构和行为分离的设计 1.2 数据库设计方法 1.3 数据库设计的基本步骤 1.4 数据库设计过程中的各级模式 2. 需求分析 2.1 需求分 ...
最新文章
- Knowledge Graph |(1)图数据库Neo4j简介与入门
- linux系统内存执行elf的多种方式
- 屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
- shell脚本练习,创建数据文件注册用户并将用户信息存入文件内,用于模拟登录时使用...
- 相关与卷积(数字信号处理)的数学原理及 Python 实现
- IIS的安装和配置全过程
- PrimeTime指南——概述和基本流程
- MySQL表/视图/存储过程and函数/触发器/事件与数据库之间的关系
- C++ vector越界的问题
- Android权限全记录(转)
- ambari下 hive metastore 启动失败
- 高效管理之团队梯度建设
- 计算机项目符号操作,word项目符号和编号的操作方法-word技巧-电脑技巧收藏家...
- STM32F103驱动四位共阳极数码管程序
- 【工具-代码】OSS阿里云存储服务-代码实现
- Android如何设置背景图片
- PostgreSQL 访问外部数据库之 postgres_fdw
- pdf文件过大如何缩小上传
- 字符数组与字符串的转换
- OpenCV3入门(五)图像的阈值
热门文章
- python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...
- 【从零开始学爬虫】采集B站UP主数据
- 【混淆系列】三问:npx、npm、cnpm、pnpm确定搞明白了?
- xctf攻防世界 CRYPTO高手进阶区 告诉你个秘密
- tvOS 开发第一个tvOS应用
- GD32实战11__SPI FLASH
- 74HC1G66模拟开关,多路复用
- 虚拟化系统镜像下载地址及Linux更新国内源
- 支付系统设计四:轮询扣款设计04-整体设计
- atitit. 管理哲学 大毁灭--- 如何防止企业的自我毁灭