博客
关于我
概念结构设计
阅读量: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:将 HEX 字符串转换为字节
查看>>
Python:将列表与范围列表合并
查看>>
Python:将列表列表初始化为一定大小,
查看>>
Python:带有生成器的给定集合的幂集
查看>>
Python:按字符的位置拆分字符串
查看>>
Python:替换嵌套字典中的值
查看>>
Python:爬取数据出现response.status_code为403解决方法
查看>>
Python:爬取数据出现response.status_code为418解决方法
查看>>
Python:生成“元组集“;来自“元组列表“;不考虑顺序
查看>>
Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)
查看>>
Python:用渐进式数字重命名列表中的重复项而不对列表进行排序
查看>>
Python:矩形参数无效
查看>>
Python:语法进阶
查看>>
Python:调用复制函数时调用 Python 对象时超出了最大递归深度
查看>>
Python:这两个 import 语句有什么区别?
查看>>
Python:通过串口从 Velleman k8090 读取数据
查看>>
python:遍历具有列表值的字典
查看>>
Python:降低精度 pandas 时间戳数据帧
查看>>
python:非阻塞子进程,检查标准输出
查看>>