一、简答题
1、简述数据库系统的特点。(P9)
答:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。
2、数据库管理系统的主要功能有哪些?(P11)
(1)数据的安全性保护
(2)数据的完整性保护
(3)并发控制
(4)数据库恢复
3、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?(P10)
物理独立性:是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
逻辑独立性:是指用户的应用程序与数据的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变.
为什么:数据独立性是由DBMS的二级映像功能来保证的(外模式/模式映像,模式/内模式映像),这两层映像机制保证了数据库系统中数据的逻辑独立性和物理独立性。
4、试述数据库系统的组成.(P5)
数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员。
5、简述文件系统与数据库系统的区别和联系。(P6)
区别:
数据的管理者:文件系统;数据库管理系统
数据面向的对象:某一应用;现实世界
数据的共享程度:共享性差,冗余度大;共享性高,冗余度小
数据的独立性:独立性差;具有高度的物理独立性和逻辑独立性
数据的结构化:记录内有结构,整体无结构;整体结构化,数据模型描述
数据的控制能力:应用程序自己控制;由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
联系:
(1)均为数据组织的管理技术
(2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换
(3)数据库系统是在文件系统的基础上发展而来的
6、DBA的职责是什么?(P35)
(1)决定数据库中的信息内容和结构
(2)决定数据库中的存储结构和存取策略
(3)定义数据库的安全性要求和完整性约束条件
(4)监控数据的使用和运行
(5)数据库的改进和重组重构
7、什么是基本表?什么是视图?两者的区别和联系是什么?(P81)
基表:是本身独立存在的表,在SQL中一个关系就对应一个基表。
视图:是从一个或几个基表导出的表。
区别:基表是实际存在保存数据的实体,一个(或多个)基表对应一个存储文件;视图本身并不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,视图是一个虚表.
联系:视图是在基表之上建立的,它的结构和内容都来自基表;一个视图可以对应多个基表,一个基表也可以建立多个视图,视图是基表在逻辑意义建立的新关系。
8、简述视图的优点.(P125)
(1)视图能够简化用户的操作
(2)视图使用户能以多种角度看待同一数据
(3)视图对重构数据库提供了一定程度的逻辑独立性
(4)视图能够对机密数据提供安全保护
(5)适当的利用视图可以更清晰的表达查询
9、所有的视图是否都可以更新? 哪类视图是可以更新的,哪类视图是不可更新的?
不是。
一般地,行列子集视图是可更新的.
不可更新的视图:
(1)若视图是由两个以上基表导出的,此视图不允许更新
(2)若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许DELETE操作
(3)若视图的字段来自聚集函数,则此视图不允许更新
(4)若视图定义中含有GROUP BY子句,则此视图不允许更新
(5)若视图定义中含有DISTINCT短语,则此视图不允许更新
(6)若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基本表,则此视图不允许更新
(7)一个不允许更新的视图上定义的视图也不允许更新
10、简述 SQL 的特点.(P79)
(1)综合统一
(2)高度非过程化
(3)面向集合的操作方式
(4)以同一种语法结构提供多种使用方式
(5)语言简洁,易学易用
11、关系数据库的完整性规则有哪几类? (P49)
(1)实体完整性
(2)参照完整性
(3)用户自定义完整性
12、写出 Armstrong 推理规则中自反律、增广律、传递律的形式化定义。(P183)
设F是属性集总体U上的一组函数依赖,关系模型R<U,F>。
自反律:若Y包含于X,X包含于U,则X—>Y为F所蕴含.
增广律:若X->Y为F所蕴含,且Z包含于U,则若XZ->YZ为F所蕴含。
传递律:若X-〉Y及Y->Z为F所蕴含,则X->Z为F所蕴含。
13、简述 SQL 中的自主存取控制机制。
同一用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,用户还可将其拥有的存取权限转授给其他用户.大型数据库管理系统几乎都支持自主存取控制,目前的SQL标准也对自主存取控制提供支持,这主要通过SQL 的GRANT语句和REVOKE语句来实现。数据库设计的意义
14、简述数据库中事务的概念及其性质。
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。这4 个特性也简称为ACID 特性。
15、简述事务的原子性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
16、简述并发操作带来的三类数据不一致性。
答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏'夕数据. ( l )丢失修改(lost update ) 两个事务 Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了) Tl 提交的结果,导致 Tl 的修改被丢失. ( 2 )不可重复读( Non 一 Repeatable Read ) 不可重复读是指事务 Tl 读取数据后,事务几执行更新操作,使 Tl 无法再现前一次读取结果。( 3 )读“脏"数据( Dirty Read ) 读“脏’夕数据是指事务 Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后, Tl 由于某种原因被撤销,这时 Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。
17、在数据库中为什么要并发控制?并发控制技术可以保证事务的哪些特征?
答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制
18、什么是封锁?基本的封锁类型有几种?
答:封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种:排它锁( Exclusive Locks ,简称 x 锁)和共享锁 ( Share Locks,简称 S 锁)。排它锁又称为写锁。若事务 T 对数据对象 A 加上 X 锁,则只允许 T 读取和修改 A ,其他任何事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。这就保证了其他事务在 T 释放 A 上的锁之前不能再读取和修改 A 。共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A但不能修改 A ,其他事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁.这就保证了其他事务可以读 A ,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。
19、简述两段封锁协议的内容。
在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁.2. 在释放一个封锁之后,事务不再获得任何其他封锁.
20、简述数据库系统中活锁和死锁的含义。避免活锁的简单方法是什么?
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论