博客
关于我
概念结构设计
阅读量:381 次
发布时间:2019-03-04

本文共 1053 字,大约阅读时间需要 3 分钟。

概念模型与E-R模型

概念模型是对现实世界的抽象和简化,通过实体、属性、联系等概念进行描述。它是对数据进行概念化处理的产物,具有真实性、可理解性、可修改性和可转换性等特点。

实体(Entity)

实体是客观存在并能被区别开来的事物。它是概念模型的基本构成单元。例如,学生是实体。

属性(Attribute)

属性是实体所具有的某一特性。例如,学生的学号、姓名、性别等都是属性。

码(Key)

码是唯一标识实体的属性集。例如,学号可以作为学生实体的码。

实体型(Entity Type)

实体型是具有相同属性的实体的集合的抽象和简化。例如,学生实体型包括学号、姓名、性别等属性。

实体集(Entity Set)

同一类型的实体集合称为实体集。例如,全体学生是实体集。

联系(Relationship)

联系描述实体之间的关系。实体内部的联系指属性之间的关系,实体之间的联系指不同实体集之间的关系。

E-R模型

E-R图是描述实体、属性和联系的视觉化工具。其中:

  • 实体用矩形表示,
  • 属性用椭圆表示,
  • 联系用菱形表示。

实体之间的联系

联系可以是1:1、1:n、m:n等类型。

1:1联系

如果一个实体集A中的每个实体与实体集B中的至多一个实体联系,则称为1:1联系。

1:n联系

如果一个实体集A中的每个实体与实体集B中的n个实体联系,而实体集B中的每个实体最多与实体集A中的一个实体联系,则称为1:n联系。

m:n联系

如果实体集A中的每个实体与实体集B中的n个实体联系,而实体集B中的每个实体与实体集A中的m个实体联系,则称为m:n联系。

多对多联系

如果实体集A中的每个实体与实体集B中的多个实体联系,而实体集B中的每个实体也与实体集A中的多个实体联系,则称为多对多联系。

实体型之间的联系

实体集之间可以存在一对多、多对多等联系。

一对多联系

如果一个实体集E1中的每个实体最多与一个实体集E2中的实体联系,则称为一对多联系。

多对多联系

如果一个实体集E1中的每个实体与实体集E2中的多个实体联系,而实体集E2中的每个实体也与实体集E1中的多个实体联系,则称为多对多联系。

实体型与联系的示例

以课程、教师和参考书为例:

  • 一门课程对应一个教师(一对多联系)。
  • 一门课程对应一本参考书(一对多联系)。

实体型与联系的另一个示例

以供应商、项目和零件为例:

  • 一个项目可由多个供应商提供零件(多对多联系)。
  • 每种零件可由多个供应商供给(多对多联系)。

E-R图示例

下图展示了课程、教师和参考书之间的关系。

转载地址:http://pcne.baihongyu.com/

你可能感兴趣的文章
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>
python各进制的表述与转换
查看>>
python各种库安装
查看>>
python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
查看>>
python可维护性_使用这7大神器,让你的Python 代码更容易于维护
查看>>
python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
查看>>
Python变量命名方法-ChatGPT4o作答
查看>>
Python变量与运算符
查看>>
python单元测试之unittest
查看>>
Python单元测试unittest实战
查看>>
python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
查看>>
Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
查看>>
Python加速运行技巧
查看>>
python办公自动化基础遍历文件夹
查看>>
python办公自动化基础输出文件和文件夹
查看>>