写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。
这只是一部分,陆续还有数据库原理的其它章节,还会推出数据结构、计算机网络、数据库的复试题整理。
数据库原理我的参考书是《数据库原理及应用第二版(雷景生)》,因为一些机缘巧合选择了这本书。不过没关系,网上有很多关于数据库原理的面试题,而且答案也很容易搜到。思维导图在我的processon。如果对你有帮助就打赏一下吧。
https://www.processon.com/view/link/5e7e0107e4b027d999d2cb1d
还有其它系列的面试题整理
目录
绪论
基本术语 数据、数据库、数据库管理系统、数据库系统
数据:数据库中存储的基本对象。
数据库:长期存储计算机内的、有组织的、可共享的数据集合。
数据库管理系统:专门用于建立和管理数据库的一套软件。对外部程序提供访问数据库的方法,对内进行数据管理。
数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数据库管理员和用户组成。
数据库管理技术的发展
经历了人工管理阶段、文件系统阶段、数据库管理阶段。
人工管理阶段:数据不保存;只有程序概念,没有文件概念;数据面向应用。
文件系统阶段:数据可以长期保存,数据由文件系统管理,数据冗余、不一致、联系性差
数据库管理阶段:数据结构化,共享性高,数据独立性高,由DBMS统一管理和控制,提供接口。
数据模型的组成三要素
数据结构、数据操作、完整性约束
解释三级模式结构
模式、外模式、内模式
模式:也叫作逻辑模式或概念模式,是对数据库中全体数据逻辑结构和特征的描述。定义模式时要定义数据的逻辑结构、数据之间的联系、定义与数据相关的安全性、完整性的要求。模式只有一个。
外模式:也叫子模式或用户模式,它描述用户看到或使用的局部逻辑结构和特性。用户根据外模式用数据操作语言或接口去操作数据库的数据。外模式可以有多个。
内模式:也叫作存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
解释二级独立性
物理独立性和逻辑独立性
物理独立性是指用户的应用程序与存储在磁盘上的数据库的数据是互相独立的。当内模式改变之后,只需要对模式/内模式映像修改,而不用改变应用程序。
逻辑独立性是用户的应用程序与数据库的逻辑结构是相互独立的,当模式改变时,只需要改变模式/外模式映像即可,不用改变应用程序。
解释二级映像
为了能实现数据库三个模式之间的联系和转化,才有了这两级映像。
外模式/模式映像
模式/内模式映像
DBMS的主要功能有什么?
数据库定义、数据库的操纵、数据库的控制、数据库的存储、数据库的维护、数据字典。
数据库的控制包括:数据完整性控制、数据安全性控制、并发控制、数据库恢复。
数据库存储子系统是把各种DML语句转化成底层的文件系统命令,起到存储、检索、更新的作用。
数据字典:数据库中存放三级结构定义的数据库称为数据字典。对数据库的操作都要通过访问数据字典进行。
关系数据库
常用的关系操作和数据操作
常用的关系操作:选择、投影、连接、除、并、交、差等运算。
常用数据操作:查询、增加、删除、修改
操作对象和结果都是集合。
关系完整性约束
包括实体完整性、参照完整性、用户定义的完整性。前两个系统必须满足,自动支持。
一些基本术语关系、属性、值域、元组、分量、关系模式
关系,通俗地讲就是一张二维表,表名就是关系名
属性:二维表中的列称为属性
元组:二维表中一行称为一个元组,元组中的每一个属性值称为元组分量
关系模式:二维表的结构。可以表示未REL(A,B,C,D)
一些基本术候选码、主键、主属性、非主属性、外键
候选码:如果一个属性集的值能够唯一标识一个关系的元素,又不含有多余的属性,就称他为候选码。一个关系上可以有多个候选码。
主键:当一个关系有多个候选码时,可以选出一个作为主键。
主属性:包含在任意候选码中的属性
非主属性:不包含在候选码中的属性
外键:如果关系模式R中的属性K是其他关系模式的主键,则说K是关系模式R的外键。
描述三类完整性规则
实体完整性规则:要求关系中元组在组成主键的属性上不能有空值。
参照完整性规则:如果属性集K是关系模式R1的主键,同时K也是关系模式R2的属性,但不是R2的主键,那么称K为R2的外键。在R2中,K的取值要么是空值要么是R1的某个主键的值。关系模式R1称为被参照关系,R2称为参照关系。
用户定义完整性:用户自己定义的。
完整性约束的作用
作用是保证数据库中数据的正确性。
1、执行插入操作时,检查三种完整性。
2、执行删除操作时一般检查参照完整性。如果删除的是参照关系中的元组,不用检查
如果删除的是被参照关系的元组,需要检查,如果未被引用可以执行删除。如果被引用分三种情况:
①不可以执行删除,直接拒绝;②可以删除,但需要同时删除参照关系中引用了该元组的对应元组,称为级联删除。③可以删除,但参照关系中引用了该元组的对应元组的外键设置为空值。