ER图与范式

简介: 一、ER图 1、基本概念 1)实体或实例(instance) 实体指客观存在并相互区分的事物(也称为实体集实例或实例)。

一、ER图

1、基本概念

1)实体或实例(instance)

实体指客观存在并相互区分的事物(也称为实体集实例或实例)。实体可以是一个具体的人或物,如张三、一辆汽车等,也可以是抽象的事件或概念,如学生的一次选课、一场演出等。

2)实体集

实体集表示一个现实的喝抽象事物的集合,这些事物必须具有相同的属性或特征。例如,学生实体集指全部学生的集合。这个集合中的一个元素就是这个实体集的一个实例。

3)属性

属性用于描述一个实体集的性质和特征。例如,学生Student实体集的属性有学号Sno、姓名Sname、性别Sex、出生年月Birth等,人们用一组属性来描述一个实体集的属性特征。

每个属性的取值范围称为域。例如,学号域为6位整数,姓名域为8位字符,性别域为2位字符。属性的具体取值叫属性值,例如,学号域的某个取值为“99001”、姓名域的某个取值为“王明”、性别域的一个取值为”男“、出生年月域的一个取值为”1982年3月5日“。学生属性的这些取值描述了现实世界中的一个学生王明同学个人的基本信息。

4)码

实体集中能唯一标识每一个实例的属性或属性组称为该实体集的码。

例如,在学生实体集中,学号就是码,它可以用来标识学生集合中的每一个对象,而姓名就不是码,因为学生可能有重名。

5)联系

联系描述现实世界中实物之间的关系。例如,一个学生选了一门课程,一个供应商供应多种零件等。

现实世界事物之间的联系可归纳为三类:

1)一对一联系(1:1)

若对于实体集A中的每一个实例,实体集B中至多有一个实例与之联系,反之亦然,则称实体集A和实体集B具有1:1联系。

例如,系和系主任两个实体集就存在1:1的联系,因为一个系只有一个系主任,而一个系主任只负责管理一个系。

2)一对多联系(1:n)

若对于实体集A中的每一个实例,实体集B中有n个实例(n>=0)与之联系,而对于实体集B中的每个实例,实体集A中至多有一个实例与之联系,则称实体集A与实体集B存在1:n的联系。

例如,系、学生两个实体集之间就存在着1:n的联系,因为一个系要招收若干名学生,而每一个学生只属于同一个系。

3)多对多联系(m:n)

若对于实体集A中的每一个实例,实体集B中有n个实例(n>=0)与之联系,而对于实体集B中的每个实例,实体集A中有m个实例(m>=0)与之联系,则称实体集A与实体集B存在m:n的联系。

例如,学生和课程两个实体集之间就存在着m:n的联系,因为一名学生可以选修多门课程,而每门课程可以被多个学生选修。

二、范式

对于同一个应用问题,可以构造出不同的ER模型,所以也可能设计出不同的关系模式。不同的关系模式性能差别很多,为了评价数据库模式的优劣,E.F.Codd在1971年至1972年系统地提出了第一范式(First Normal Form,1NF)、第二范式(Second Normal Form,2NF)和第三范式(Third Normal Form,3NF)的概念。1974年Codd和Boyce又共同提出BCNF范式,作为第三范式的改进。一个低级范式的关系模式,通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这种过程称为规范化。规范化设计方法也称关系模式的规范化。

1、第一范式

设有关系模式R(F,U),如果R的每一个属性值都是不可分的数据项(原子项),则此关系模式为第一范式。

2、第二范式

若关系模式R(F,U)是1NF,且每个非主属性完全函数依赖于码,则称R为第二范式。也就是说,在2NF中不存在非主属性对码的部分函数依赖。

3、第三范式

若关系模式R(F,U)是1NF,且不存在非主属性对主码的传递函数依赖,则称R为第三范式。

4、BCNF(改进的第三范式)

如果关系模式R是1NF,且每个属性(包括主属性)既不存在部分函数依赖也不存在传递函数依赖于候选码,则称R是改进的第三范式(Boyce—Codd Normal Form,BCNF)

5、第四范式

如果关系模式R属于1NF,对于R的每个非平凡的多值依赖X->Y(Y不属于X),X含有候选码,则称R是第四范式,即R属于4NF。

6、第五范式

设R是一个满足第五范式的关系模式,当且仅当R的每一个非平凡连接依赖都被R的候选码所蕴含。

目录
相关文章
|
9月前
架构学习——ER图
架构学习——ER图
134 0
|
9月前
|
数据库
ER图总结
ER图总结
81 0
|
8月前
|
数据采集 领域建模 数据库
如何画领域模型图(数据架构/ER图)
如何画领域模型图(数据架构/ER图)
1723 1
如何画领域模型图(数据架构/ER图)
|
9月前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
数据架构重要的输出是数据-实体关系图,简称 ER 图。ER 图中包含了实体(数据对象)、关系和属性 3 种基本成分。ER 图可以用来建立数据模型。如何准确的建立产品的数据模型,需要分解出业务需要什么样的数据。数据域的分解过程是站在业务架构的基础上,对业务域进行模型分析的过程。
335 0
|
9月前
|
数据库
er图-为什么画er图?有哪些规范?
提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。我认为就是用来描述程序产生的数据之间的关系。
|
9月前
|
数据库
【系统架构】ER图
【系统架构】ER图
|
10月前
|
机器学习/深度学习 算法 数据挖掘
图(Graph)--概念及应用
本文分享了关于图的概念、图的数学表示及图的应用等内容,以供参考学习
199 0
|
11月前
|
移动开发 供应链 NoSQL
概念结构设计ER图
概念结构设计ER图
406 0
|
数据采集 领域建模 数据库
架构设计:领域模型图(数据架构/ER图)
数据架构重要的输出是数据-实体关系图,简称 ER 图。ER 图中包含了实体(数据对象)、关系和属性 3 种基本成分。ER 图可以用来建立数据模型。如何准确的建立产品的数据模型,需要分解出业务需要什么样的数据。数据域的分解过程是站在业务架构的基础上,对业务域进行模型分析的过程。说起业务建模,大家很快会想到领域模型这个概念。这里的思路是通过领域建模来逐步提取系统的数据架构图。
1033 0
|
存储 数据可视化 算法
揭秘可视化图探索工具 NebulaGraph Explore 是如何实现图计算的
在可视化图探索工具 NebulaGraph Explorer 3.1.0 版本中加入了图计算工作流功能,针对 NebulaGraph 提供了图计算的能力,同时可以利用工作流的 nGQL 运行能力支持简单的数据读取,过滤及写入等数据处理功能。 本文将简单分享下 NebulaGraph Explorer 中集成图计算的基本实现原理。
377 0