美文网首页软件测试Python专家之路程序员python数据分析人工智能机器学习
数据库管理系统(年薪50万DBA基础)-快速入门教程5-ER图模

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

作者: python测试开发 | 来源:发表于2019-07-27 06:30 被阅读6次

    什么是ER模型?

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

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

    Sample ER Diagram

    ER模型的历史

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

    什么是ER图?

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

    • ER模型允许您绘制数据库设计
    • 易于使用的图形工具,用于建模数据
    • 广泛用于数据库设计
    • 数据库逻辑结构的GUI表示
    • 识别系统中存在的实体以及这些实体之间的关系

    为什么要使用ER图?

    • 定义与实体关系建模相关的术语
    • 预览所有表的连接方式,每个表上的字段
    • 帮助描述实体,属性,关系
    • ER图可以转换为关系表,允许您快速构建数据库
    • 数据库设计人员可以使用ER图作为在特定软件应用程序中实现数据的蓝图
    • 借助ERP图,数据库设计人员可以更好地理解数据库中包含的信息
    • 允许ERD与用户的数据库逻辑结构进行通信

    ER图的组成部分

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

    实体
    属性
    关系

    Components of the ER Diagram

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

    什么是实体?

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

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

    实体示例:

    • 人:员工,学生,病人
    • 地点:商店,建筑
    • 对象:机器,产品和汽车
    • 事件:销售,注册,续订
    • 概念:帐户,课程

    实体的表示法

    实体集:

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

    实体示例:

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

    关系

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

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

    例如:

    • 你正在参加这个讲座
    • 我正在讲课
    • 只是loke实体,我们可以根据关系类型对关系进行分类:
    • 一名学生参加讲座
    • 讲师正在讲课。

    弱实体

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

    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图的最佳实践

    • 消除任何冗余实体或关系
    • 确保所有实体和关系都已正确标记
    • ER图可能有各种有效的方法。 您需要确保ER图支持您需要存储的所有数据
    • 确保每个实体仅在ER图中出现一次
    • 命名每个关系,实体和属性都在图表中表示
    • 永远不要将关系彼此联系起来
    • 使用颜色突出显示ER图的重要部分

    小结

    • ER模型是高级数据模型图
    • ER图是一种可视化工具,有助于表示ER模型
    • 实体关系图显示存储在数据库中的实体集的关系
    • ER图可帮助您定义与实体关系建模相关的术语
    • ER模型基于三个基本概念:实体,属性和关系
    • 实体可以是地点,人物,对象,事件或概念,它将数据存储在数据库中
    • 关系只不过是两个或多个实体之间的联系
    • 弱实体是一种没有其关键属性的实体,实体类型或关系类型的单值属性,可以帮助您定义两个实体或实体集之间关系的数字属性
    • ER-图表是描述数据如何相互关联的数据的直观表示
    • 在绘制ER图时,您需要确保所有实体和关系都已正确标记。

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/vdvcrctx.html