数据库设计


前言

试图用最通俗的笔记概括数据库设计这一章节的内容,麻烦看官老爷点赞关注支持一下动力猿吧!


一、概念

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

二、基本E-R模型

1.组成部分

在这里插入图片描述
在这里插入图片描述

2.设计E-R模型

在这里插入图片描述
问题一:实体集还是属性?
在这里插入图片描述

在这里插入图片描述
问题二:联系还是新加一个实体集?
在这里插入图片描述

在这里插入图片描述
问题三:三元联系(约束太强)还是二元联系?

在这里插入图片描述

在这里插入图片描述

三、扩展的E-R模型

扩展的E-R模型在以往画E-R图的题中几乎没有涉及,但其实一点都不高深就是四个注意事项。这块知识要考则题目会明确提示,以防万一记录一下。期待您的关注。

1.参与约束

1.实体的参与度

实体参与联系的最小和最大次数,记作(min,max)。
例如:规定每位学生最少选三门课,最多六门课,则学生在选修联系中的参与度表示为 (3,6)。规定有些课程可以无人选,但任一门课程最多允许100人选,则课程的参与度为 (0,100)。
请添加图片描述

2.部分参与与全参与

部分参与:min=0,即不是实体集中每个实体都参与联系,用单实线表示。

全参与:min>0,即实体集中每个实体都参与联系,用双实线表示(题目特别说明)。

例如:每个学生都必须选修课程,但一门课程可以没有学生选修。
请添加图片描述

2.弱实体

1.弱实体

弱实体是依赖于其他实体存在而存在的实体,例如家属依赖于职工的存在而存在。
请添加图片描述

2.弱实体的特点

1.弱实体不能独立存在,它总是依附于某一所有者实体即强实体。强实体集与弱实体集之间必须是一对多联系,且弱实体必须是全部参与。
例如,每一个已存在的家属必唯一依赖于一个职工。
请添加图片描述
2.弱实体不一定有自己的码。例如家属实体集可能有姓名、性别、出生年月等信息,但这些信息不足以标识一个家属。我们一般通过强实体的码+弱实体的某一属性(称之为部分码)来标识一个弱实体。

在这里插入图片描述

3.弱实体的表示

弱实体用双线框表示,注意全参与和一对多联系,最后部分码下划线是虚线。
请添加图片描述

3.类层次

1.ISA联系

某些实体型是某个实体型的子类型,例如研究生和本科生是学生的子类型,学生是它们的父类型。这种父类-子类的联系称之为ISA联系(研究生 is a 学生)。

ISA联系中子类继承父类(超类)的所有属性,当然还可以拥有自己的属性。

2.类层次的表示

在这里插入图片描述

3.定义在ISA联系上的两种约束关系

Overlap约束:指定两个子类之间是否允许包含同一实体。

Covering约束:指定子类中所有实体是否能包含父类中所有实体。

例如:学生=本科生+研究生,则该ISA联系存在Covering约束,不存在Overlap约束。
在这里插入图片描述
又如:职工=教师+行政人员+外聘人员,且教师可能是行政人员。则此ISA联系存在Overlap约束,不存在Covering约束。
在这里插入图片描述

4.聚合

1.聚合

把参与练习的实体组合而成新实体,这种新实体称为参与联系的实体的聚合,新实体的属性为参与联系的实体的属性和联系的属性的并集。

2.聚合的表示

例如大学、研究所、公司合作来承担科研项目,这里有“合作”、“承担”两个联系。我们把参与合作联系的大学、研究所、公司组合成一个新实体即聚合,让这个新实体和科研项目建立承担关系。
在这里插入图片描述

3.区别聚合与多元联系

若强调n个实体集两两所具有的联系,应当是多元联系。
若强调的是其中一个实体集与剩余实体集组合的联系,应当建立聚合。

四、E-R模型到关系模型的转换

1.基本E-R模型的转换

1.实体集到关系的转换

在这里插入图片描述

2.联系集到关系的转换

多对多联系:

在这里插入图片描述一对多联系:

在这里插入图片描述(1)
在这里插入图片描述

(2)
在这里插入图片描述
一对一联系:

在这里插入图片描述(1)
在这里插入图片描述

(2)

在这里插入图片描述

2.扩展E-R模型的转换

1.具有参与约束的联系集的转换

在这里插入图片描述
在这里插入图片描述

2.弱实体集的转换

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3.类层次的转换

在这里插入图片描述

(1)
在这里插入图片描述
在这里插入图片描述(2)
在这里插入图片描述


  • 28
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值