《数据库系统》作业复习重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.PPT课件练习
Chap01 数据库系统概述 PPT27-41
1.3 数据库系统的组成
什么是数据库系统
指使用数据库技术存储大量有组织相关数据的计算机系统。
数据库系统的目标
可实现对有组织、大量相关数据进行管理和维护,支持用户访问、检索和更新所需信息。硬件:
计算机身,CPU、内存、外存、I/O设备
计算机网络
软件:
操作系统;应用程序开发工具;实用程序
数据库管理系统,数据库系统的核心。
用户
应用程序员,负责编写数据库应用程序
最终用户,可以是具有专业背景的用户,可以是一些并未受过IT训练的普通用户
数据库管理员DBA,熟悉计算机数据处理业务、负责设计和维护数据库的技术人员
文档及说明书
系统运行所必需的各类文档和说明书。
数据库应用体系结构
客户/服务器(Client/Server, C/S)结构。
客户端Client:请求SQL服务的软件进程。
服务器Server:提供SQL服务的软件进程。一个服务器可支持多个数据库;一个数据库包含多个关系。
1.4 数据库模式(Schema)结构
什么是模式?模式是对某个数据库的逻辑结构的完整描述,通常用一组DDL来描述。
数据独立性
数据物理独立性
改动存储结构时,逻辑结构可不改变,从而避免应用程序的“感知”。
数据逻辑独立性
一个数据库有它的总体结构,而某个应用的需要有各种局部的逻辑结构,数据库系统同样提供映射,实现局部逻辑与总体逻辑之间的转换,允许局部逻辑有独立于总体逻辑的表示方法。数据库的数据独立性依靠模式分级及模式之间的映像实现。
1.5数据库管理系统概述
主要指对数据库存取、管理和维护的系统软件,通常叫做数据库管理系统,负责响应和处理各类用户对数据库的各种操作请求。
数据存储器
主要以文件方式存储数据和元数据
元数据metadata:关于数据的结构信息。数据按元数据规范的格式存储。
索引index:一种支持对数据库中数据有效存取的数据结构,以快速查找数据项(item)。
索引是数据的一部分,而对索引的说明则是元数据的一部分。
Hash表是早期建立索引的主要方法,现一般使用B(Balance)树。
查询处理器
接受操作请求,把SQL命令转变为对存储数据的操作序列,主要问题是优化。
编译器:负责对查询或更新语句进行优化。
解释器:负责编译或解释模式更新。
预编译器器:完成嵌入在宿主语言中的查询语句。
查询优化:找到查询语句的最佳执行规划,即完成这条语句需要的成本最少。
处理三种SQL命令
模式更新:通常由管理员和设计员使用,改变当前数据库模式。
查询:对数据的询问。两种接口:通用的交互式接口(Interactive SQL)和API。
数据更新:改变当前数据库中数据的状态。
存储管理器
接受上层数据请求,提取或更新对应的数据。包括文件管理和缓冲区管理。依赖于特定OS。文件file管理:磁盘文件分块block:1K---16K。
负责跟踪磁盘上文件的位置;从磁盘上获取数据块,选择用于存储这些数据块的内存位置缓冲区buffer管理:文件到内存的映像。内存分页page:1K---4K。
可以把磁盘上的数据块保存一段时间,但是如果内存紧张的话,可以释放这些数据块,然后利用这些释放出来的空间保存新的数据块。
事务管理器
负责系统数据的完整性;保证并发运行的多个SQL命令相互不冲突;保证系统出现故障时不丢失数据。
什么是事务Transaction
一组按顺序执行的操作单元
数据库系统允许许多事务并发地执行,保证这些事务全部正确的执行是DBMS中事务管理程序的任务。
事务特性ACID
Atomicity:原子性,一个事务中的一组操作,要么全部执行,要么一点也不执行。Consistency:一致性,保持正确状态
Isolation:隔离性,多个事务并发运行时,作用效果相互分开。
Durability:持久性,事务完成后,即使系统发生故障,事务的结果不丢失。
如何保持事务特性
日志(logging):为保证持久性,数据库的每一个变化都记录在单独的磁盘上
并发控制(concurrency control):事务必须表现为以孤立的方式执行;多个事务的单个动作是按某个顺序来执行。
消除死锁(deadlock resolution):通过对正在执行的事务进行干预,以便其他的事务得以顺利的执行。
Chap04 数据库建模 PPT12-32,39-57
chap02 关系数据模型和chap03 关系数据库设计理论
(1)如何计算属性的闭包?PPT82-86
给定函数依赖集S和属性集A={A1,A2,…,An},如何计算A+?
1 将X初始化为{A1,A2,…,An},闭包最小集合。
2 遍历S中的每个函数依赖,对于每个函数依赖:B1B2…Bm→C
若B1、B2 、…、Bm都在X中,而C不在X中,则把C加入X中。
3 重复第2步,直到遍历完S中所有函数依赖,而没有新属性能加入到X中。
4 最终属性集X即为属性集A在函数依赖集S下的闭包A+。
(2)属性闭包和键码之间关系PPT89-92
对于一个关系R,当且仅当{A1,A2,…,An}+是关系R所有属性的集合,则属性A1,A2,…,An 是关系R的超键码。
可通过计算属性的闭包确定关系的键码
{A1,A2,…,An}+是关系R所有属性的集合
{A1,A2,…,An}任一真子集的闭包不是关系R所有属性的集合。
(3)如何求最小函数依赖集合? PPT95-99
(1)根据分解规则,可得到一个与F等价的函数依赖集G,G中每个函数依赖右边均为单属性。
(2)在G中消除冗余的函数依赖。
(3)在G中消除每个函数依赖中左边冗余的属性。
(4)如何求函数依赖的投影? PPT100-103
对于子关系R1的属性集合U中的每个属性子集X,计算X+,于是对于满足下列条件的每个属性B,函数依赖X→B 在R1中成立:
⑴ B是R1的一个属性,⑵ B属于X+,而且⑶ B不属于X。
令T为最终输出的FD集合,初始化为{}
对于子关系R1的属性集合U中的每一个子集X,计算X+。该计算依据FD集合S,可能会涉及一些关系模式R中存在却不在R1中的属性。对于所有在X+中且属于R1的属性A,将所有的非平凡FD X→A加入到T中
T是在R1中成立的FD基本集,但可能不是最小化基本集。可通过求最小函数依赖集合的方法构造最小化基本集。
(5)判断关系是否满足BCNF和如何分解为BCNF PPT112-121
关系R满足BC范式的两种情形
关系R中不存在非平凡函数依赖。(只有平凡函数依赖)
每个非平凡函数依赖左面包含某个键码(即左面是超键码)。
判断bc范式
找出所有的键码Key;
检查所有非平凡函数依赖;
左面是否为超键码?
1 找一个违背BCNF的非平凡函数依赖A1A2…An→B1B2…Bm。
注意:函数依赖右边包含尽可能多的属性,要求是{A1,A2,…,An}+(但不是必需),这样能够减少总的工作量。
2 把关系R分解成两个关系:
R1(A1,A2,…,An, B1,B2,…,Bm)。
R2(A1,A2,…,An, 所有其它属性)
注意:若不满足BC范式,则再分解。
(5)判断关系是否满足3NF和如何分解为3NF PPT133-137,141
一个关系模式总可以分解为满足3NF的模式
这个分解既可恢复信息,又保持所有函数依赖。
如何定义3NF?
关系模式R满足3NF,当且仅当
若非平凡函数依赖A1A2…An→B在关系R中成立,
{A1,A2,…,An}是R的超键码或者B是某个键码的组成部份(键属性)。
根据定义,关系Booking ( movie, theater, city ) 满足3NF。