博客
关于我
概念结构设计
阅读量: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/

你可能感兴趣的文章
NTP及Chrony时间同步服务设置
查看>>
NTP服务器
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Numix Core 开源项目教程
查看>>
numpy
查看>>
NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
查看>>
numpy 或 scipy 有哪些可能的计算可以返回 NaN?
查看>>
numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
查看>>
numpy 数组与矩阵的乘法理解
查看>>
NumPy 数组拼接方法-ChatGPT4o作答
查看>>
numpy 用法
查看>>