《数据库系统》作业复习重点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档