数据库学习笔记_2_ER关系模型详解_概念基础

ER模型 全程 entity-relationship data model, 作为一种通用的模型,可以用来表述一个数据库的逻辑结构,构成一个ER模型的概念有三个:entity sets, relationship sets and attributes.

    在介绍entity sets之前我们得先把entity的概念弄清楚,entity,原意是主题,在数据库里指代的就是数据库的表明的一个在真实世界里可以从其他实体中区分出来的一个对象。这个对象可以是抽象的,也可以是具体的,比如说大学里的某个人,也可以是一节课。一个entity必然有着一系列的属性,而在此之中的一些属性能够独一无二的把它指代的对象给区分出来,比如说每个人都有的身份证号之类的。

    而entity sets就是具有相同属性的entity的集合,注意这里的相同指的是他们都能被一个属性的集合给描述,这里就要讲到属性,属性(attribute)是指被每个entity所拥有的可描述的形状,而每一个entity的属性都有它们自己的值。

    而relationship就有点像离散里学到过的函数。不过这里的结合不再是映射,而是一个集合的形式,一个假设E为一个entity set,e为一个entity,那么relationship就是由(e1,e2,e3,e4…en|e1属于E1,e2属于E2….en属于En)这样一对对的有序集合构成的。

    extra concept:

      recursive relationship set:当一个ES(entity set,以后都做此称呼)不止一次的参与进一个RS(同理)的时候,那这个RS就被成为recursive relationship set,FE,有一个表courses,我想弄一个prerequisite courses of a course的relation,那么关系就是

(e1,e2|e1,e2都属于courses).

    descriptive attributes:是关系本身的属性,也就是说每个关系都有一个,这个属性是对于关系本身的补充,个人理解是因为只能对于关系记录这个属性所以不会放在entity的attributes里,一个例子就是学生上了某门课,而他在这门课上获得的绩点就是对于学生-课程关系的descriptive attributes.

  大部分的函数是二元的(binary relationship set)

  关系的元数被称为degree.

  Attributes详解:

    每一种attribute都有它自己的domain(这个是基础就不多讲了)
    从数学语言上来讲,attribute就是一种将它所对应的entity映射到对应domain的函数。

    对于ER模型里的attribute来讲有以下类型:

      simple and composite 类型:到现在为止我们讨论过的基本都是simple类型,即是:对于一个attribute它的组成部分唯一,但是还有一个类型被称为composite attribute,就是由其他子属性构成的属性,比如说地址,就可以细分成省市区,这样能方便我们更好的管理数据。

     多值类型:一个事物拥有多个值,比如说一个人可能有多个电话号码也可能没有电话号码。

     派生类型(derived value):里面的值并没有本身的独立性,而是从其他的属性中派生出来的属性。

     无法定义的值:NULL.

posted @ 2017-04-17 16:19  duskcloudxu  阅读(4327)  评论(0编辑  收藏  举报