数据库复习

第一章

四个基本概念:

数据

数据的含义称为数据的语义,数据与其语义是不可分的

DB 数据库

长期储存在计算机内有组织的可共享的大量数据的集合

DBMS 数据库管理系统

是DBS的核心,是计算机的基础软件

DBS数据库系统

是计算机引入了数据库后构成的系统
组成:DBDBMS应用开发工具应用程序DBA(数据库管理员)

处于操作系统和应用开发工具之间

发展历史

人工管理阶段

应用背景:科学计算
硬件背景:没有直接存取存储设备
软件背景:没有操作系统
数据处理方式:批处理

文件系统阶段

应用背景:科学计算,数据管理
硬件背景:磁盘,磁鼓
软件背景:有文件系统
数据处理方式:联机实时处理,批处理
优点:
1.数据可以长期储存
2.由文件系统管理数据

数据库系统阶段

应用背景:大规模数据管理
硬件背景:大容量磁盘,磁盘阵列
软件背景:有DBMS
数据处理方式:联机实时处理,分布处理,批处理
优点:
1.共享性高,冗余度小
2.具有较高的物理独立性和一定的逻辑独立性
3.数据结构化
4.DBMS提供控制(上面两个阶段都是应用程序自己控制)

数据库特点

1.数据结构化
2.共享性高,冗余度低且易扩充
3.数据独立性高(是二级映象功能的保证)
物理独立:应用程序与数据的物理存储相互独立
逻辑独立:应用程序与数据库的逻辑结构相互独立
4.由DBMS统一管理和控制

数据模型

数据模型是数据库系统的核心和基础

第一类:概念模型(信息世界)

按用户的观点来对数据和信息进行建模
实体内部的联系通常是组成实体各属性间的联系;
实体之间的联系通常指不同实体集之间的联系;
表示方法:E-R图(实体-联系方法)

第二类:逻辑模型和物理模型(机器世界)

逻辑模型

按计算机系统的观点对数据建模

数据模型

由数据结构,数据操作,数据的完整性约束条件组成

层次模型

一对多(像树形结构)
优点:简单清晰;查询效率高;提供了良好的完整性支持

网状模型

(典型代表DBTG系统,亦称CODASYL系统)
多对多
优点:直接描述现实世界;存取效率高;
缺点:结构复杂;ddl和dml复杂;通过存取路径实现,加重了编写负担

关系模型

E.F.Codd提出(1981活得acm图灵奖)
关系的完整性约束:
实体完整性,参照完整性,用户定义完整性
优点:建立在严格的数学概念基础之上;概念单一;存取路径透明

物理模型

数据在系统内部的表示方式和存取方式

模式

不涉及具体的值,所以模式稳定,但实例相对变动
是数据库全体数据的逻辑结构和特征的描述,一个数据库只有一个模式
外模式(子模式或者用户模式)是局部数据的逻辑结构和特征的描述,是用户的数据视图;一个数据库可以有多格外模式,但只能有一个内模式(一个应用程序只能使用一个外模式)外模式是保证数据库安全性的有力措施
内模式(储存模式)是物理结构和存储方式的描述,是数据库内部的组织方式

三层模式,两级映像

模式改变时,可以通过改变映象,使上层模式不变
外模式/模式映像改变外模式保持不变,这就是数据的__逻辑独立性__
内模式/模式映像改变,模式不变,这就是数据的__物理独立性__
(就是上层使用底层,DBMS使用OS)

第二章

(这章好不容易写完了,我就切了个屏竟然给我退出去了,还没保存,草稿自动保存是写着玩的吗,生气)

关系

一个关系有多个候选码(某一属性组能唯一标识一个元组,而其子集不能),选定其中一个为主码
性质

  1. 列是同质的,每一列中的分量都是同一数据类型,来自同一个域
  2. 不同的列可出自同一个域
  3. 行列的顺序都无所谓
  4. 任两个元组都不能取同样的候选码
  5. 分量必须取原子值

关系完整性

实体完整性

一个表内部,主属性不为空
primary key

参照完整性

两张表之间相互引用相互约束,就是外码(取空值或s中某个元组的主属性)
foreign key

用户定义完整性

反映某一具体应用所涉及数据必须满足的语义要求
check(),assertion

关系代数

基本关系操作:选择,投影,并,差,笛卡尔积
专门的关系运算:
选择:
在这里插入图片描述
查询student表中年龄小于二十的元组(行)
投影:
在这里插入图片描述
取列,自动去重
连接:
在这里插入图片描述
在这里插入图片描述
自然连接去重(重复列)
在这里插入图片描述
外连接就是把被舍弃的元组也加进来(称为悬浮元组)
除运算:
在这里插入图片描述
简单来说就是把R中含有和S中一样的象集(此处为B,C)的行取不是象集的列(好绕啊)

第三章

语法

在这里插入图片描述
在这里插入图片描述
tips:对表用drop,对数据用delete
只有表和索引可以用alter别的不行
在这里插入图片描述
restrict:删除时不能有其他表的约束
cascade:删除时相关依赖一起删除
_索引_是物理模型在这里插入图片描述
ASC升序可省,DESC降序不可省

数据查询

在这里插入图片描述
groupby里面用having
distinct 表示去重,默认为ALL,保留重复行
多个条件用AND连接

字符匹配

(LIKE ‘…’)
_:表示任意单个字符
%:表示任意多个字符
escape\某符号:表示\为转码字符,后面的符号视为普通字符

聚集函数

在这里插入图片描述

连接查询

自然连接
注意
select xxx.cno,… FROM xxx,yyy
WHERE xxx.cno=yyy.cno

自身连接
自身连接注意from
eg.
from Course FIRST,Course SECOND
WHERE FIRST.CNO=SECOND.CPNO

外连接
FROM Student LEFT OUTER JOIN SC ON (条件表达式)
这里的on可以换成using,就能去重

第六章

数据依赖

x确定,就确定唯一的y
是完整性约束的一种表现,是数据内在的性质,是语义的体现
类型:函数依赖,多值依赖,连接依赖
会导致数据的冗余,更新异常,插入和删除异常

规范化

超码:K推出U(U完全依赖K),K为超码(候选码是一类特殊的超码
全码:整个属性组都是码(候选码)

范式

1NF:所有属性不可分
问题:插入异常,删除异常,数据冗余
2NF:每一个非主属性都完全依赖于R的(消除非主属性部分依赖
问题;以上问题皆未解决
3NF:不存在x,y,z,使x推y,y推z,但x不能推出z,即不存在非主属性部分依赖和传递依赖(消除非主属性传递依赖
BCNF:每个函数依赖x->y,x不属于y,都有x包含码。
如下例,
eg. T->J; (S,J)->T; (S,T)->J
则STJ(S,T,J)属于3NF
ST(S,T)和SJ(S,J)属于BCNF
消除了主属性的部分依赖和传递依赖

Armstrong公理

  1. 自反律:x属于y属于u,则f包含x->y
  2. 增广律:若x->y,则xz->yz
  3. 传递律:若x->y,y->z,则x->z

规则推理:

  1. 合并规则:x->y,x->z,则x->yz
  2. 伪传递规则:x->y,wy->z,则xw->z
  3. 分解规则:x->y,y属于z,有x->z

Armstrong公理具有有效性(F由公理推导出的都在F+内)和完备性(f+内的都是F由公理推导出的

依赖的闭包

X->Y,能由F根据Armstrong公理导出的充分必要条件是X+F属于Y
例题:在这里插入图片描述
X0取全在左边的,它就是关键字(经验方法)

最小依赖(最小覆盖):

(1) F中任一函数依赖的右部仅含一个属性
(2) F中不存在,X->A,使F与F-{X-A}等价(F中的函数依赖不能有函数中的其他依赖推出
(3) F中不存在A->A,x有真子集Z使F-{X->A}U{Z->A}(F中的依赖左部均为最小属性集)
最小依赖求法:
eg.F=(A->BD,AB->C,C->D)
第一步:右边化单一
A推出BD化成A推出B和A推出D
第二部:去冗余
A推出B且AB推出C,所以A推出C
把AB推出C换成A推出C
又A推出C,且C推出D,所以把A推出D去掉
得出F=(A->B,A->C,C->D)

模式分解

三种定义(准则):具有无损连接性(数据等价),保持函数依赖(语义等价),即要无损连接性又要保持函数依赖

无损连接性的判断算法

在这里插入图片描述
在这里插入图片描述
表格的行是R,列是属性,如果R中存在这个属性,就填ai,如果没有则bij,然后通过F推,看看能不能把一行补全(补到全是a),若能,则无损连接。
当分解仅由两个模式组成
U1并U2->U1-U2(U1有而U2没有或者U2有但U1没有,谁在前不重要)∈F+

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值