1.数据库管理系统的主要功能是什么?
数据定义·,数据操纵,数据库的运行管理,数据库的建立与维护
2.数据库系统的特点是什么?
数据结构化。
数据共享性高,数据冗余度低。
数据独立性高。
由DBMS统一管理。
3.三级模式结构是什么?二级映射有什么优点?
三级模式包括外模式,模式,内模式
模式描述了数据库中全体数据的逻辑结构与特征,
外模式描述了用户可见的局部数据的逻辑结构和特征,
内模式描述了数据库的物理结构和存储方式。
二级映射包括内模式/模式映像模式/外模式映像
外模式/模式映像的优点:当模式改变时,通过数据库管理员对外模式/模式映像做出相应的改变,外模式可以保持不变,应用程序是根据外模式而编写的,因而应用程序不必修改,保证了数据的逻辑独立性。
内模式/模式映像的优点:当数据库的存储结构改变时,通过对模式/内模式映射作相应的修改,可以使模式保持不变,从而应用程序也不必改变,保证了数据的物理独立性。
4.关系模型中的完整性约束是哪几类?
实体完整性:关系模式中的主码不能为空值
参照完整性:关系模式中的外码只能是空值或是另一关系模式的主码
用户定义完整性:关系模式中针对某一属性的约束
5.DML,DDL,DCL
DML(data manipulation language)数据操纵语言
就是我们经常用到的SELECT,UPDATE,INSERT,DELETE。主要用来对数据库的数据进行的一些操作。
DDL(data definition language)数据定义语言
DDL主要用在定义表,或者改变表的结构,数据类型,表之间的链接和约束等初始化操作上。
DCL(data control language)数据控制语言
用来设置或者更改数据库用户角色权限的语句,例如:grant,revoke语句。


1.和文件系统相比,数据库文件有什么优点?
文件系统是由文件系统管理,面向某一应用,且共享性差,冗余度大,独立性差。而数据库管理系统由DBMS管理,是面向现实世界的,共享性高,冗余度小,具有较高的物理独立性和逻辑独立性。
文件系统记录内有结构,整体无结构,应用程序自己控制,由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力

2.等值连接和自然连接的区别是什么?
自然连接是等值连接的一种特殊情况。
等值连接要求连接的是值相等的分量,两个关系中可以没有相同的属性,进行自然连接的两个关系中必须有相同的属性。
等值连接不要求去掉重复属性列,自然连接时需要除掉重复的属性列。

3.外连接是什么?
在一般地连接中,只有满足连接条件地元组才被检索出来,对于没有满足检索条件的元组是不作为结果被检索出来的,而在实际应用中,往往需要将不满足连接条件的元组也检索出来,只是在相应的位置用空值替代,这种查询称为外连接查询。
左外连接的连接结果包含左关系中的所有元组,对于左关系中没有连接上的元组,其右关系中的相应属性用空值替代。
右外连接的连接结果中包含右关系中的所有元组,对于右关系中没有连接上的元组,其左关系中的属性用空值替代。
全外连接的连接结果中包含了左右关系中的所有元组,对于左关系中没有连接上的元组,其右关系中的属性用空值替代,对于右关系中没有连接上的元组,其左关系中的相应属性用空值替代。

4.索引的作用?它的优缺点是什么?
当表的数据量比较大时,查询操作比较耗时,建立索引可以加快查询速度。
优点:加速查询速度
缺点:索引需要占一定的存储空间,且基本表更新时需要维护索引表。

5.索引和键有什么区别?
索引是存储在数据库中的一个网络结构,是实际存在的,相当于一本书的目录。
键是一个逻辑概念,不是数据库中的物理部分,键分为主键和外键,主键相当于一本书中每个页的页码。


1.数据库中常用的索引有哪些?
答:B+数索引:B+树是对B树优化处理了的多路搜索树,与B树的区别在于,B树的每个节点都可以存储数据,而B+树只有叶子结点可以存储数据,且每个叶子结点都用链表链接。
在数据库的查询中一般都是批量查询数据,采用B+树一次查询多条时,确定首尾位置,便可以方便的确定多条数据位置,提高查询效率。
Hash索引:通过一定的算法计算出哈希值,然后映射出对应的数据存储位置,检索速度快,但是哈希值可能存在碰撞。

2.视图是什么?有何作用?
答:视图是从一个或几个基本表中导出的表,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据。基本表中的数据发生变化时,视图中查询出来的数据也就随之发生变化。
作用:
能够简化用户的操作
使用户能以多种角度看待同一数据
在一定程度上提供了数据的逻辑独立性
能够对秘密数据提供安全保护
可以更清晰的表达查询

3.数据库的安全性是指什么?有哪些安全性技术?
答:数据库的安全性是指保护数据库以免被恶意破坏和非法存取。
安全性技术:用户标识和鉴别,多层存取控制,审计,视图,数据加密。

4.存储控制是指什么?主要包括哪两部分?有哪两类方法?
存取控制是指确保只授权给有资格访问数据库的权限,且令所有未被授权的人员无法接近数据。
两个部分:定义用户权限和合法权限检查
两种方法:
自主存取控制(DAC):用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限
强制存取控制(MAC):每一个数据库对象被标以一定的密级,每一个用户也被授予一定级别的许可证,只有具有合法许可证的用户才可以进行存取。

5.视图机制是如何对数据库实现安全性控制的?
答:可以对不同的用户定义不同的视图,也就是说,通过视图机制要把保密的数据对无权存取的用户隐藏起来。


1.审计功能是如何对数据库实现安全性控制的?
答:审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件。

2.数据库的完整性是指什么?
数据库的完整性是指防止数据库中存在不正确的数据

3.什么是断言?
断言是指更具有一般性的约束,断言创建后,任何涉及到断言中的关系的操作都会引发数据库对断言的检查,任何使断言为假的操作都会被拒绝执行

4.什么是触发器?触发器的作用?
触发器是用户定义在关系表上的一类由数据驱动的特殊过程,类似于约束,但是比约束更灵活,是保证数据库完整性的一种方法,任何用户对表进行增删改查都会有数据库服务器自动激活相应的触发器,对数据库进行相应的检查和操作。

5.规范化过程中,逐级依次消除了何种函数依赖?
答:由1NF到2NF,消除了非主属性对主属性的不法函数依赖
由2NF到3NF,消除了非主属性对主属性的传递函数依赖
由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖。

————————2022/3/19—————————————


1.数据库设计的基本步骤是什么?
答:好的,谢谢老师的提问。
数据库设计分为以下几个步骤
需求分析–概念结构设计–逻辑结构设计–物理结构设计–数据库实施阶段–数据库的运行与维护。
概念结构设计就是对用户的需求进行抽象和归纳,形成一个独立于DBMS的概念模型(E-R图
逻辑结构设计就是将概念模型转换为数据模型,通常为关系模型
物理结构设计就是为逻辑数据模型选取一个最适合存储结构和存取方法。

2.概念模型有什么作用?
答:概念模型用于信息世界的建模,它是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具。

3.合并E-R图时主要包括哪几种冲突?
答:好的,谢谢老师的提问。
主要是以下三种冲突
属性冲突–命名冲突–结构冲突
属性冲突是指不同的实体对同一属性的定义不同
命名冲突同名异义,异名同义
结构冲突同一实体在不同的局部E-R图中有不同的抽象

4.一个实体型转换为一个关系模式有哪几种情况?
答:好的,谢谢老师的提问。
是有三种情况的,1:1,1:n,m:n
一个1:1联系可以转换为一个独立的关系模式·,也可以与任意一端对应的关系模式合并。
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
一个m:n联系可以转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。

5.描述数据库对嵌入式SQL的处理过程
答:DBMS的预处理程序对源程序进行扫描,识别出嵌入式SQL语句,把他们转换成主语言调用语句。使得主语言编译程序可以识别它们,然后将它们编译成目标代码。


1.什么是存储过程?用什么来调用?
答:存储过程是个预编译的SQL语句集合,优点是可以建立非常复杂的查询,只需创建一次,在程序中即可多次调用,且比执行单纯的SQL语句要快。可以创建一个命令对象进行调用。

2.游标是什么?
答:系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。

3.关系数据库中查询处理的步骤是什么?每一步进行简要概括。
答:好的,谢谢老师的提问。
分为4步,分别是查询分析,查询检查,查询优化以及查询执行。
查询分析是指对查询语句进行词法分析,语法分析(检查其是否正确)
查询检查是指对合法的查询语句进行语义检查
查询优化就是选择一个高效执行的查询处理策略
查询执行依据优化得到的执行策略生成查询执行计划,并生成相应的查询执行计划代码。

4.三条启发式优化规则包括哪几点?
答:
选择运算尽可能先做
投影操作尽可能先做
把笛卡尔积和附近的一连串选择和投影操作合并起来做。