数据库系统—实体联系模型

实体联系模型

数据库设计的六个阶段

  • 需求分析阶段
  • 概念结构设计阶段
  • 逻辑结构设计阶段
  • 数据库物理设计阶段
  • 数据库实施阶段
  • 数据库运行和维护阶段

实体联系模型用实体表示事务,用联系表示物体之间的联系

概念模型

概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言

基本概念

实体和实体型

实体表示现实世界中某一具体的事物,具有相同性质的实体组成了一个实体型,每个实体型要有一个名字,一般用名词表示。

每个实体有一组属性,表示实体型的特点或性质。单值属性,多值属性,派生属性

主关键字,候选关键字:唯一性,最小性

联系和联系型

物体之间的联系由实体型之间的联系型表示;

联系型要有名字,一般用动词或动词短语

:一个联系型所关联的实体型的个数叫做联系型的度

联系的分类

  • 一对一联系
  • 一对多联系
  • 多对多联系

基数约束

精确地描述实体型的一个实体可以在一个联系中出现的次数。

表示方法:min…max

min=1的约束叫做强制参与约束(被施加基数约束的实体型中的每个实体都要参与联系),min=0的约束叫做非强制参与约束。

常见的问题

多值属性和符合属性常被表示成一个联系型

E-R图

矩形框—实体型;单椭圆—单值属性;双椭圆—多值属性;关键字加下划线

弱实体型

如果一个实体型的存在依赖于其他实体型的存在,则这个实体型叫做弱实体型

在E-R图中,用双矩形表示弱实体型,用双菱形表示识别联系

IsA属性

  • 分类属性
  • 不相交约束:添加符号 × \times ×
  • 完备性约束:完全特化,部分特化

特化(specialization)

在实体集内部进行分组的过程称为特化

Overlapping specialization:一个实体可以属于多个特化实体集

disjoint specialization:一个实体只能属于一个特化实体集

part-of联系

part-of联系即部分联系,它表明某个实体型是另外一个实体型的一部分。

  • 非独占联系:即使整体被破坏,整体的部分仍然可以独立存在,可以通过基数约束来表示(非强制参与联系)
  • 独占联系:用弱实体型和识别联系的方法表示

概化(generalization)

概化是高层实体集与一个或多个低层实体集间的包含关系

超类-子类(superclass-subclass)

约束:

  • Condition-defined:成员资格的确定基于实体是否满足一个显示的条件或谓词
  • User-defined
  • disjoint
  • Overlapping
  • total generalization\specialization:每个高层实体必须属于一个低层实体集
  • Partial generalization\specialization:允许一些高层实体不属于任何低层实体集

属性继承

高层实体集的属性被底层实体集 inherit

聚集(aggregation)

聚集是一种抽象,通过这种抽象,联系被视为高层实体。

从E-R图到关系数据库

逻辑结构的设计就是把概念结构设计阶段设计好的E-R图转换为与所选用的DBMS产品所支持的数据模型相符合的逻辑结构。

联系型的表示方法

1:1联系

  • 方法1:把联系型转换为关系,两个实体的码组成关系的码
  • 方法2:把两个实体强制合并,共同建立一个关系

1:n联系

  • 方法1: 将联系型转换为关系,关系的码为n端实体的码
  • 方法2: 将两个实体强制合并,共同建立一个关系

m:n联系

多元关系可以转化为一个关系模式,各实体码组成关系的码或关系码的一部分

IsA联系的表示方法

一般情况下,父实体和各子实体分别用独自的关系表示,子实体中要包含父实体的码。

如果IsA满足不相交约束,则也可以用一个关系表示父实体和所有子实体

如果IsA满足完备性约束,则也可以去除表示父实体的关系,但是父实体的所有属性在每个子实体的关系中都必须出现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值