博客
关于我
概念结构设计
阅读量: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:非阻塞子进程,检查标准输出
查看>>
PythonABC多重继承
查看>>
Pythonargparse中的多个参数
查看>>
Python关于 *args 和 **kwargs 参数的详解(全)
查看>>
Pythonfrozenset散列算法/实现
查看>>
PythonGTK+3:通过单击列对树视图进行排序
查看>>
pythonnumpy生成二进制流_python/numpy生成的二进制文件,由C读取
查看>>
pythonsign函数_对python函数签名的方法详解 用python怎么写一个自签名证书
查看>>
PythonStudy
查看>>
Pythons__IMPORT__未按预期工作
查看>>
Pythont通过request以及BeautifulSoup爬取几千条情话
查看>>
pythonweb django的学习
查看>>
pythonweb网站开发基础django安装
查看>>
pythonweb网站开发基础创建django项目
查看>>
pythonweb网站开发基础添加应用
查看>>
Python_015 多线程
查看>>
python_73_pickle序列化(接72)
查看>>
python_code_418
查看>>
python_day10 协程 GEVENT
查看>>
python_day1作业
查看>>