数据库
一、选择题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提供,而不必由应用程序承担。
13.数据库设计过程
☐ 需求阶段(最困难最耗时)
☐ 概念结构设计(关键)
☐ 逻辑结构设计
☐ 物理结构设计
☐ 数据库实施
⏹ 建立数据库
⏹ 编制与调试应用程序
⏹ 组织数据入库
⏹ 并进行试运行
☐ 数据库运行和维护
14.数据字典的内容和作用(P207)
数据字典是系统中各类数据描述的集合
☐ 数据字典的内容
⏹ 数据项
⏹ 数据结构
⏹ 数据流
⏹ 数据存储
⏹ 处理过程
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
作用:数据字典是关于数据库中数据的描述,在需求分析阶段监理,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。数据字典和数据流图共同构成系统的逻辑模型。没有流图数据字典难以发挥作用。没有数据字典,数据流图就不严格。
15.为什么要进行视图集成,其方法是什么?
在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。
☐ 视图集成的两种方法
⏹ 一次集成:多个分E-R图,通常用于局部视图比较简单时
⏹ 逐步累积式:首先集成两个局部视图(通常是比较关键的两个局部视图),以后每次将一个新的局部视图集成进来.
无论采用哪种方式,每次集成局部E-R图时都需要分两步走:
(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。
(2)修改和重构。消除不必要的冗余,生成基本E-R图。
四、综合应用 30’
1.编写ER图,并转化为关系模型
E-R方法/模型(实体-联系方法)
实体型:矩形
属性:椭圆
联系:菱形(联系本身也是一种实体型,也可以具有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。)
实例:P19
2.SQL语句的编写:C3
3.根据关系模型,求候选码及判断是第几范式:C6
函数依赖:平凡、非平凡;完全、部分; 传递
1NF:无表中表;
2NF:每一个非主属性完全函数依赖于码—〉无部分依赖;
3NF:每一个非主属性既不部分依赖于码,也不传递依赖于码;
BCNF:每一个主属性即既不部分依赖,也不传递依赖/每一个决定因素都包含码(函数依赖范畴内,最彻底的分离,已经消除了插入和删除异常)
☐ 如果R∈3NF,且R只有一个候选码
☐ 任何一个二目关系
本文来源:https://www.2haoxitong.net/k/doc/4c1a7c43ce1755270722192e453610661fd95a7a.html
文档为doc格式