E-R图设计原则

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32552903/article/details/87782482

1、前言

E-R图(Entity-Relationship Diagram)也称(实体-关系图)用于描述现实世界的事物,以及事物与事物之间的关系。其中E表示实体、R表示关系。它提供了表示实体类型、属性和关系的方法。下面将介绍实体、属性、关系,以及E-R图的设计原则。

2、实体和属性

在数据库领域中,客观世界中的万事万物都被称为实体。实体既可以是指可观存在并相互区别的事物,例如高山、流水等,又可以是一些抽象的概念或地理名词,例如精神生活、吉林省等。实体的特征(外在表现)称为属性,通过属性可以区分同类实体。例如一本书可以具备下列属性:书名、大小、封面颜色等等,并且根据这些属性可以在一堆图书中找到所要的图书。
在通常情况下,开发人员在设计E-R图时,使用矩形表示实体,在矩形内框中写明实体名(实体名是每个实体的唯一标识)使用椭圆表示属性,并且使用无向边将其与实体连接起来。
例1-1、设计图书管理凶的图书实体图。在图书管理系统中,图书是一个实体,它包括编号、条形码、书名、类型、作者、译者、出版社、价格、页码、书架、录入时间、操作员和是否删除等属性。对应的实体图如图所示:
图 图书管理系统的图书实体图

3、关系

在客观世界中,实体并不是孤立存在的,通常还存在一些联系。在E-R图中,可以使用关系表示实体之间的联系。通常使用菱形表示实体间的联系,在棱形框内写明联系名,并且使用无向边将其与有关的实体连接起来。同时,还需要在无向边旁标上关系的类型。在通常请况下,实体间存在以下3种联系。

  • 一对一关系
    一对一关系是指两个实体A和B,如果A中的每一个值在B中之多有一个实体值与之对应,反之亦然,那么则称A和B为一一对应关系。在E-R图中,使用(1:1)表示。例如,在一个图书馆中,只能有一个馆长,反之一个馆长只能在一个图书馆中任职。
  • 一对多关系
    一对多关系是指两个实体A和B,如果A中的每一个值在B中有多个值与其对应,反之B中每一个实体值在A中至多有一个实体值与之对应,那么则称A和B为一对多关系,在E-R中,使用(1:n)表示。例如,在图书馆中,一个书架上可以放置多本书,但是一本书只能放置在一个书架上。因此书架和图书之间存在一对多的关系。
  • 多对多关系
    多对多关系是指两个实体A和B,如果A中的每一个值在B中有多个实体值与之对应,反之亦然,那么则称A和B为多对多关系,在E-R图中,使用(n:n)表示。例如,在图书馆中,一个读者可以借阅多本图书,反之,一本图书也可以被多个多个读者借阅,因此读者和图书之间存在多对多的关系。

4、E-R图设计原则

E-R图的设计虽然没有一个绝对固定的方法,但一般情况下,需要遵循以下基本原则。

  • 先设计局部E-R图,再把每一个局部的E-R图综合起来,生成总体的E-R图。
  • 属性应该存在于且存在于某一个实体或者关系中。这样就可以避免数据冗余。例如在图1-2所示的E-R图中就出现了大量的数据冗余,所借图书属性不能重复。
    图1.2 存在冗余的读者实体图
    图1.2 存在冗余的读者实体图
  • 实体是一个单独的个体,不能存在于另外一个实体中,既不能作为另外一个实体的属性。例如,图1.1所示的图书实体,不能作为借阅实体的一个属性。
  • 同一个实体在同一个E-R图中只能出现一次。
    例1.2 设计图书馆管理系统的E-R图。在图书馆管理系统中,主要包括两个实体和两个关系,两个实体分别是图书和读者实体;两个关系分别是借阅和归还,这两个关系都是多对多的关系。其中,在借阅关系中,还包括借阅日期属性;在归还关系中,还包括归还日期属性。对应的E-R图如图所示。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_32552903/article/details/87782482