目录
1、数据库管理系统的主要功能是什么?
2、数据库系统的特点是什么?
3、三级模式结构是什么?二级映射有什么优点?
4、关系模型中的完整性约束是哪几类?
5、SQL的特点?
数据语言分为哪两种?
连接
等值连接&自然连接
外连接&左外连接&右外连接&全外连接
索引
索引的数据结构类型
索引的设计原则
键
游标是什么?
事物是什么?
ACID特性包括?
为什么事务非正常结束时会影响数据库数据的正确性?
视图
数据库的安全性是指什么?有哪些安全性技术?
视图机制是如何对数据库实现安全性控制的?
审计功能是如何对数据库实现安全性控制的?
数据库恢复
1、数据库恢复的关键是什么?
2、数据库恢复的基本技术有哪些?
登记日志文件时为什么必须先写日志文件,后写数据库?
用于数据库恢复的文件是什么?
存取控制是指什么?主要包括哪两部分?有哪两类方法?
三大范式NF
规范化过程中,逐级依次消除了何种函数依赖?
数据定义、数据操纵、数据库的运行管理、数据库建立和维护
数据结构化;
数据共享性高、冗余度低且扩充;
数据独立性高;
数据由DBMS统一管理(数据库管理系统)。
三级模式包括外模式、模式、内模式;
模式:描述了数据库中全体数据的逻辑结构和特征;
外模式:描述了用户可见的局部数据的逻辑结构和特征;
内模式:描述了数据库的物理结构和存储方式。
外模式/模式映像的优点:当模式改变时,由DBA对外模式/模式映像做相应的改变,外模式可以保持不变。保证了数据的逻辑独立性;
内模式/模式映像的优点:当数据库的存储结构改变时,由DBA对模式/内模式映射作相应的改变,可以使模式保持不变,保证了数据的物理独立性。
实体完整性:主键唯一,不能为空
参照完整性:外键要么为空,要么对应另外一个关系模型的主键
用户定义完整性:列值唯一,不能为空,在关系模式中针对某一属性的约束。
1)综合统一:集DCL,DML,DDL功能于一体;
2)高度非过程化:使用SQL进行数据操作时,是需要提出“做什么”,而不需要指明怎么做;
3)面向集合的操作方式:操作的对象、查找结果都可以是元组的集合;
4)以同一种语法结构提供多种使用方式:既可以作为独立的语言进行交互,又可以作为嵌入式语言嵌入到更高级的语言程序中进行操作;
5)语言简洁,易学易用。
数据操纵语言:指通过对表中的数据进行插入、删除和修改等操作,实现对数据库的基本操作。
数据控制语言:用来设置或者更改数据库用户或角色权限的语句。
第一范式:属性不可分,要求每一列都是不可分割的基本数据项。同一列中值唯一。
第二范式:每个非主属性完全依赖于键码
第三范式:非主属性不传递依赖于键码
巴斯科德范式BCNF:非主属性不对主键子集依赖
由INF到2NF,消除了非主属性对主属性的部分函数依赖;
由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。
数据库是共享资源,通常有多个事物在同时执行,当多个事物并发的存取数据库时就会存在同时读或写统一数据的情况,如果对并发操作不加控制,就会存在数据读取或存取错误,破坏数据库的一致性。
丢失修改:A、B两个事物同时对一个数据进行操作,A的修改破坏了B的修改,导致B的修改丢失;
不可重复读:A读取了数据后,B对数据进行了修改,导致A无法再现前一次的读取结果;
读脏数据:A对数据进行了修改之后,B读入该数据,然后A又因为某一原因撤销了该修改,导致数据恢复原值,此时B读取的数据就成了脏数据。
幻影读:A读取某个范围的数据,B在这个范围内插入了新的数据,A再次读入这个范围的数据,发现和第一次读的数据不一致。
自然连接是等值连接的一种特殊情况;
等值连接 自然连接 要求连接的是值相等的分量,两个关系中可以没有相同的属性 两个关系中必须有相同的属性。 不要求去掉重复属性列; 需要除掉重复的属性列
外连接:指两个表在进行操作时,不仅返回符合连接和查询条件的元组,还返回不符合条件的一些元组;
左外连接:指返回左表中仅符合连接条件不符合查询条件的元组;
右外连接:指返回右表中仅符合连接条件不符合查询条件的元组;
全外连接:左外连接和右外连接去掉重复项的元组集并集。
索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录;
优点:加快查询速度
缺点:数据库需要一些存储空间,存储索引表;可以加快查询速率,但是降低了插入和更新的速率。
B+树索引:B+树有序,因此支持部分查找、范围查找、排序、分组。
Hash索引:失去了有序性,因此只能进行精确查找。
全文索引(倒排序索引):记录文件的关键字和文档所在的位置。
空间数据索引:从所有维度索引数据,可以有效利用任意维度来进行组合查询。
1)忌讳过度原则:索引会占用一定的磁盘空间,会降低数据库的效率。
2)使用短索引:对于较长的字符串列,可以设计一个前缀用于索引,加快查询速度和降低索引存储空间。
键是一个逻辑概念,不是数据库中的物理部分。
主键:用来保证数据完整性
唯一标识一条记录,不能有重复的,不允许为空
主键只能有一个
外键:用来和其他表建立联系
表的外键是另一表的主键, 外键可以有重复的, 可以是空值
一个表可以有多个外键
答:系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
答:事物是数据库进行操作的一个基本单位。
ACID特性包括:
隔离性:一个事务的执行不能被其他事务所干扰;
原子性:事务是一个不可分割的单位,要么全做,要么全不做;
一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态;
永久性:一旦事务被提交,它对数据库的改变就是永久的。
1)事物具有一致性,事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
2)如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
定义:视图是从一个或几个基本表中导出的表,是一个虚表。
数据库中只存放视图的定义,而不存放视图对应的数据。
基本表中的数据发生变化时,从视图中查询出来的数据也就随之发生变化。
作用:
1)能够简化用户的操作;
2)使用户能以多种角度看待同一数据;
3)在一定程度上提供了数据的逻辑独立性;
4)能够对秘密数据提供安全保护;
5)利用可以更清晰的表达查询。
答:
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
合并E-R图时主要包括哪几种冲突?
答:
属性冲突。不同的实体对同一属性的定义不同;
命名冲突。同名异义、异名同义;
结构冲突。同一实体在不同的局部E-R图中有不同的抽象。
一个实体型转换为一个关系模式有哪几种情况?
答:
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并;
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并;
一个m:n联系可以转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
数据库的安全性是指保护数据库以恶意破坏和非法存取。
安全性技术:用户标识和鉴别、多层存取控制、审计、视图、数据加密。
可以对不同的用户定义不同的视图
审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。
建立冗余数据;
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
1)数据转储:指DBA(数据库管理员)定期将数据库复制到其他介质上进行保存,这些备份的数据叫做后备副本;
2)登记日志文件:
答:日志文件、后备副本。日志文件是用来记录事物对数据库进行更新操作的文件。
原因:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
1)如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。
2)如果先写日志,但没有修改数据库,在恢复时并不会影响数据库的正确性。
3)所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
存取控制:确保只授权给有资格的用户访问数据库的权限,且令所有未被授权的人员无法接近数据。
两个部分:
1)定义用户权限
2)合法权限检查;
两种方法:
1)自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限。
2)强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。