(配套教材为数据库系统概论第五版王珊)
一、填空题
数据库 P4
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库的数据独立性 P13
数据独立性分为物理独立性和逻辑独立性。
物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。也就是说,数据在数据库中怎样存储是数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变时用户程序也可以不变。
数据模型 P14
数据模型是对现实世界数据特征的抽象,是数据库的核心和基础,由数据结构、数据操作和数据的完整性约束条件三部分组成。
第一类是概念模型。
第二类是逻辑模型和物理模型。
实体完整性 P45
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。所谓空值就是“不知道”或“不存在”或“无意义”的值。
事务 P293
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
数据库设计 P205
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据库恢复技术
并发控制
三级封锁协议 P313
在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
二、简答题
1.数据库管理系统(功能) P5
(1)数据定义功能
数据库管理系统提供数据定义语言(Data Defintion Language, DDL). 用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。
(2)数据组织、存储和管理
数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方法(如索引查找、hash 查找、顺序查找等)来提高存取效率。
(3)数据操纵功能
数据库管理系统还提供数据操纵语言( Data Manipulation Language, DML),用户可以使用它操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。
(4)数据库的事务管理和运行管理
数据库在建立、运用和维护时由数据库管理系统统一管理和控制, 以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
(5)数据库的建立和维护功能
数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序或管理工具完成的。
(6)其他功能
其他功能包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。
2.数据库安全性 P133
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
一、对数据库安全性产生威胁的因素主要有以下几方面。
1.非授权用户对数据库的恶意存取和破坏
一些黑客 (hacker) 和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。因此,必须阻止有损数据库安全的非法操作,以保证数据免受未经授权的访问和破坏,数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。
2.数据库中重要或敏感的数据被泄露
黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。为防止数据泄露,数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。
此外,在安全性要求较高的部门提供审计功能,通过分析审计日志,可以对潜在的威胁提前采取措施加以防范,对非授权用户的入侵行为及信息破坏情况能够进行跟踪,防止对数据库安全责任的否认。
3.安全环境的脆弱性
数据库的安全性与计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性是紧密联系的。操作系统安全的脆弱,网络协议安全保障的不足等都会造成数据库安全性的破坏。因此,必须加强计算机系统的安全性保证。随着Internet 技术的发展,计算机安全性问题越来越突出,对各种计算机及其相关产品、信息系统的安全性要求越来越高。为此,在计算机安全技术方面逐步发展建立了一套可信(trusted) 计算机系统的概念和标准。只有建立了完善的可信标准即安全标准,才能规范和指导安全计算机系统部件的生产,较为准确地测定产品的安全性能指标,满足民用和军用的不同需要。
二、数据库安全性控制的常用方法和技术
1、用户身份鉴别
- 静态口令鉴别
- 动态口令鉴别
- 生物特征鉴别
- 智能卡鉴别
2、存取控制
数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制机制主要包括定义用户权限和合法权限检查两部分。
(1)定义用户权限,并将用户权限登记到数据字典中
用户对某一数据对象的操作权力称为权限。某个用户应该具有何种权限是个管理问题和政策问题,而不是技术问题。数据库管理系统的功能是保证这些决定的执行。为此,数据库管理系统必须提供适当的语言来定义用户权限,这些定义经过编译后存储在数据字典中,被称做安全规则或授权规则。
(2)合法权限检查
每当用户发出存取数据库的操作请求后(请求一般应包括操作类型、 操作对象和操作用户等信息),数据库管理系统查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。
定义用户权限和合法权限检查机制一起组成了数据库管理系统的存取控制子系统。C2级的数据库管理系统支持自主存取控制(Discretionary Access Control, DAC), BI级的数据库管理系统支持强制存取控制(MandatoryAccessControl,MAC)。
这两类方法的简单定义是:
(1)在自主存取控制方法中,用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活。
(2)在强制存取控制方法中,每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。下面介绍这俩种存取控制方法。
3、自主存取控制
4、视图
5、审计
6、加密
3.数据库完整性 P157
问题:什么是数据库的完整性? 数据库的完整性概念与数据库的安全性概念有什么区别和联系?
4.数据库恢复 P293
5.并发控制 P309
三、关系范式化
1、试写出关系模式R的候选码,给出求解过程
2、判定R最高属于第几范式,并说明理由
四、设计题
1、画出满足需求的ER图
2、将该ER图转换为关系模式,要求:1:1和1:n的联系进行合并,并标注主外码。主码用下划线表示,外码用波浪线表示。
P241 7,8,10
五、关系运算题
1、试用关系代数语言表示下列操作(选择、连接、差、除)P70 6
2、试用SQL语言表示下列操作(查询,更新,视图,断言,触发器)