zoukankan      html  css  js  c++  java
  • ER模型学习

    1.实体(entity)就是具有公共性质的可区别的现实世界对象的集合。例如CAP数据库

    中的客户,代理商、产品都为实体。分别表示不同对象的集合。数学表述中通常用一个

    大写字母代表实体,一个实体E由一个现实世界对象的集合构成,使用小写字母加下标

    表示这些对象:E={e1,e2,....,en}.

    2.属性(attribute)是描述实体或者联系的性质的数据项,在实体的定义中说,属于一个实体

    的所有实体实例具有共同性质,这些性质就是属性。在一个实体中,能够唯一标识实体的实例

    的属性或属性集合称为实体标识符(主键)。属性域是属性的可能取值范围,也称为属性的值域。

    属性的分类

    基本属性和复合属性

    基本属性石不可再分割的属性,复合属性石可再分解为其他属性的属性。例如性别,年龄,为基本属性;

    地址属性为复合属性,因为地址可以分解为邮编、省(市)、县(区)、街道等子属性。

    单值属性和多值属性

    单值属性指的是同一实体的属性只能取一个值,多值属性指同一实体的某些属性可能取多个值,例如

    年龄属性只能取一个值,是单值属性;学位是多值属性,可以去学士、硕士、博士多个值,爱好也是多

    值属性。

    导出属性和空值属性

    通过具有相互依赖的属性推导而产生的属性称为导出属性,例如:年龄可以由出生年份导出;当实体的实例

    在某个属性上没有值时,应使用空值(NULL),NULL还可以用以值未知,可以使用null的属性称为空值属性;

     3.联系(relationship):给定m个实体的有序列表:E1,E2,.....Em(列表中同一实体可以出现多次),

    一个联系R定义了这些实体实例之间的对应规则。联系表示一个或多个实体之间的关联关系,联系是实体之间的

    一种行为,一般用动词(英语用动名词)来命名联系。

    联系的元数

      一个联系涉及到的实体个数,称为该联系的元数或度数。同一个实体的实例之间的联系称为一元联系,也称为递归联系;

    两个不同实体的实例之间的联系称为二元联系;三个不同实体实例之间的联系称为三元联系;以此类推。

     联系的属性

    联系也可以有附加的属性。经常先不考虑ER图中的的联系的属性。集中精力考虑实体的联系、

    联系中实体的基数

    两个有联系R的实体E和F,E中每个实例可能与F中的实例联系,(联系实例数目大于0),也可能没有与F中的实例联系(联系实例数目等于0)

    E中每个实例与F中有联系实例数目的最小值和最大值,称为E的基数。记作mincard(E,R)和maxcard(E,R)。同理有mincard(F,R)和

    maxcard(F,R)。

    联系中实体的基数

    例如学生实体E和课程实体F有选修联系R,每位学生至少选1门课,最多选10门课;每门课程最多100人选,至少可以没人选。则有:

          mincard(E,R)=1,maxcard(E,R)=10。

          mincard(E,R)=0,maxcard(F,R) = 100。

    一个实体E参与联系R,并且mincard(E,R)=x,maxcard(E,R)=y,那么在ER图中,E和R之间的连接线可以用标记:card(E,R)=(x,y)表示

    实体的基数。

    联系的方式

     联系涉及到实体之间实例的对应方式,二元联系的联系方式有四种:1:1,1:N,M:N,M:1。由于M:1是1:N的反面,通常不单独提及。

    如果实体E和F在联系R中有maxcard(E,R)=1,maxcard(F,R)=1,那么E和F联系是1:1的。

    如果实体E和F在联系R中有maxcard(E,R)=N,maxcard(F,R)=1,那么E和F联系是1:N的。

    如果实体E和F在联系R中有maxcard(E,R)=M,maxcard(F,R)=N,那么E和F联系是M:N的。

    当一个联系R中的实体E具有mincard(E,R)=1时,E称为强制参与R(mandatory participation),或简称E在R中

    是强制的,一个实体F在R中不是强制的,则称为可选的(optional participation)。

    类似地,可以给出一元联系,三元联系的一对一,一对多,多对多定义,特别注意多元联系的多对多联系方式。

    例子:

  • 相关阅读:
    浅谈模块化开发
    用gulp搭建并发布自己的cli脚手架
    取值运算符新用法
    vue双向绑定之简易版
    获取对象属性之括号方式
    前端格式化工具之Prettier
    git操作之摘樱桃
    Sort
    MongoDB
    项目使用本地的包
  • 原文地址:https://www.cnblogs.com/liuxiuhao/p/2453562.html
Copyright © 2011-2022 走看看