数据库期末考试复习

图片 18

 

[TOC]

数据字典

数据库整理:

graph LR
A[数据库]-->B[CH2:概念模型_ER]
B-->C[基本]
B-->D[扩展]
A-->E[CH3:关系数据模型]
E-->F[数据模型]
E-->G[基本概念]
E-->H[集合关系运算]
E-->I[完整性约束]
A-->J[CH4:E-R到关系模型的转换]
J-->K[基本 E-R 模型的转换]
J-->L[扩展的 E-R 模型的转换]
A-->M[CH5:SQL]

数据库系统中存放三层结构定义的数据库称为数据字典(DD),
对数据库的操作都要通过DD才能实现。
DD系统中还存放数据库运行是的统计信息。
管理DD的系统称为DD系统

按照老师的PPT整理,感谢黄老师,特别鸣谢AlvinZH的整理,本整理的部分内容由AlvinZH辉哥的整理扩充而来,配套教材《数据库系统概论(第五版)》(王珊编著),所有SQL相关内容均采用SQL
Server现行标准,尚不完整,有空会重新排版o(╥﹏╥)o欢迎指正!

ER模型

  • 实体
  • 属性(实体的属性)
  • 域(属性的取值范围)
  • 候选码(唯一标识实体的属性或最小属性组)必须选一个做主码

DBMS

引入

基本E-R模型

是指数据库系统中对数据进行管理的软件系统,它是数据库系统
的核心组成部分。对DB的一切操作,包括定义、查询、更新及控制,
都是通过DBMS进行的。

数据、数据库、数据库管理系统、数据库系统

数据:

描述事务的符号记录,有数据类型和数据的值,需要有语义来解释,数据操作主要有数据管理(数据库)、数据处理(程序)、数据传输(网络)

元数据(模式),几乎不变,在设定时定义

数据是数据库的实例,经常改变

数据库DB:

长期存储在计算机内、有组织、可共享的大量数据的集合。数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性、易扩展性

安全、方便、高效

数据库管理系统DBMS:

计算机的基础软件

数据库系统DBS:

由数据库、数据库管理系统、应用程序、数据库管理员组成的存储、管理、处理和维护数据的系统。

 图片 1

 

扩展E-R模型

  • 参加约束
    • 实体参与联系的最小最大次数
    • 全参与约束:实体集的每一个元素都参加联系
  • 弱实体
    • 强实体和弱实体必须一对多
    • 弱实体必须全参与
  • 类层次ISA(泛化)
  • 聚合
    • 联系描述的是实体与实体之间的关联
    • 如果联系参与联系
    • 把联系看作联系和实体的组合
    • 联系和实体的组合当作一个实体就叫做聚合

DBMS的主要功能

数据管理技术发展

人工管理阶段

数据没有直接存取设备,存在纸带上;

应用程序管理数据;

数据不共享,不具有独立性(数据改变后应用程序也必须改变);

文件系统阶段

数据存在文件里,数据可以长期保存;

使用操作系统的IO接口访问数据;

文件系统管理数据;

有加快数据访问的措施;

初级的数据独立性;

数据共享性差,冗余度大;

每个应用需要程序员从头开始设计自己的文件格式和描述;

图片 2

 

数据库系统阶段

主要优势:

数据共享;

数据冗余少;

数据独立性好;

便捷的程序接口;

高效数据访问;

数据完整性和数据安全;

并发管理

 

特点:

1.数据结构化,整体数据结构化,是数据库的主要特征之一,也是和文件系统的本质区别

2.数据共享度高、冗余度低且易扩充,数据共享可以减少数据冗余,避免数据之间的不一致性和不相容性

3.数据独立性高,物理独立性指应用程序和数据库中数据的物理存储相互独立,逻辑独立性指应用程序和数据库的逻辑结构相互独立,逻辑结构修改时应用程序可以不变

4.数据由数据库管理系统统一管理和控制,有数据安全性保护,数据完整性检查

 

隔离并发访问,阻止产生脏数据的修改

 

数据库结构受底层计算机系统的影响

 

关系数据模型

  • DDL
  • DML
  • 数据库保护功能:4个数据控制子系统
  • 数据库的维护功能:各个实用程序构成
  • 数据字典:DD子系统

数据模型

数据模型:对现实世界数据特征的抽象。是数据库系统的核心和基础。数据模型三个组成要素:数据结构(最重要的方面)、数据操作、数据的完整性约束条件。

三层抽象(由浅入深)

概念模型:用于数据库设计,最流行的是E-R模型。(P16-17基本概念:实体、属性、码、实体类型、实体集、联系);

逻辑模型:用于数据库管理系统的实现;层次模型(最早出现的数据模型)、网状模型、关系模型等;

物理模型:对数据最底层的抽象,描述数据表示方式和存取方法。

 

常见数据模型:

层次模型

网状模型

关系模型

面向对象数据模型

对象关系数据模型

半结构化数据模型

 

层次模型和网状模型统称为格式化模型

基本层次联系是指两个记录以及他们之间的一对多(包括一对一)的联系

 

层次模型:

采用树形结构

数据库中定义满足条件的基本层次联系的集合:

1.有且只有一个结点没有双亲结点,这个结点称为根结点;

2.根以外的其他结点有且只有一个双亲结点。

删除双亲结点会把子结点同时删除

优点:

1.数据结构简单清晰

2.查询效率高(优于关系数据库,不低于网状数据库)

3.提供了良好的完整性支持

缺点:

1.现实中很多联系是非层次性的,不适用

2.对插入和删除限制较多,应用程序编写较为复杂

3.查询子女结点必须通过双亲结点

4.结构严密,层次命令趋于程序化

突出优点是一对多层次联系的部门描述自然直观

 

网状模型

数据库中定义满足条件的基本层次联系的集合:

1.允许一个以上的结点无双亲;

2.一个结点可以有多于一个的双亲。

优点:

1.更为直接地描述现实世界

2.存取效率高

缺点:

1.结构复杂,不利于用户掌握

2.DDL、DML复杂,要嵌入一种高级语言,用户不容易掌握,不容易使用

3.访问数据时必须适当选取路径,用户必须了解系统结构的细节,加重负担

 

关系模型

优点:

1.建立在严格的数学概念的基础上

2.概念单一,数据结构简单清晰,易于使用

3.存取路径对用户透明,有更高的数据独立性,更好的安全保密性

数据模型

DBS的组成

ER模型

实体(Entity):客观存在并可相互区别的事物

属性(Attribute):实体所具有的某一特性称为属性

键(Key):唯一标识实体的属性集

实体型(entity type):用实体名及其属性名集合来抽象和刻画同类实体

实体集(entity set):同一类型实体的集合

关系(relationship):不同实体集直接的联系,有一对一,一对多,多对多的类型

 

多元关系要转换成多个二元关系

 图片 3

 

多元关系的箭头:

 图片 4

 

角色:

如果多元关系中一个实体集被用到了两次,可以通过角色来区分,如下:

 图片 5

 

一元关系的一对一:

 图片 6

 

多对一:

 图片 7

 

多对多:

 图片 8

 

数据模型三要素:

  • 数据结构
    • 所研究对象类型的集合
  • 数据操作
    • 检索、更新
  • 数据约束条件
    • 完整性规则的集合
  • 数据库
  • 硬件
  • 软件
  • 数据库管理员

ER模型(续)

关系数据库发展

模型划分

  1. 网状、层次发展模型
  2. 关系数据库
  3. 面向对象数据模型为特征

产品划分

  1. 对关系模型的支持
  2. 运行环境
  3. RDBMS系统构成
  4. 对应用的支持

数据库

约束:

始终为真的断言

常用约束:键(唯一标识)、单值约束(一个实体只能有一个某类的属性)、参照完整性约束(引用的数据库中需要存在对应的条目)、域约束(约束某个属性的值的范围)

 

超级键是一组一个或多个属性组成的唯一确定一个实体的键

候选键是最小(没有其真子集可以满足唯一标识)的超级键,候选键的一个被选作主键(primary
key),主键要求not null

在ER图中用下划线标注

 

没有主键的实体集叫弱实体集,必须依赖于强实体集存在,需要和强实体集构成一对多的关系(弱实体集为多),有鉴别器(部分键)

 图片 9

E-R模型设计原则:1.避免冗余;2.限制使用弱实体集;3.能作为属性的尽量作为属性。

属性原则:属性不能再具有需要描述的性质and属性不能与其他实体具有联系

 

如果一个实体只有一个属性,那这个实体可以使用属性代替

 

尽量不用弱实体集,使用弱实体集通常的原因是没有能够创建唯一ID的全局权限(所有的弱实体集的属性不能重复,例如在世界上所有的足球队中设置独特的球员号码)。

 

基本概念

  • 基本概念
    • 域(类型相同元素集合)
    • 笛卡儿积(
      × )
    • 元组:一组元素
    • 分量:元组中的一个值
    • 基数:元素个数
  • 关系: D1XD2X…Dn的子集叫做在域D1, D2, …, Dn上的关系
    • 表示为R(D1, D2, …, Dn)
    • 关系的目或度:n
    • 单元关系: n=1
    • 二元关系: n=2
    • 关系是一个二维表(子集)
  • 候选码:能够唯一标识一个元组的最小属性组
  • 主码:指定一个候选码作为主码
  • 主属性:候选码中的属性
  • 非码属性:不包含在任何候选码中的属性
  • 关系的性质
    • 不同的列可以出自同一个域
  • 关系模式:关系的描述
    • 形式化表示:R(U, D, dom, F),简记为R(U)或R (A1, A2, …, An)
    • 关系模式是型,关系是值

全部数据的集合。DB分为两类,一类是应用数据集合,称为物理数据库,
它是数据库的主体;另一类是各级数据结构的描述,称为描述数据库,由DD系统管理。

关系模型

最重要的数据模型

 

ER模型和关系模型对比:

ER模型有很多概念,实体、属性、关系等,关系模型只有一个概念:关系

ER模型不适合计算机实现,关系模型适合高效操作电脑

关系实例:

图片 10

 

每个属性的允许的值称为域(domain)

 

集合关系运算

软件

模式和实例

模式(schema):型的描述,不涉及具体的值;

实例(instance):模式的一个具体的值。

 

关系模式:关系的描述,R(U,D,DOM,F)

R为关系名,U为组成该关系的属性名集合,D为U中属性来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合

 

关系模式是型,关系是值

一个关系的模式:一个关系名,若干属性名

一个数据库的模式:若干个关系的模式

 

对数据的改变很频繁,而对模式的改变很少见,所以模式是长期稳定的

 

集合运算

  • 广义笛卡尔积:两个分别为n和m目的关系R和S的广义笛卡尔积是一个n+m列的元组的集合。若R有k1个元组,S有k2个元组,则广义笛卡尔积有k1×k2个元组

包括DBMS、OS、各种主语言和应用开发支撑软件等程序。

笛卡尔积

给定一组域D1,D2,…,Dn(它们可以有相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,…,Dn的笛卡尔积为

D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。

由定义可以看出,笛卡尔积也是一个集合。

其中:

  1. 元素中的每一个di叫做一个分量(Component),来自相应的域(di∈Di)

2.
每一个元素(d1,d2,d3,…,dn)叫做一个n元组(n-tuple),简称元组(Tuple)。但元组不是di的集合,元组的每个分量(di)是按序排列的。如:

(1,2,3)≠(2,3,1)≠(1,3,2);

而集合中的元素是没有排序次序的,如(1,2,3)=(2,3,1)=(1,3,2)。

 

关系的数学定义:

关系是笛卡尔积的子集,具有有限的元组

关系:D1*D2*…Dn的子集将在在D1、D2…Dn上的关系。

候选码:属性组能唯一标识一个元组,而其子集不能。

主码:多个候选码,选定一个为主码

主属性:各个候选码的属性

非主属性:不包含在任何候选码中的属性

全码:所有属性是这个关系模式的候选码

 

专门的关系运算

  • 选择运算:在关系R中选择满足给定条件的元组,记作:σF(R)={ t | t∈R
     F (t)=真 }
  • 投影运算:是从关系R中选出若干属性列组成新的关系,记作: πA(R)={
    t[A] | tR}
  • 连接运算:是从两个关系的笛卡尔积中选取属性间满足一定条件的元组,称为连接
  • 连接 = 选择运算 + 迪卡尔积运算
  • 当A、B为相同的属性组时,为自然连接
  • 象集
    • 给定关系R(X,
      Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y和S中的Y可以有不同的名字,但必须取自同一个域

    • R与S除得到一个新关系P(X),P是R中满足下列条件的元组在X属性列上的投影

    • 元组在X分量值x的象集Yx==包含==S在Y上投影的集合

    • 参照柳婼的解释

DBA数据库管理员

关系的特点:

1.不允许有所有值完全相同的元组

2.关系是无序的(元组的顺序是不相关的,可以按任意顺序存储,属性的顺序也是不相关的)

3.同一属性名下的各个属性值必须来自同一个域,是同一类型数据

4.各个属性名不能相同

5.不同的属性可以有相同的域

6.属性的值必须是原子的,不可再分(反例如中国式报表,大表头包含多个小表头)

 

换名操作

ρ(R(F), E)

  • E:关系表达式
  • F拔是E中重复的元素名字被重命名
  • R:新关系
  • 定义模式
  • 定义内模式
  • 与用户联络
  • 定义安全性规则
  • 定义完整性规则
  • 数据库的转存与恢复工作

关系操作

关系操作:查询、插入、删除、修改(P43)

查询:选择、投影、连接、除、并、差、交、笛卡尔积;其中选择、投影、并、差、笛卡尔积是5种基本操作。

 

小结

三层模式两级映像

关系模型(续)ER模型到关系模型的转化

关系:指具体的表

基本情况:

1.实体集E转换成具有E的属性的关系(表)

2.关联R转换成具有属性的关系(表),做相关的实体的键和关联R的属性

 

特殊情况

1)一对多、一对一关系

2)弱实体集

 

5种基本关系运算
  • ∩ 连接 ÷ 这三个可由其他五个表示
  • 自然连接是可结合的
  • 关系运算的结果是关系
  • 外模式 用户与数据库的接口
  • 逻辑模式 数据库中全部数据的整体逻辑结构的描述。
  • 内模式

关系的合并

1.一对多关系可以转换为一个独立的关系,也可以与“多”端的关系合并,给“多”端的关系里加一个原来的“一”作为属性

2.一对一关系可以转换为一个独立的关系,也可以与任意一端的关系合并,添加一个被合并的一端作为属性

 

弱实体集的关联:

关系包含弱实体集的所有属性以及其依附的强实体集的键

 图片 11

 

Hosts(hostName)

Logins(loginName, hostname, time)

不需要At表,At成为了Logins的一部分

 

完整性约束

防止数据中语义不一致

域完整性约束(表内):限制属性值的范围(限制是否可以为空)

实体完整性约束(表内):不同元组的某个属性不能相同(主键、唯一键约束)

参照完整性约束(表与表):一个表的某个属性是其他表的某个属性(外键,这个属性需要是被参照的表的主键或候选键)

 

唯一键约束:

可以唯一区分不同的元组,允许有null值,一张表只能有一个主键但是可以有多个唯一键

 

完整性约束

  • 实体完整性:主码中的属性不可取空值
  • 参照完整性:
    • 外码:设F是关系R的一个或一组属性,如果F与关系S的主码Ks相对应,则称F为关系R的外码(外键)
    • 参照关系R(F,..,…),被参照关系S。
    • F的取值必须为:
      • 或者取空值
      • 或者等于S中某个元组的主码值
  • 参照完整性的特点:
    • 在被参照关系中关键字的值在参照关系中不一定出现
    • 但在参照关系中出现的关键字值在被参照关系中必须要出现
    • 值得注意的是外键可能来自于同一关系,也就是被参照关系就是参照关系

高度的数据独立性

关系代数

从数据库中找出需要的内容

需要使用高级查询语言:

理论:关系代数

实践:SQL

 

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

应用程序和数据库的数据结构之间相互独立。其分为两类,一是物理数据独立性;二是逻辑数据独立性。
目的是为了保存外模式和应用程序不受影响。

关系代数:

对关系的运算来表达查询。(运算:运算对象、运算符、运算结果)

运算对象(Operands)

关系

运算符(Operators)

对关系的操作

Five basic RA operations:

Basic Set Operations(集合运算)

       union(并), difference (差)(no intersection, no complement)

Selection: s(选择)

Projection: p (投影)

Cartesian Product: X(笛卡尔积)

 

集合运算:

差:R1-R2 = {t|t∈R1^t∉R2}

选择:选择图片 12选择R中满足条件C的条目

投影:π A1,…,An (R),选择R中的A1…An列组成新的元组,会去除重复的元组

笛卡尔积:R1 x R2 ,R1和R2中的每个元组组合

 

Derived operations

intersection(交)

complement(补)

join(连接)

 

交:R1∩R2,R1和R2中共有的所有元组,R1和R2的模式必须相同,等价于R1-(R1-R2)

连接:

θ连接

图片 13

自然连接

等值连接

外部连接

 

θ连接:

 

由定义可知,当自然连接的两个关系没有公共属性时,结果是笛卡尔积

θ为比较运算符,输入R1(A1,…,An),
R2(B1,…,Bm),输出S(A1,…,An,B1,…,Bm),S中的所有元组都满足θ,运算时可以先求笛卡尔积,然后从中筛选符合条件的结果

 图片 14图片 15

自然连接:

θ连接的θ条件为等于,而且等于的条件同名,最终结果只保留一列同名属性

 图片 16

 

求解步骤:

1.求笛卡尔积R×S

2.选择所有满足r[Ai]=s[Bj]的元组

3.消除重复属性

图片 17

 

等值连接:

θ的条件为等于时为等值连接,同名的列需要用表名加点来区分

 

外部连接:

防止信息遗漏,先求连接,然后把外连接的表的没有匹配上的元组全部添加进连接的结果中,用null来表示未匹配上的值

左外连接 = 自然连接 + 左侧表中失配的元组。

右外连接 = 自然连接 + 右侧表中失配的元组。

全外连接 = 自然连接 + 两侧表中失配的元组。

 图片 18

 

基本 E-R 模型的转换

  • 实体集到关系的转换 –关系表
    • 属性     –关系表中的属性
    • 主关键词   –关系表中的主关键字
    • 属性域    –关系表中的属性的域
  • 联系到关系的转换

    • 多对多

      • 每个参加联系的实体集的主关键字属性,作为外键存在
      • 所有外键构成该实体集的主关键字
      • 联系集本身的属性 — 一般属性
    • 一对多

      1. 将一对多联系转换为一个独立的关系表【缺点1】多一个表【缺点2】连接麻烦
      2. 将联系和多的那个实体集转换为一个关系表【缺点】浪费空间
    • 一对一关系怎么转换?

关系模型基本概念

字段 、 属性 、 列
字段值 、 属性值
记录类型、 关系模式
记录 元组、 行
属性相同的元组集合、 关系、 表
属性个数、 元数
元组个数、 基数
域 值得集合、 属性值的取值范围
元组数目无限、 无限关系、 计算机研究有限关系

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图