数据库

数据库系统原理

第2章 实体-联系数据模型

DBMS:(数据库管理系统)

实体集:同类实体的集合
实体是客观存在并可相互区别的事件或物体
在E/R图中用矩形表示

属性:椭圆

联系:菱形

is-a关系:A是B的子类,三角形的尖头指向父类

  1. 子类是父类的子集
  2. 子类比父类的属性多
  3. 子类是父类的特例

三种联系:

  • 一对一
  • 一对多:若实体集E对F是多对一,则将箭头指向F,表示E中的实体最多和F中的一个实体联系
  • 多对多

多路联系:两个以上实体间的关系

消除联系的属性:建立一个实体将联系的属性转移至该实体,在该实体与联系之间画上对应的线

连接实体集:可以将多元关系转换成二元关系,是多路联系的元组,与原实体集多对一,原实体集是一

属性代替实体:

条件:

  1. 该实体应该是多对一中的一
  2. 没有联系包括E多次
  3. 属性不具有依赖关系
  • 第一种E和F具有多对一关系R,删除R和F成将F的属性加到E
  • 第二种多路联系R具有实体E,E是一,删除实体将其属性作为关系属性

ER模型(关系实体模型)设计原则

忠实性:设计符合实际

避免冗余:减少空间浪费

简单性:尽量少的元素描述模型

联系的正确性

元素种类的正确性

image-20220228171709965

角色:联系中出现多次的同一个实体集,每条线称为一个角色

弱实体集:实体集的所有属性都不能作为键,键的至少有一部分来自于其他实体(多对一,弱实体为多,从一个实体中得到键)

弱实体集使用双边的矩形,多对一联系用双边的菱形

弱实体集键的唯一性:因为多对一中的一中的键与弱实体中键组合(如果有的话)对于弱实体集E是唯一的

弱实体集的来源:

  • 层次结构非isa关系
  • 连接实体集

image-20220228164907889

关系模式:是由一个关系名及其属性组成
R(A,B,C)
相当于,静态抽象的
关系实例:关系表中除去模式的填充部分
相当于对象,动态的

数据库模式:由多个关系模式组成的关系数据库模式又称为数据库模式

元组:关系(表)中的一条记录,是一个实体

分量:每个元组具有的一列属性

键(后选码):具有唯一性(唯一确定某条记录和键值唯一)和最小性(不可去)
能够唯一标识一个表中记录的一个以上的属性
主键:被当做某个表的键称作主键,在主键画下划线

域:字段的数据范围

外键:为了实现表与表之间的关系,将别的表的主键放到另一个表里,在另一个表里是主键

属性:关系中的各列,属性名即列名
实体完整性约束:主键必须存在(非空)且唯一
参照完整性约束:若在A表中存在B表的外键,要么为空,要么在B表中存在且唯一
用户完整性约束:
联系转换为关系:
若出现多对一则可以将一作为多的外键(主键一致则可以合并)
弱实体集的联系/多对一的关系不必转换为关系
子类与父类单独成为关系模式
尖角是至多联系一个
圆角是必须联系一个
支持联系实体:含有弱实体主键一部分是多对一中的一的实体
函数依赖:A1A2A3...An——>B1B2B3
函数依赖集合:函数依赖组成的集合,若B包含于A
平凡函数依赖:ABC-BC(有右边的属性被包含于左边)
非平凡xxxx:
求闭包:全盘扫描,本轮指找右侧是上轮新增的
基本集:函数依赖集合的闭包
最小基本集:
关系模式拆解需要外键

1.投影$\color{Red}{丌_{A_1,A_2,A_...A_n}} $

选择A1,A2...An属性的列,组成从原集合继承下来的集合

2.选择\(\color{Red}{σ_C(R)}\)

选择R中符合条件C的元组

3.笛卡尔积\(M_1×M_2...×M_n\)

\((a_1,a_2,a_3,...a_n)a_i \in M_i\)

第i个元素是来自 \(M_i\)的元组

每个集合\(M_i\)都可与M

结果的属性由所有的\(M_i\)属性构成

若属性重复则在属性前加上该集合\(M_i.\)区别 如\(R.S \quad M.S\)

4.\(\vartriangleright\vartriangleleft\)自然连接

分解的逆运算,可以通过连接外键对应的主键所在的表格

符合结合律不符合交换律

连接条件:R S中存在公共属性\(A_1,A_2,A_...A_n\)

只有R S 表中的两元组公共属性都相同时才能连接

1.RS笛卡尔积2.选择公共属性都相同的元组3.去掉相同的属性列

比如 (A B)(B C D)连接,则去掉重复的B列

5.\(\theta\)连接

1.RS笛卡尔积2.选择符合条件C的元组3.相同的属性列以元组名前缀区别

因为是按照条件C连接,不去掉相同的公共元素,所以公共元素存在不等值现象,因为不等值不能合并否则丢失信息

表达式树

image-20220328204402463

树叶节点是关系,其他都是运算符

posted @ 2022-03-28 21:23  多巴胺不耐受仿生人  阅读(37)  评论(0)    收藏  举报