【数据库汇总】

三层模式/两级映像
内模式:数据物理结构和存储方式的描述
逻辑模式:数据库中全体数据的逻辑结构和特征的描述,是数据库系统模式的中间层
外模式:数据库用户使用的局部数据的逻辑结构和特征的描述,介于模式与应用之间
外模式/模式保证了数据的逻辑独立性(逻辑模式改变,应用程序不变)
模式/内模式保证了数据的物理独立性(应用程序与数据的物理存储无关)
关系数据模型
域:一组具有相同数据类型的值的集合(列)
笛卡尔积:所有域的所有取值的一个组合,不能重复。(xyz)
元组:二维表中的一行
候选码:在关系中能唯一标识元祖的属性或属性集
主码:选做元组标识的候选键
主属性:候选码的各个属性
完整性约束
对关系的约束条件
外码:一个关系中(参照表)的一个属性是另一个关系(被参照表)的主码,则该关系称为参照表的外码
实体完整性:主码唯一且不为空,主属性不取空
参照完整性:定义外码与主码之间的引用规则,外码的取值必须等于被参照表中某个元组的主码值或者取空值(外键值还未确定)
用户自定义完整性:针对某一关系数据库的约束条件,反映某一具体数据必须满足的语义要求,如是否可取空值
关系代数
传统的集合运算:属性个数相同,对应属性列必须属于同一个域
并:属于A或属于B
交:属于A且属于B
差:属于A但不属于B
投影和选择
投影π:从R中选择若干属性列组成新的关系
选择:从R中选择满足条件C的各个元组
笛卡尔积和连接
笛卡尔积:关系之间的乘积
R关系:n个属性,x个元组
S关系:m个属性,y个元组
R×S:m+n个属性,x*y个元组
连接:先对R和S进行笛卡尔积,然后选择满足比较条件的元组
等值连接:从R和S中选取A、B属性值相等的元组
自然连接∞:在公共属性上进行的等值连接,两个关系中必须具有公共属性,结果中去除重复列
重命名ρ:给关系或关系中的列重新命名
数据定义
创建表CREATE TABLE
关系名、属性名、属性数据类型、完整性约束
删除表DROP TABLE
修改表ALTER TABLE
创建视图CREATE VIEW
删除视图DROP VIEW
创建索引CREATE INDEX
删除索引DROP INDEX
视图:是从一个或几个基本表中导出的表,不独立存储在数据库中,数据库中只存放视图的定义而不存放视图对应的数据。
索引:类似于图书索引,能够快速定位到要查询的内容,能够加快数据库查询,但是需要占用一定的操作空间。
SQL数据控制
1.完整性:数据库中数据的有效性、正确性与相容性
2.并发控制:当多个用户并发的对数据库进行操作时,对它们加以控协调以保证并发操作正确执行并保证数据库的一致性
3.恢复:当发生故障使数据库处于不一致状态时将数据库恢复到一致状态(事务、提交、回滚)
4.安全性:保护数据库防止不合法的使用造成数据的泄漏和破坏(存取控制GRANT、REVOKE)
数据库设计基本步骤
数据库设计:构造最优的数据模型,建立数据库及其应用系统的过程
(1)需求分析:了解分析用户需求
(2)概念结构设计:通过对用户需求进行综合、归纳与抽象,形成独立于DMS的概念模型(概念模式) ER模型
(3)逻辑结构设计:将概念结构转换为数据模型(逻辑模式、外模式)
(4)物理结构设计:为逻辑数据模型选取最适合应用环境的物理结构(内模式)
(5)数据库实施:根据逻辑设计和物理设计的结果建立数据库,编写调试应用程序
(6)数据库运行和维护:在数据库与运行过程中不断对其评估、调整与修改
ER模型
实体:应用中可以区别的客观存在的事物,同一类实体的集合构成实体集(矩形框)
属性:实体的某一个特征。能够唯一标识一个实体的属性称为实体标识符(椭圆框)
联系:一个或多个实体之间的关系(菱形框)
区别实体和属性:属性不能再有需要描述的性质,不能与其他实体具有联系
联系的类型:1:1,1:n,m:n
合并ER图的冲突
命名冲突、结构冲突、属性冲突
ER图转换为关系模式
实体:每个实体转化为一个关系模式,实体属性即关系模式的属性,实体标识符即关系模式的key
UML中组合和聚集的区别
组合:部分对象只能存在于组合对象中,组合体消亡时部分体必然消亡(衣服由袖子、纽扣组合而成)
聚集:聚集对象由部分对象组成,但是各个组成部分是可以拆开独立存在的(电脑由主机、键盘、鼠标聚集而成)
数据依赖
定义属性之间的相互关联,主要体现属性值是否相等,分为函数依赖、多值依赖、连接依赖。
函数依赖:函数X取值能决定函数Y取值,则称函数依赖
平凡函数依赖:(A,B)->A
非平凡函数依赖:(A,B)->C
完全函数依赖:(A,B)->C,但是A!->C且B!->C
传递函数依赖:A->B,B->C,则A->C
什么是规范化理论
通过分解关系模式来消除关系模式中不适合的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
范式
范式是符合某一种级别的关系模式的集合。
1NF:所有属性都是不可分的基本数据项
2NF:该关系模式属于1NF,且每个非主属性都完全函数依赖于R的主键( (A,B)决定C,但是A不能决定C,B也不能决定C)
3NF:该关系模式属于1NF,且不存在非主属性对码的传递函数依赖(A决定B,B决定C,则A决定C)
BCNF:该关系的每个决定属性集都包含候选码
关系模式的规范化
1NF->2NF:消除非主属性对码的部分函数依赖
2NF->3NF:消除非主属性对码的传递函数依赖
3NF->BCNF:消除主属性对码的部分和传递函数依赖
BCNF->4NF:消除非平凡非函数依赖的多值依赖
4NF->5NF:消除非候选码所蕴含的连接依赖
数据库的安全性管理
1.方法:用户标识与鉴定,存取控制,视图,审计,密码存储
2. 存取控制:保证用户只能访问其有权存取的数据,定义存取权限(grant,revoke),检查存取权限
3. 定义视图:为视图授权
4. 审计:建立审计日志记录用户对数据库的操作记录
5. 数据加密:将明文转化为密文进行传输
并发控制
对多用户并发存取同一数据的操作进行控制防止出现数据不正确
数据不一致性
读脏数据、不可重复读、丢失修改
事务
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,是并发控制和恢复的基本单位。
事物的ACID特性
原子性:事务是数据库的逻辑工作单位
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
隔离性:不能被其它事务干扰
持续性:事务一旦提交,对数据库中数据的改变就是永久性的,接下来的操作不应该对其执行结果有影响
破坏ACID特性的操作
多个事务并行运行,不同事务的操作交叉运行;事务在运行过程中被强制停止。
封锁
封锁是一个实现并发控制的技术,是事务T在对某个数据对象进行操作之前先向系统发送请求,将其加锁,加锁后事务T就对该数据对象有了一定的控制,在事务T释放他的控制之前,其他事务不能更改此数据对象。
排它锁:当事务T对数据加X锁后,不允许其他事务对数据加锁
共享锁:当事务对数据加S锁后,其他事务只能对该数据加S锁,直到该事务释放S锁
封锁协议(数据不一致)
一级封锁协议:事务T修改数据R之前必须先加X锁,直到事务结束再释放,可以防止丢失修改并保证事务T是可恢复的
二级封锁:在一级封锁协议的基础上,事务读取数据之前必须先加S锁,直至读完才可释放,可以进一步防止读脏数据,但不能保证数据可重复读
三级封锁:一级封锁协议的基础上,事务读取数据前必须先加S锁,直到事务结束再释放,进一步防止了不可重复读。
两段锁(保证可串行化调度)
所有的加锁操作都在解锁操作之前
死锁和活锁
活锁:系统可能使某个事务永远处于等待状态得不到封锁的机会(先来先服务)
死锁:系统中有两个或两个以上的事务处于互相等待的状态而造成任何一个失误都无法继续执行(一次封锁法、顺序封锁法、定期检测、超时法、等待图法)
数据转储
数据转储是数据库恢复的基本技术,转储即DBA定期将整个数据库复制到磁盘或另一个磁盘保存起来的过程,分为静态转储和动态转储。静态转储是系统中无运行事务时进行的转储操作,转储操作开始的时刻,数据库处于一致行状态,转储期间不允许对数据库进行任何的存取、修改活动,得到的一ID那个是一个数据一致性的副本,动态转储是指转储期间允许对数据库进行存取或修改,且对转储期间的修改活动登记下来建立日志文件,这样后援副本加上日志文件就可以将数据库恢复到某一时刻的正确状态。海量转储每次转储全部数据库,增量转储只转储上次转储后更新过的数据。
恢复步骤
事务故障:反向扫描日志文件,查找该事务的更新操作,对更新操作执行逆操作
系统故障:正向扫描日志文件,找出故障发生前已提交的事务队列和未完成的事务队列,对未完成的事务进行UNDO处理,对已完成的数据进行REDO处理
介质故障:装入最新的数据库后备副本,装入转储结束时刻的日志文件副本,启动系统恢复命令由DBMS完成恢复功能即重做事务
为什么REDO正向扫描UNDO反向扫描
若存在同一个数据多个UNDO操作,需要将数据恢复到第一个UNDO事务之前,正向处理无法实现,对同一个数据的多个REDO操作,需要将数据恢复到最后一个成功事务之后,应该正向扫描
触发器
是一种特殊的存储过程,在插入、删除或修改特定表中的数据时触发执行,比数据库本身标准的功能有更精细更复杂的数据控制能力。
数据字典
数据字典是分析阶段的工具,由数据项、数据结构、数据流、数据存储和处理过程组成,供人查询对不了解的条目的解释,在结构化分析中给数据流图上每个成分加以定义和说明
数据库系统的功能
数据库的定义与操作、共享数据的并发控制、数据安全和保密
数据库为什么要设置并发
解决多用户同时访问的问题
如何进行sql优化
查询时尽量避免全表扫描,避免在where子句中对null进行判断或使用or作为连接条件,否则将会导致引擎放弃使用索引而进行全表扫描
数据库概念模型
概念模型是现实世界到机器世界的一个中间层次,用于信息世界的建模,将需求分析阶段的应用需求抽象为信息世界的结构
代数优化
通过对关系代数表达式的等价变换来提高查询效率。
启发式优化:选择运算尽可能先做,将投影运算和选择运算同时进行,投影与其前后的双目运算结合起来,把某些选择同在他前面要执行的笛卡尔积结合起来成为一个连接运算,找出公共子表达式
候选码:能够唯一标识关系的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值