描述E-R图,E-R图举例,关于C语言中E-R图的详解

描述E-R图,E-R图举例,关于C语言中E-R图的详解

今天,边肖将与你分享一个关于C语言中E-R图的详细解释。边肖认为内容相当不错。现在分享给大家,有很好的参考价值。有需要的朋友一起看看吧。

E-R 英文缩写为(Entity Relationship Diagram)也称实体-联系图。

本文提供了一种表示实体类型、属性和关系的方法来描述现实世界的概念模型。

下面我们来详细解释一下e-r图:

从上面的的图可以看到一个完整的e-r图有四个部分:

1.矩形框,矩形表示实体类型,实体名称写在矩形框内;

2.椭圆框,表示实体的属性,通过无向边将实体与对应的实体连接起来;

3.一个菱形框,菱形代表实体之间的关系,联系人姓名写在菱形框中。

4.实体和属性之间的连接线;和实体联系人;它通过一条直线与contact属性相连。有单行道和双行道两种。同时,在线的旁边标记触点的类型(1:1、1:n或m:n)。

构图要素

E-R图的三个基本元素是实体类型、属性和关系,它们的表达式如下:

1.实体

一般来说,能够客观区分的事物都是实体,实体可以是具体的人和事,也可以是抽象的概念和联系。关键是一个实体可以与另一个实体区分开,具有相同属性的实体具有相同的特征和属性。使用实体名称及其属性名称来抽象和描述相似的实体。在E-R图中用矩形表示,实体名称写在矩形中;比如学生张三,学生李四就是实体。如果是弱实体,在矩形周围放一个实心矩形。

2.属性

一个实体的某种特征。一个实体可以由几个属性来表征。属性不能与实体分开;属性是相对于实体的。在E-R图中用椭圆表示,用无向边与对应实体连接;比如学生的名字,学号,性别,都是属性。如果是多值属性,则在椭圆外设置实心椭圆。如果是派生属性,则用虚线椭圆表示。

3.联系

连接,也称为关系,反映了信息世界中实体内部或实体之间的关系。实体的内部联系通常是指组成实体的属性之间的联系;实体之间的联系通常是指不同实体集合之间的联系。E-R图用菱形表示,图中写有触点名称,用无向边连接相关实体,无向边标注触点类型(1: 1、1 :n或m: n)。比如老师和学生之间是教学关系,学生和学生之间是选课关系。如果是弱实体连接,在菱形外面套一个菱形。

设计步骤

一、调查分析

(1)在需求分析阶段选择本地应用,通过对应用环境和需求的详细调查和分析,用多层数据流图和数据字典描述整个系统。

设计E-R图的第一步是根据系统的具体情况,从多层数据流图中选择一个合适的层次(经验很重要)数据流图,使这组图的每一部分都对应一个本地应用。我们可以根据这个层次的数据流图来设计E-R图。一般来说,中间层数据流图能更好地反映系统中各个局部应用的子系统构成,所以人们往往以中间层数据流图作为设计E-R图的依据。

(2)逐一设计E-R图。每个本地应用对应一组数据流图,本地应用涉及的数据已经收集到数据字典中。现在需要从数据字典中提取这些数据,参考数据流图,1。校准本地应用程序中的实体,2 .识别实体的属性和代码;3 .确定实体及其类型之间的关系(1: 1,1: n,m: n)。

以下是步骤1、2和3的具体说明:

1本地应用中实体的标定现实世界中具有一些共同特征和行为的一组对象,可以抽象为一个实体。对象和实体之间的关系是“是的成员”。例如,在学校环境中,诸如张三、李四和王的对象被抽象为学生实体。对象的组件可以抽象为实体的属性。组合和对象类型之间的关系是“是的一部分”。比如学号、姓名、专业、年级等。可以抽象为学生实体的属性。学生编号是标识学生实体的代码。

2实体的属性,识别实体的代码。其实实体和属性都是相对的,很难有泾渭分明的边界。同样的东西,在一个应用环境中作为‘属性’,在另一个应用环境中一定是‘实体’。一般来说,在给定的应用环境中:a,属性不能再有需要描述的性质。也就是说,属性必须是不可分的数据项。b、属性不能与其他实体有联系。连接只发生在实体之间。

3确定实体及其类型之间的联系(1: 1,1: n,m: n)。根据需求分析,需要考察实体之间有无连接,有无冗余连接。

二、合并生成

E-R图之间存在三种冲突:属性冲突、命名冲突和结构冲突。

1属性冲突。

(1)域冲突,即属性值的类型、范围或集合不同。例如,有些属性“零件号”被定义为字符型,有些是数值型;

(2)属性值单元冲突。例如,属性“重量”是用克和千克来度量的。

2命名冲突。

(1)同名异义。意义不同的对象名称相同;

(2)不同的名称同义(一个以上的意思)。同一个意义对象的名称是不同的。比如:“项目”和“课题”。

3结构冲突。

(1)同一对象在不同的应用中有不同的抽象。例如,“课程”在一个本地应用程序中被视为实体,而在另一个本地应用程序中被视为属性;

(2)同一实体的不同局部视图所包含的属性不完全相同,或者属性的顺序不完全相同;

(3)实体之间的关系在不同的局部视图中呈现不同的类型。例如,实体E1和E2在本地应用程序A中是多对多的,但在本地应用程序B中是一对多的;再比如E1和E2在本地应用X中是关联的,而E1、E2和E3在本地应用y中是关联的,解决方法是根据应用的语义综合或调整实体连接的类型。

三、修改重构

生成基本的E-R图。合并E-R图以生成初步的E-R图。之所以称为初步E-R图,是因为可能存在冗余数据和冗余实体间链接,即存在可以从基础数据导出的数据和可以从其他链接导出的链接。冗余数据和冗余连接很容易破坏数据库的完整性,增加了维护数据库的难度。因此,在获得初步的E-R图后,要进一步检查E-R图中是否存在冗余,如果有,要设法消除。为了修改和重构初步的E-R图以消除冗余,主要采用分析方法。此外,标准化理论可以用来消除冗余。

举例:

研究所有的科研人员,每个科研人员只属于一个研究所,研究所有的科研项目,每个研究所有几个科研人员,每个科研人员可以参加几个科研项目。科研人员在参与项目时要统计工作量。“研究所”有属性:编号、姓名、地址,“科研人员”有属性:员工编号、姓名、性别、年龄、职称。“科研项目”有属性:项目编号、项目名称、经费。

试画ER图,并注明属性和触点类型。

举例2

一个工厂生产几种产品,每种产品由不同的零件组成,有些零件用在不同的产品上。这些零件由不同的原材料制成。不同部分使用的材料可以相同。这些零件按其产品不同放在仓库里,原材料按其类型放在几个仓库里。

产品属性包括:编号和名称。

零件属性有:编号、名称。

材料属性包括:数量、na

请用E-R图画出工厂产品、零件、物料、仓库的概念模型,并注明属性和联系类型。

总结

这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 利用c语言实现三子棋游戏的目标,c语言三子棋程序,利用C语言实现三子棋游戏
  • 留言与评论(共有 条评论)
       
    验证码: