《数据库原理与应用》课后习题参考答案 下载本文

数据库运行管理:事务管理、自动恢复、并发控制、死锁检测或防止、安全性检查、存取控制、完整性检查、日志记录等

数据组织、存储和管理:数据字典、用户数据、存取路径的组织存储和管理,以便提高存储空间利用率,并方便存取数据库的建立和维护:数据库初建、转储、恢复、重组、重构以及性能检测等数据传输:网络通信、数据转换、异构数据库互访等

2)在数据库中,事务(Transaction)是指由构成单个逻辑处理单元的一组数据库访问操作,它们要么都成功执行,要么都不执行。在数据库系统中,事务是 DBMS 执行的最小任务单元。同时,事务也是 DBMS 最小的故障恢复任务单元和并发控制任务单元。为了确保数据库共享访问的数据正确性,要求 DBMS 的事务管理机制维护事务的 ACID 特性。事务程序主要解决并发控制和系统恢复。

3)防止死锁的策略:允许用户一次发出当前所需全部资源的锁定,使用完成后,再释放给其它用户访问。规定所有应用程序锁定资源的顺序必须完全相同。当发生死锁时,回滚其中的一个事务,并取消它对数据库所做的改动。

顺序封锁法: 将数据库对象按某种规定的顺序排列,要求事务实行封锁也必须按照这个顺序进行。

一次封锁法: 要求事务在开始执行前先申请到所需的所有封锁,如果有一个封锁没有申请到,则事务中止。

用时间戳的死锁预防:根据事务启动时的时间戳设置事务的优先级,越早开始运行的事务优先级越高。为预防死锁,在事务 Ti 申请的封锁与事务 Tj 已经拥有的封锁发生冲突时,锁管理器可使用如下两种不同的机制:Wait-die 机制:若

Ti 优先级较高,则 Ti 可以等待;否则中止事务 Ti。Wound-wait 机制:若 Ti 优先级较高,则中止 Tj;否则 Ti 等待。

4) 数据库系统安全模型:身份验证:用来确认登录用户是否是合法使用者;权限控制:通过权限机制控制用户对数据的访问;系统防护:OS 系统安全机制防范非法系统访问;权限控制:通过加密算法对数据库中数据进行加密存储。实现方法:用户要访问数据库,必须先在 DBMS 中创建其账号,并成为数据库的用户。此后,用户每次访问数据库,都需要在

DBMS 进行身份验证,只有合法用户才能进入系统,访问操作数据库对象。 5)数据库备份——是指将数据库当前数据和状态进行副本复制,以便当数据库受到破坏或丢失数据时可以进行修复。数据库恢复——是指数据库中数据丢失或被破坏时,从备份副本将数据库从错误状态恢复到某一正确状态。恢复机制涉及两个关键问题:如何建立冗余数据(在数据库正常运行的情况下随时记录数据库的变化),如何利用冗余数据实施数据库恢复(数据库一旦失效,用记录的数据进行恢复)。恢复技术是衡量数据库管理系统优劣的重要指标;恢复机制常用的技术:记录日志文件和数据转储。

备份内容——包括数据文件、日志文件、系统数据库等。所谓转储是指 DBA 定期地将整个数据库复制到某种存储介质(如磁带、磁盘、光盘等)上保存起来的过程。备用的数据文本称为后备副本或后援副本。数据转储是数据库恢复中采用的基本技术。备份时机——当系统数据库被修改、日志被清理、用户数据库创建、用户数据库加载等事件出现时或定期备份。静态转储与动态转储,完全转储与增量转储

第七章

1 单选题 A C C

2. 判断题 对错对错 对对

3 填空题 过程参数;系统存储过程 临时存储过程;存储过程

4 简答题

1) 数据库应用系统从作用范围的角度可分为三种类型:基于单机的数据库应用系统: 特点: 在单机结构系统中,整个数据库系统都装在一台计算机上,由一个用户进行访问操作,数据不能共享,数据冗余度大。 . 集中式结构: 数据库系统的应用程序、DBMS、数据,都放在同一主机上,所有的处理任务由主机完成,多个用户可同时并发地存取数据,能够共享数据。基于局域网的客户-服务器(C/S)数据库应用系统: 用户将数据传送到服务器进行处理。服务器将结果返回给用户,提高了系统的性能和负载能力,但可能带来网络上数据传数量过大。基于互联网的浏览器-服务器(B/S)的数据库应用系统。分布式结构:用户将数据传送到服务器进行处理。服务器将结果返回给用户,提高了系统的性能和负载能力,但可能带来网络上数据传数量过大。用户将数据传送到服务器进行处理。服务器将结果返回给用户,提高了系统的性能和负载能力,但可能带来网络上数据传数量过大。

2) 数据库开发生命周期是一个设计、实现和维护数据库系统的过程,需要符合组织战略和操作信息的需求。数据库开发生命周期与信息系统软件开发生命周期是内在关联的。DDLC 与 SDLC 是同步进行的。

a. 系统需求分析系统分析人员与用户交流,按照软件工程方法获取系统数据需求信息,并采用模型定义系统数据组成,及其数据字典。

b. 系统数据架构设计 系统架构设计人员根据系统功能和性能需求,对系统数据架构模型进行设计,包括系统数据概念模型、系统数据逻辑模型和系统数据物理模型。

c. 系统数据库实现 系统数据库开发人员根据系统设计方案,对系统数据库进行部署和模型实现,包括系统数据库创建、数据表创建、索引和约束等对象创建。

d. 系统测试 系统测试人员将测试数据上载到数据库中,对数据库对象进行测试操作访问,实现数据库功能和性能测试。

e. 系统运行与维护:系统运维人员在系统投入运行过程中,对系统数据库进行定期维护和优化,以保证数据库系统正常地、高效地运行。

3) 软件开发生命周期包括需求或概念阶段,规格说明阶段:将用户需求写成规格说明文档,阐述软件产品的预期功能。计划阶段:草拟软件项目管理计划,细化软件开发的各个方面。设计阶段:为实现软件规格说明文档中的功能而经历两个连续的设计阶段。第一个阶段是概要设计阶段;第二个阶段是详细设计阶段。这两个设计阶段的文档描述如何实现软件产品。编程(编码或实现)阶段:用特定的计算机编程语言编写各个模块的代码。, 集成(测试)阶段:完成模块的单独测试和集成测试,经历 Alpha 测试和 Beta 测试。维护阶段:完成所有维护工作。当增强和更改软件时,需要更新相应的软件规格说明文档。 4)应用程序在访问数据库时,需要与 DBMS 建立通信连接。但是,不同厂家的 DBMS 提供不同的数据库访问应用程序接口(Application Programming

Interface,API)。因此,需要提供一种统一的数据库通信方式来屏蔽不同厂家的 DBMS 的 API 差异性。数据库连接中间件正是这样一种技术。主要 ODBC、JDBC 和嵌入式 SQL 技术。

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA, Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准 API。这些 API 利用 SQL 来完成其大部分任务。

JDBC(Java Data Base Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。

有了 JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,或为访问 SQL Server 数据库又编写另一个程序等。作为 API,JDBC 为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。

JDBC 使用已有的 SQL 标准并支持与其他数据库连接标准,如 ODBC 之间的桥接。JDBC 实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。JDBC 实际上做了 3 件事:建立与数据库的连接、发送 SQL、处理结果。

SQL 语言可以独立使用,称为交互式(Interactive SQL,ISQL)。但 ISQL 的功能仅限于数据库上操作,缺少数据处理能力。而一个应用程序既要访问数据,又要处理数据,把 SQL 嵌入到程序设计语言,如 C,C++,Java 等,即宿主语言中,