数据库一、选择题30’二、填空题20’ 涉及内容:C1,C2,C3,C7概念为主。
其余章节少量涉及。
三、问答题20’(4*5’)1.论述数据、数据库、数据库管理系统、数据库系统的概念;数据:描述事物的符号记录。
是数据库中存储的基本对象。
种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等特点:数据与其语义是不可分的数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。
基本特征:⏹数据按一定的数据模型组织、描述和储存⏹可为各种用户共享⏹冗余度较小⏹数据独立性较高⏹易扩展数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件,是基础软件,是一个大型复杂的软件系统。
用途:科学地组织和存储数据、高效地获取和维护数据数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
2.数据库系统的特点☐数据结构化整体结构化不再仅仅针对某一个应用,而是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释数据可以变长数据的最小存取单位是数据项☐数据的共享性高,冗余度低,易扩充数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。
数据共享的好处减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性使系统易于扩充☐数据独立性高物理独立性指用户应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映像功能来保证的☐数据由DBMS统一管理和控制DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
3.数据模型的概念、作用及数据模型的三个要素;概念:对现实世界数据特征的抽象,是用来描述数据、组织数据和对数据进行操作的(现实世界的模拟)。
应满足三方面要求:能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现。
三种主要类型:概念模型、逻辑模型、物理模型作用:将具体事物转换成计算机能够处理的数据三要素:☐数据结构:描述数据库的组成对象以及对象之间的联系,是所描述的对象类型的集合,是对系统静态特征的描述。
☐数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,是对系统动态特征的描述。
如:查询、更新(包括插入、删除、修改)☐完整性约束条件:一组完整性规则。
完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
4.数据库系统三级模型结构,并讨论其优点;三级模式是对数据的三个抽象级别。
三级模式结构:外模式、模式、内模式外模式:也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。
(安全性)模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
(相对稳定)模式实际上是数据库数据在逻辑级上的视图。
同一外模式可以为多个应用程序所使用,但一个应用程序只有一个模式。
内模式:也称存储模式,一个数据库只有一个内模式。
是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
二级映像在DBMS内部实现这三个抽象层次的联系和转换。
外模式/模式映像---→逻辑独立性模式/内模式映像---→物理独立性数据库系统三级模式和两层映像的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。
5.数据库系统的组成;数据库、数据库管理系统(DBMS及其开发工具)、应用系统、数据库管理员一、硬件平台及数据库☐数据库系统对硬件资源的要求(1) 足够大的内存⏹操作系统⏹DBMS的核心模块⏹数据缓冲区⏹应用程序(2) 足够大的外存⏹磁盘或磁盘阵列:数据库⏹光盘、磁带:数据备份(3) 较高的通道能力,提高数据传送率二、软件☐DBMS☐支持DBMS运行的操作系统(OS)☐与数据库接口的高级语言及其编译系统☐以DBMS为核心的应用开发工具☐为特定应用环境开发的数据库应用系统三、人员☐数据库管理员(DBA)☐系统分析员和数据库设计人员☐应用程序员☐用户(偶然用户、简单用户、复杂用户)6.DBA、系统分析员、数据库设计人员、应用程序员各自的职责;DBA:1.决定数据库中的信息内容和结构2.决定数据库的存储结构和存取策略3.定义数据的安全性要求和完整性约束条件4.监控数据库的使用和运行⏹周期性转储数据库:数据文件,日志文件⏹系统故障恢复⏹介质故障恢复⏹监视审计文件5. 数据库的改进和重组⏹性能监控和调优⏹定期对数据库进行重组织,以提高系统的性能⏹需求增加和改变时,数据库须需要重构造系统分析员:⏹负责应用系统的需求分析和规范说明⏹与用户及DBA协商,确定系统的硬软件配置⏹参与数据库系统的概要设计数据库设计人员:⏹参加用户需求调查和系统分析⏹确定数据库中的数据⏹设计数据库各级模式应用程序员:⏹设计和编写应用系统的程序模块⏹进行调试和安装7.什么是视图,其优点是什么?视图是从一个或几个基本表(或视图)导出的表,是一个虚表。
只存放视图的定义,不会出现数据冗余;基本表中的数据发生变化,从视图中查询出的数据也随之改变。
优点(作用P125):(1)视图能够简化用户的操作;(2)视图能使用户能以多种角度看待同一数据;(3)视图对重构数据库提供了一定程度的逻辑独立性;(4)视图能够对机密数据提供安全保护;(5)适当的利用视图可以更清晰地表达查询。
8.哪些视图是可以更新的,哪些又不能更新,请举例说明;可更新视图:行列子集视图。
不可更新视图:有些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新。
(1)若视图是由两个以上基本表导出的,此视图不允许更新;(2)若视图的字段来自字段表达式或常数,则不允许对此视图执行insert和update 操作,但允许执行delete操作;(3)视图的字段来自聚集函数;(4)视图定义中含有group by子句;(5)视图定义中含有distinct短语;(6)视图定义中有嵌套查询,并且内层查询的from子句中涉及的表也是导出该视图的基本表;(7)一个不允许更新的视图上定义的视图也不允许更新。
9.数据库安全性控制的常用方法和技术;⏹用户标识和鉴别:用户标识、口令⏹存取控制技术☐存取控制机制:确保只授权给有资格的用户访问数据库的权限。
➢定义用户权限➢合法权限检查用户权限定义+合法权检查机制= DBMS的安全子系统☐存取控制方法自主存取控制(Discretionary Access Control ,简称DAC),C2级强制存取控制(Mandatory Access Control,简称MAC),B1级☐⏹视图技术☐把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护➢主要功能是提供数据独立性,无法完全满足要求➢间接实现了支持存取谓词的用户权限定义⏹审计技术(C2以上安全级别必不可少的一项指标):可选特征☐用户级审计➢针对自己创建的数据库表或视图进行审计➢记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作☐系统级审计➢DBA设置➢监测成功或失败的登录要求➢监测GRANT和REVOKE操作以及其他数据库级权限下的操作AUDIT语句:设置审计功能NOAUDIT语句:取消审计功能⏹密码存储(数据加密:防止数据库中数据在存储和传输中失密的有效手段):可选特征☐加密方法➢替换方法➢置换方法➢混合方法(替换+置换)10.什么是数据库中的自主存取控制方法和强制存储控制方法?☐自主存取控制(Discretionary Access Control ,简称DAC)☐用户对不同的数据库对象有不同的存取权限;☐不同用户对同一对象也有不同的权限;☐用户还可以将其拥有的存取权限转授给其他用户;☐属于安全级别中的C2级☐多数大型DBMS支持,灵活☐SQL标准也支持DAC(Grant, Revoke)☐强制存取控制(Mandatory Access Control,简称MAC)☐每一个数据库对象被标以一定的密级☐每一个用户也被授予某一个级别的许可证☐对于任意一个对象,只有具有合法许可证的用户才可以存取☐少数DBMS支持B1级,严格11.触发器的概念与作用☐触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程;⏹由服务器自动激活⏹可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力☐触发器的'本质'⏹触发器是一种特殊的存储过程,它不能被显式地调用;⏹触发器是由SQL语句集组成的代码块,在响应某些动作时激活该语句集;⏹在往表中插入记录、更改记录或者删除记录时,才被自动地激活。
(insert;update ;delete;instead of)⏹完整性约束与触发器比较➢一般来说,使用约束比使用触发器效率更高。
➢触发器可以实现约束所有的功能,可以完成比CHECK约束更复杂的限制。
☐作用⏹用于数据库完整性检查;⏹实现数据库系统的其他功能,包括数据库安全性,以及更加广泛的应用系统的一些业务流程和控制流程,基于规则的数据和业务控制功能。
12.关系数据库的三类完整性约束概念☐关系模型的实体完整性⏹CREATE TABLE中用PRIMARY KEY定义☐单属性构成的码有两种说明方法⏹定义为列级约束条件⏹定义为表级约束条件☐多个属性构成的码只有一种说明方法⏹定义为表级约束条件☐关系模型的参照完整性⏹在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码⏹用REFERENCES短语指明这些外码参照哪些表的主码☐用户定义的完整性:针对某一具体应用的数据必须满足的语义要求。
RDBMS提供,而不必由应用程序承担。