数据库系统理论知识(三)

本文详细介绍了数据库设计的策略和方法,包括需求分析、概念结构设计等步骤。探讨了关系查询处理中的选择和连接操作,以及查询优化。此外,还深入讲解了事务管理,包括事务的ACID特性、并发控制和故障恢复策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库设计

1.数据库设计策略:自顶向下,自底向上。
2.数据库设计的方法:新奥尔良设计方法(把数据设计分成阶段),信息建模法(概念设计阶段的主要方法 ER图)第三范式设计方法(逻辑设计阶段),面向对象设计方法(以对象为中心),数据流法(结构化分析,逐步求精)
3.数据库设计步骤:需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实验,数据库运行和维护。
4.需求分析阶段的要求:信息要求,处理要求,安全要求。
5.数据字典:对数据的数据项,数据结构,数据流,数据存储,处理过程进行定义和描述,其目的是对数据流程图中各个元素做出详细的说明。
数据项 :不可再分,数据块的结构说明。格式:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}
数据结构:反应数据之间的组合关系。
格式:数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
数据流:数据结构在系统内传输的路径。
格式:{数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平流量高,高峰期流量}。
数据存储 :数据流的来源和去向。
描述:{数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}
处理过程:描述处理过程
描述{处理过程名,说明,输入:{数据流} 输出:{数据流},处理:{简要说明}}
6.关系模式常用存取方法:索引方法(B+树索引),聚簇索引,HASH

关系查询处理

1.查询优化:物理优化,代数优化
2.选择操作:扫描:全表扫描,索引扫描。
3.连接操作:等值连接

事务管理

1.事务:关系型数据库管理系统提供的一种特殊手段。通过这一手段,应用程序将一系列的数据库操作组合在一起,作为一个整体执行,以保证数据库处于一致状态。 用户定义的一个数据库操作序列。不可分割的工作单位。
2.定义事务的语句:
begin transaction 事务开始
commit 提交事务
rollback 回滚
3.事务的特性:原子性,一致性,隔离性,持续性 。它们叫ACID特性。
4.并发会出现的问题:丢失修改,不可重复读,读“脏”数据
并发控制方法:封锁:排它锁,共享锁。
注意这里要和活锁死锁的概念区分开
活锁解决:先来先服务
死锁解决:超时法,等待图法。
5.可串行性是并发事务正确性的准则。
6.两段锁协议:所有事物必须分为两个阶段:成长阶段(加锁阶段),衰退阶段(解锁阶段)。
加锁阶段:在该阶段可以进行加锁操作。在对任何数据进行读操作之前要申请并获得S锁,在进行写操作之前要申请并获得X锁。加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。
解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再进行加锁操作。
两段封锁法可以这样来实现:事务开始后就处于加锁阶段,一直到执行ROLLBACK和COMMIT之前都是加锁阶段。ROLLBACK和COMMIT使事务进入解锁阶段,即在ROLLBACK和COMMIT模块中DBMS释放所有封锁。

7.数据库故障:
事务故障:如运算溢出,死锁等。恢复:利用日志文件撤销该事务
系统故障:停电,cpu停止运转。 系统重启,不需要用户干预。
介质故障:磁盘损坏,强磁场干扰。 重装数据库:数据转储,登记日志文件。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值