3. 数据、数据库、数据库系统、数据库管理系统是什么?有什么关系?
答:数据就是描述客观世界的符号记录;
数据库是存储在计算机内,有组织、可共享的大量数据的集合;
数据库管理系统是数据管理软件;
数据库系统 = 数据库 + 数据库管理系统 + 数据库管理员 + 应用程序组成的存储、管理、处理和维护数据的系统;
5.文件系统和数据库系统的区别? / 为什么要使用数据库系统? 有什么好处?
答:文件系统是面向应用的;共显性差、独立性差、冗余度大、整体无结构;
数据系统是面向组织和企业的; 共显性高、有物理独立性和逻辑独立性、冗余度小、数据结构化且数据有DBMS统一管理和控制;数据库系统可以集中存储、管理、处理和维护数据, 可以控制数据冗余, 提高数据的利用率和一致性, 同时也利于应用程序的开发和维护;
6. 数据库管理系统是什么?有哪些功能? (DBMS)
答:数据库管理系统是用来管理数据库的软件;
它可以利用DDL(数据定义语言)来定义数据; 利用DML(数据操纵语言)来实现对数据的增删改查; 利用DCL(数据库控制语言)还可以实现并发控制、安全性检查、完整性检查、数据库转储和恢复等;
7. DBA的职责是什么?
答:参与数据库设计、决定数据库的结构和内容;
定义数据的安全性、完整性、分配用户对数据库的权限;
监督控制数据库的使用和运行,改进或重构数据库系统;
8. 什么是DB的系统缓冲区?
答:系统缓冲区就是应用程序运行时,DBMS在内存中为其开辟的一个工作区,用于数据的传输和格式的转换;
1. 什么是基本表? 什么是视图? 什么是导出表? 两个的区别是什么?
答:基本表是数据库中保存数据的基本关系;
视图是从一个或几个基本表或视图中导出的虚表;
基本表是实际保存数据的地方,而视图是虚表,并不保存数据,而视图所看到的数据是基本表中的数据;
导出表是执行查询后产生的结果;
基本表、视图、导出表是数据库的三种表;
2. 简述SQL的特点
答:① SQL语言 = 数据定义语言(DDL) + 数据操作语言(DML) + 数据控制语言(DCL)
② 高度非过程化,不用了解存取路径,只用提出做什么,而不用指出怎么做;
③ 是面向集合的操作方式;
④ 语言简单,易学易用;
⑤ 可独立、可嵌入使用;
5. 视图的优点是什么?为什么要使用视图?
答:① 能够简化用户的操作; ② 能使用户以多角度看待数据; ③ 对重构数据库提供了一定的逻辑独立性; ④能够对机密数据提供安全保护;
6. 哪些视图可以更新?哪些不可以更新?
答:基本表的行列子集视图可更新; 若视图的属性来自聚集函数、表达式,则不可以更新;
7. SQL语言的数据定义功能有哪些? √
答:模式定义、基本表定义、视图定义、索引定义;
8. 相关子查询 VS. 不相关子查询 √
解析:都属于嵌套查询, 如果子查询的查询条件不依赖于父查询,则为不相关子查询;若子查询的查询条件依赖于父查询,则称为相关子查询;
1. 什么是数据库的安全性?DBMS有哪些安全性措施? √
答:数据库的安全性就是保护数据库以防止不合法的使用所造成的的数据泄漏、更改或破坏;
DBMS的安全性措施有: 用户身份鉴别、多层存取控制、视图机制、审计和数据加密;
2. 自主存取控制 VS. 强制存取控制
答:自主存取控制: 定义各用户对不同数据对象的存取权限,当用户对数据库访问时先检查存取权限;
强制存取控制: 每个数据对象和用户均被强制规定一定的密级,只有某一许可证级别的用户才能存取某一密级的数据; (≥时能读取,≤时能写)
3. 什么是数据库的审计功能? 为什么要提供审计?
答:审计功能就是将用户对数据库的所有操作记录到审计日志中,审计员可以在记录中找出问题,非法存储的用户、时间和内容;
1. 什么是数据库的完整性? √
答:数据库的完整是指数据的正确性和相容性; (正确相容)
2。 数据库完整性 VS. 数据库安全性 √
答:数据库完整性是为了防止数据库中出现不符合语义的数据;防的是数据对象
数据库安全性是为了防止不合法操作造成的数据泄漏、更改或破坏;防的是用户和操作
3. 什么是触发器?
答:触发器是一个能由系统自动执行对数据库修改的语句; 由事件、条件和动作组成;
1. 什么是一个好的关系模式? 为什么要提出关系数据理论/规范化理论?
答:好的关系模式在进行增删改的时候不会发生异常、数据冗余尽可能的小;由于模式中的有些数据依赖的引起了这些异常,所以要用规范化理论;
2. 什么是数据依赖?
答:数据依赖就是一个属性确定之后,另外一个属性也就唯一确定了;
分为函数依赖、多值依赖、连接依赖;
3. 写出关系模式规范化的步骤.
答:1NF(消除非主属性对码的部分函数依赖)——>2NF(消除非主属性对码的传递函数依赖)-->3NF(消除主属性对码的部分函数依赖和传递函数依赖)-->BCNF(消除多值依赖)-->4NF
1. 简述数据库设计过程 √
答:(7步)需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护;
2.数据库设计过程中形成的数据库模式
答:概念结构设计——E-R图; 逻辑结构设计——将E-R图变成数据模型,建立视图,形成外模式;
物理结构设计——建立索引,形成内模式;
3. 什么是数据字典?有什么用?
答:数据字典是对数据项、数据结构、数据流、数据存储、和处理的定义和描述;
作用是关于数据的描述、在需求分析阶段建立是概念结构设计的基础;
4. 将E-R图转换为关系模型的原则的什么?
答:在E-R图中,每个实体对应一个关系,该关系的属性就是实体的属性,关键字就是实体的关键字;一个联系也对应一个关系,该关系的属性为联系的属性,关键字为相关实体的关键字;
1. 什么是游标? 有什么用?
答:游标是一个数据缓冲区, 存放SQL语句的执行结果;
由于SQL是面向集合的,一条SQL可以产生多条记录,而主语言是面向记录的,一次只能存放一条记录,故用游标来协调这两种不同的处理方式;
2. 存储过程 VS. 函数
第10章 数据库恢复技术
1事务中的提交和回滚是什么意思√
事务的提交就是将事务中对数据库的更新写回到磁盘上的物理数据库;
事务的回滚是将事务中对数据库已完成操作全部撤销,回滚到事务开始时的状态;
2. 数据库有哪些故障? 如何解决? √
答:数据库故障有: 事务内部故障——事务撤销, 系统故障(软故障)——重做, 介质故障(硬故障)——数据库镜像, 计算机病毒——数据恢复
3. 数据库恢复如何实现? √
答:数据库恢复的原理是建立冗余数据; 两种方式:数据转储、登记日志文件;数据转储: DBA定期将整个数据库复制到其他存储介质上;(备用数据叫后备副本\后援副本)登记日志文件: 记录事务对数据库的更新操作,先写数据文件,后写数据库;
4. 什么是数据库镜像? 有什么用? √
答:数据库管理系统自动把整个数据库或关键数据复制到另一磁盘上;如果出现介质故障,由镜像磁盘继续提供使用,可用镜像磁盘进行恢复;不出现故障时, 用于并发操作;
1. 为什么要并发控制?能保证事务哪些特性?什么是并发控制?
答:数据库是一个共享资源,当多个用户并发地存取数据库时就会产生多个事务同时存取同一个数据的情况。如果对并发操作不加控制,就会存取到不正确的数据,破坏数据库的一致性。
并发控制能保证事务的一致性和隔离性
并发控制就是正确的调度并发操作,使事务的执行不受其他事务干扰;
4. 什么是封锁协议? 有哪些封锁协议?
答:封锁协议是规定何时申请锁、何时释放锁、持锁时间的协议;
4. 活锁 VS. 死锁 √
答:活锁:
事务1封锁了某数据,事务2又请求封锁该数据,但是此时它只能等,然后事务3又请求封锁该数据,事务1释放锁之后,系统先批准了事务3的封锁请求,然后事务4又请求,事务3释放锁后,系统又同意了事务4...就这样,事务2就一直等着;
解决活锁的办法就是先来先服务;
死锁:
事务1封锁了R1,事务2封锁了R2,然后它们又互相请求封锁对方的数据,两个就一直等;
解决死锁就只有破坏产生死锁的条件,分别为一次封锁法(一次性把所有要用的数据加锁)和顺序封锁法(按顺序封锁);
检测死锁:超时法和事务等待图;