【数据库基础】posgreSQL学习阶段复习一(数据库基本概念,关系型数据库,实体关系模型(E-R model)))

数据库的一些基本概念

  • DBMS: database management system:数据库管理系统
  • Hierarchical Databases: 层次性数据库
  • Network Databases:网状型数据库
  • Relational Databases: 关系型数据库
  • Object-Oriented Databases:面向对象型数据库
  • XMl Databases:支持XML文档的数据库
  • NoSQL Databases:Not- only -SQL
  • 三级ANSI/ SPARC体系结构:External level-logical level-Internal level

关系型数据库

定义

  • 属性(attribution):表中的固定属性类别,如学籍表的姓名,年龄
  • 域(domain):修饰属性的数据类型及其范围
  • 元组(Tuple):表中某一行的值,为所有域的笛卡尔积的一个元素
  • 关系(relation):行和列形成的表,表的的取值为所有域的笛卡尔积的一个子集
  • 关系模式(relational schema):多个二维表的集合,包含所有的属性,每个属性跟域相关
  • 关系数据库模式(relatioal database schema):多个关系模式的集合,是一个完整性约束的集合
  • 关系数据库状态(relational database state)

完整性约束(Intergrity Constraints,IC)

  • 域约束(domain Intergrity constraints):描述元组的值,每个值必须在其属性的取值范围之类,需要符合数据类型及其范围
  • 关键字约束(key Intergrity constraints):描述元组,用主键保证元组在表中唯一存在(超键->候选键->主键)
  • 实体完整性约束(entity intergrity constriants):描述主键,主键不能为空(NOT NULL)
  • 引用完整性约束(referential intergrity constraints):对关系模式的描述,存在引用关系的表,一个参考表的外键必须在被引用的表能够找到(这个外键表示被引用的属性)
    ps:insert,delete,update会影响完整性约束

实体关系模型(entity relationnal model,E-R model)

实体关系模型与关系数据库的联系:

关系型数据库实体关系模型
属性属性
元组实体/关系
关系实体集合/关系集合
关系模型实体类型/关系类型

实体类型和实体集合

  • 实体类型定义了一个拥有属性的实体;
  • 实体集合是指某一时刻,数据库包含的实体集合。实体和元组类似,包含了多个属性,例如员工实体,其属性包括address,phonenumber,age…

关系类型和关系集合

  • 关系类型定义了多个实体之间的相同的联系,该联系包含隶属这段关系的属性。
  • 关系集合是指拥有相同关系的实体集合,注意关系集合实际是实体集合。例如组长和组员存在监督关系,那么这段关系包含两个实体的属性.

实体关系图

先说明一下基本图标元素:

元素图形
实体(entity)在这里插入图片描述
弱实体(weak entity)在这里插入图片描述
关系(relation)在这里插入图片描述
弱关系(weak relation)在这里插入图片描述
属性(attribute)在这里插入图片描述

| 主键(key attribute) | 在这里插入图片描述
|

需要提醒一点的是,弱实体是指其拥有的属性不足以给予是这个实体特征标识,例如不同教师的子女名字可能相同,这个实体就是弱实体,弱实体一般需要依附于某一个实体,比如教师的子女依附于某一教师这个实体。

主键是指能够识别实体的实体属性。例如下图是一个简单的ER图:

在这里插入图片描述

在圣杯战争中从者(servant)是弱实体,因为很多应召唤而来的同名从者拥有不同的灵基,因此需要依附于御主(master)来加以区别,说到某某御主的某某从者就能分清楚了。

在实际生活中,可能存在更加复杂的E-R图,比如存在递归关系,或者更高集成度的关系这样表示:

在这里插入图片描述

如图表示master为servant提供magic,其中关系provide而拥有一个属性unit表示数量。

约束(constraints)

基数比例(Cardinality ratios)

  • 一对一:在这里插入图片描述

    表示一个御主最多只有一个从者,一个从者最多只有一个御主。

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

    表示一个御主可以用多个从者,一个从者最多只能有一个御主。

  • 多对多

    类似的,一个御主可以有多个从者,一个从者可以有多个御主。

  • 范围对范围(基数限制):

在这里插入图片描述

一个御主必须有一个且最多有一个从者,一个从者必须有至少一个御主。(m,n)表示一个实体与m~n个实体有该关系。

参与约束(Participation constraints)

  • 完全参与:在这里插入图片描述

用两段直线表示完全参与,这个图表示,一个master必须有一个从者,一个从者最多(可能没有可能有)有一个御主。

  • 局部参与

就是如上图的单线。

分离约束(Disjointness constraints)

  • 分离(disjoint):子类实体成员完全隔离,不重叠;
  • 重叠(overleaf):子列实体成员可以重叠。

先了解一下父类与子类的关系。

概念上,子类和父类拥有父类的相同属性,但是名称不同,且具有更显式的表达。例如:

在这里插入图片描述

父类和子类的关系称为ISA。魔术师主要为阿特拉斯院(atlas)魔术师,时钟塔(clock tower)魔术师,迦勒底(chaldeans)魔术师,彷徨海(Baldanders)魔术师。

  • 专门化:自上而下地的定义一个实体的子类;
  • 一般化:下而上地把拥有多个公共属性的子类归纳成一个父类。

在图上,专门化指将magician上而下地定义了几个不同派别的魔术师,他们拥有magician的属性的同时也会拥有自己的特别属性;一般化指将几个不同派别的魔术师归纳为魔术师这一个实体。

完整性约束(Completeness constraints)

  • 完全约束(Total):每一个父类实体必然属于至少一个子类的成员
  • 部分约束(默认)(Partial):部分父类可能不属于任何一个子类。

构建E-R模型步骤

  • 识别实体类型;
  • 识别关系类型;
  • 识别实体类型和关系类型的属性和域;
  • 识别实体的主键;
  • 找出约束(基数比例,参与约束,分离约束,完整性约束)。

参考文章

【数据库】数据库入门(三): SQL -https://blog.csdn.net/sinat_36645384
数据库基础:Fundamentals of Database Systems, 7th Edition (Global Edition), R. Elmasri and S. Navathe, 2017

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值