软件测试Python专家之路程序员python数据分析人工智能机器学习

数据库管理系统(年薪50万DBA基础)-快速入门教程5-ER图模

2019-07-27  本文已影响6人  python测试开发

什么是ER模型?

ER或(实体关系模型 Entity Relational Model)是一个高级概念数据模型图。 实体 - 关系模型基于现实世界实体的概念以及它们之间的关系。

ER建模可帮助您系统地分析数据需求,以生成设计良好的数据库。 因此,在实现数据库之前完成ER建模被认为是最佳实践。

Sample ER Diagram

ER模型的历史

ER图是一种可视化工具,有助于表示ER模型。 1971年Peter Chen提出建立可用于关系数据库和网络的统一约定。 他的目标是使用ER模型作为概念建模方法。

什么是ER图?

实体关系图显示存储在数据库中的实体集的关系。 换句话说,我们可以说ER图可以帮助您解释数据库的逻辑结构。 初看起来,ER图看起来与流程图非常相似。 但是,ER图包含许多专用符号,其含义使该模型独一无二。

为什么要使用ER图?

ER图的组成部分

该模型基于三个基本概念:

实体
属性
关系

Components of the ER Diagram

例如,在大学数据库中,我们可能有学生,课程和讲师的实体。 学生实体可以具有Rollno,Name和DeptID等属性。 他们可能与课程和讲师有关系。

什么是实体?

它可能是一个物理的东西,或者仅仅是关于企业或现实世界中发生的事件的事实。

实体可以是地点,人物,对象,事件或概念,它将数据存储在数据库中。 实体的特征必须具有属性和唯一键。 每个实体都由一些代表该实体的“属性”组成。

实体示例:

实体的表示法

实体集:

学生:实体集是一组类似的实体。 它可能包含属性共享相似值的实体。 实体由其属性表示,也称为属性。 所有属性都有各自的值。 例如,学生实体可以具有姓名,年龄,类别作为属性。

实体示例:

大学可能有一些部门。 所有这些部门都聘请了各种讲师并提供了几个课程。学生在特定课程中注册并注册各种课程。 来自特定部门的讲师参加每门课程,每位讲师都会教授不同的学生群体。

关系

关系只不过是两个或多个实体之间的联系。 例如,汤姆在化学系工作。

实体参与关系。 我们经常可以识别动词或动词短语的关系。

例如:

弱实体

弱实体是一种没有键属性的实体。 可以通过考虑另一个实体的主键来唯一地识别它。

Weak Entities

在一个例子中,“Trans No”是ATM中一组交易中的鉴别器。

让我们通过将它与强实体进行比较来了解更多有关弱实体的信息

强实体集 弱实体集
强实体集始终具有主键。 它没有足够的属性来构建主键。
它由矩形符号表示。 它由双矩形符号表示。
它包含由下划线符号表示的主键。 它包含一个部分键,由虚线下划线符号表示。
强实体集的成员称为主实体集。 弱实体集的成员称为从实体集。
主键是其有助于识别其成员的属性之一。 在弱实体集中,它是强实体集的主键和部分键的组合。
在ER图中,使用菱形符号显示两个强实体集之间的关系。 通过使用双菱形符号显示的一个强实体和弱实体组之间的关系。
设置关系的强实体的连接线是单一的。 连接弱实体集以识别关系的线是双倍的。

属性

它是实体类型或关系类型的单值属性。

Attributes

例如,讲座可能有属性:时间,日期,持续时间,地点等。

属性由椭圆表示

**属性类型** **描述**
**简单的属性** 简单属性不能再进一步划分。 例如,学生的联系电话。 它也被称为原子价值。
**复合属性** 可以分解复合属性。 例如,学生的全名可以进一步分为名字,名字和姓氏。
**派生属性** 此类属性不包括在物理数据库中。 但是,它们的值来自数据库中存在的其他属性。 例如,不应直接存储年龄。 相反,它应该来自该员工的出生日期。
**多值属性** 多值属性可以包含多个值。 例如,学生可以拥有多个手机号码,电子邮件地址等。

基数

定义两个实体或实体集之间关系的数字属性。

不同类型的主要关系是:

一对一的关系
一对多的关系
愿与一个人的关系
多对多关系

Cardinality

来自实体集合X的一个实体可以与实体集合Y的至多一个实体相关联,反之亦然。

示例:一名学生可以注册多个课程。 但是,所有这些课程只有一行回到那个学生。

来自实体集合X的一个实体可以与实体集合Y的多个实体相关联,但是来自实体集合Y的实体可以与至少一个实体相关联。

例如,一个班级由多个学生组成。

来自实体集合X的多于一个实体可以与实体集合Y的至多一个实体相关联。然而,来自实体集合Y的实体可以与实体集合X中的多于一个实体相关联,也可以不与之相关联。

例如,许多学生属于同一个班级。

来自X的一个实体可以与来自Y的多个实体相关联,反之亦然。

例如,作为一个群体的学生与多个教师相关联,并且教师可以与多个学生相关联。

ER-图表符号

ER-图表是描述数据如何相互关联的数据的直观表示。

ER- Diagram Notations

参考资料

创建ERD的步骤

Steps to Create an ERD

让我们用一个例子来研究它们:

在大学里,学生就读于课程。 必须将学生分配到至少一门或多门课程。 每门课程由一位教授授课。 为了保持教学质量,教授只能提供一门课程

实体识别

我们有三个实体

关系识别

我们有以下两种关系

基数识别

对于他们的问题陈述,我们知道,

识别属性

您需要研究组织当前维护的文件,表单,报告和数据,以识别属性。 您还可以与各利益相关方进行面谈,以确定实体。 最初,识别属性而不将其映射到特定实体非常重要。

一旦有了属性列表,就需要将它们映射到已识别的实体。 确保要将属性与一个实体配对。 如果您认为属性应属于多个实体,请使用修饰符使其唯一。

映射完成后,识别主键。

对于课程实体,属性可以是持续时间,学分,作业等。为了方便起见,我们只考虑了一个属性。

创建ERD

ERD图的更现代的表示

Create the ERD

制定有效的ER图的最佳实践

小结

上一篇下一篇

猜你喜欢

热点阅读