合并分ER图产生的冲突
合并分E-R图
各个局部应用所面向的问题不同,各个子系统的E-R图之间必定会存在许多不一致的地方,称之为冲突。
子系统E-R图之间的冲突主要有三类:
①属性冲突
②命名冲突
③结构冲突
①属性冲突
属性域冲突,即属性值的类型、取值范围或取值集合不同。
例如零件号,有的部门把它定义为整数,有的部门把它定义为字符型。
年龄,某些部门以出生日期形式表示职工的年龄,而另一些部门用整数表示职工的年龄。
属性取值单位冲突。
例如,零件的重量有的以公斤为单位,有的以斤为单位,有的以克为单位。
②命名冲突
同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
如对科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程。
命名冲突
可能发生在实体、联系一级上
也可能发生在属性一级上
通过讨论、协商等行政手段加以解决
③结构冲突
同一对象在不同应用中具有不同的抽象。
例如,职工在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。
解决方法:把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。
同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同。
解决方法:使该实体的属性取各子系统的E-R图中属性的并集,再适当调整属性的次序。
实体间的联系在不同的E-R图中为不同的类型。
实体E1与E2在一个E-R图中是多对多联系,在另一个E-R图中是一对多联系
解决方法是根据应用的语义对实体联系的类型进行综合或调整。
合并分ER图产生的冲突相关推荐
- python中e-r图_E-R图基本步骤
以自底向上设计概念结构的方法为例,它通常分为两步: 第一步:首先要根据需求分析的结果(数据流图.数据字典等)对现实世界的数据进行抽象, 设计各个局部视图即分E-R图. 第二步:集成局部视图. 概念结构 ...
- 概念结构设计( 实体与属性的划分原则、E-R图的集成)、逻辑结构设计(任务、步骤、转换方法、数据模型的优化、设计用户子模式、物理结构设计)....
概念结构设计 主要内容:[1]E-R图中如何确定实体与属性[2]集成E-R图时如何解决冲突 1 实体与属性的划分原则 [1]具体的应用环境常常对 ...
- Mysql的ER图怎么画_分享——如何画数据库ER图 王慧芬(10100340214)
如何画ER图 以自底向上设计概念结构的方法为例,它通常分为两步: 第一步:首先要根据需求分析的结果(数据流图.数据字典等)对现实世界的数据进行抽象, 设计各个局部视图即分E-R图. 第二步:集成局部视 ...
- 数据库:实体关系图(ER图)
1,组成元素 元素 描述 表示形似 实体 客观存在并可以相互区别的事物 用矩形框,矩形框内写明实体名 属性 实体所具有的一个属性 用椭圆型表示,并用无向边将其与相应的实体连接起来 关系 实体和实体之间 ...
- 画E-R图·数据库笔记(四)
ER图 E-R图定义 数据模型 概念模型 1.信息世界中的基本概念 2.两个实体型之间的联系 (1)一对一联系(1:1) (2)一对多联系(1:n) 多对多联系(m:n) 绘制E-R图 1.局部E-R ...
- ER图转为关系模式(超详细,超简单)
相关系列: ER图转为关系模式 无损分解和保持依赖 3NF分解与BCNF分解 正则覆盖与候选码 如何设计ER图(弱实体集) 如何设计ER图(映射基数) 目录 1.简单属性的强实体集 2.派生属性不出现 ...
- java后端系统学习总结 02_数据库基础学习、jdbc基础学习、er图基础学习、数据库——(完结)
猿猿正在系统的学习一些计算机知识,和后端技术栈,目前阶段主要在系统学习java.此专栏,为我学习过程中的学习笔记,便于日后复习回顾来看,也很适合新人学习参考. 以下是猿猿对数据库和java深入的第一遍 ...
- 软考大题做题技巧——数据流图、数据库E-R图、UML、算法、设计模式(干货!)
小编在软考最后一周,破釜沉舟的学习软考的大题,找到了一些大题的做题技巧,特此分享给大家,希望所有参加软考的同学都能尽自己百分百的努力,收获最好的结果. 做题时可以重点找一下每类问题考察的考点以及提问问 ...
- DBMS-数据库设计与E-R模型:E-R模型、约束、E-R图、E-R扩展特性、E-R图转换为关系模式、UML建模...
设计过程概览 1. 设计阶段 ·最初阶段:刻画未来数据库用户的数据需求,产品为用户需求规格说明: ·概念设计阶段(conceptual-design phase):(关注描述抽象数据及其联系,通常使用 ...
最新文章
- 清华学长带你从宏观角度看递归
- 如何正确的对待设计模式——我的观点
- JSON.stringify时间的问题
- 自适应设计与响应式设计
- eclipse maven项目 class类部署不到tomcat下_Servlet tomcat部署
- (二)AS给button添加点击事件
- 小鱼的游泳时间(洛谷-P1425)
- Ubuntu18.04 安装Nvidia驱动
- 斐波那契数列前n项和 c++_蹲在马桶看算法(Day8—LeetCode之NO.509 斐波那契数列)...
- java并发2--进阶
- KB954430补丁重复安装失败的解决办法
- pythonxml库_Python XML操作
- Linux下的uniq,head,tail,cut,paste
- 中文网页中的字体选型及开发指南
- GCC和C99标准中inline
- 《系统集成项目管理》第八章 项目进度管理
- 兼容各个浏览器的H.264播放: H.264+HTML5+FLOWPLAYER+WOWZA+RMTP
- webRtc-streamer简单使用-备份
- 日落20181125001 - UGUI组件应用之Animation和CanvasGroup制作渐现渐隐效果
- DurIAN模型介绍
热门文章
- 算法章节 数组、链表、栈、队列
- 解决VM虚拟机中ubuntu系统上不了网的问题
- Ubuntu环境下,使用clion编译器,使用开源opensll的对称AES算法对于文件进行加密,C++代码
- 在pycharm中使用conda虚拟环境(conda虚拟环境是已经创建好的),解决python安装包文件很费劲的问题
- 东软 软件工程1 软件危机 软件工程 软件生命周期
- 谁在告谁?移动专利混战图
- 比较全的C语言面试题
- 解决: java.net.ConnectException: Connection refused: connect
- 使用SpringBoot yml配置文件
- H3C 以太网集线器