花了几天是时间整理了下复试的时候数据库可能会问到的问题,以下就是我个人以及网上收集资料整理的关于数据库可能回问的题目,我已经将这些题目整理到world文档里面去了,点击这里数据库面试汇总,然后关注公众号在后台回复考研面试,就可以获得这套资源。
往期回顾
1.DBMS是什么?DBMS的功能有些什么?
① 数据库管理系统,(Database Management System),是一种操纵和管理数据库的大型软件。
② 数据定义功能(DDL)、数据操纵功能(DML)、数据查询功能、数据控制功能。
2.什么是主键、外键?
①主键:是能确定一条记录的唯一标识,不能重复且不能为空。
②外键:用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性。
3.索引是什么?它的优缺点是什么?索引越多越好?索引的类型有哪些?
①索引是一种特殊的查询表,它类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。
②优点:大大加快数据的检索速度。缺点:索引需要占物理空间,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
③ 不是的,索引建立太多会消耗空间,严重拖慢记录的更新以及行记录的新增速度。
④ 聚集索引、非聚集索引、唯一索引、视图索引、全文索引、XML索引
4.什么是事务?事务的四大特性?
①事务是用户定义的一个数据库操作序列,这些操作要么做,要么不做,是一个不可分割的工作单位。
②原子性、一致性、隔离性、持久性
>原子性:一个事务是一个不可分割的工作单位,事务中包括的诸多操作要么都做,要么都不做。
>一致性:事务必须是使数据库从一个一致性状态变到另一个一致性状态,一致性与原子性是密切相关的。
>隔离性:一个事务的执行不能被其他事务干扰。
>持久性:持久性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
5.什么是视图?
即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
6.什么是范式?请说说数据库的三大范式?
①范式是我们在设计数据库结构过程中所要遵循的规则和指导方法。
②三大范式分别为:第一范式、第二范式、第三范式
>第一范式(1NF):数据库表中的每一列不可以在继续细分,换句话说,就是数据库表中没有重复的列。
比如有一个用户信息表【姓名、性别、电话】,假设现实生活中一个人的电话可能有家庭电话、公司电话,那么这个表结构就不符合第一范式,因为电话还可以细分,所以我们可以将这个表改为【姓名、性别、家庭电话、公司电话】
>第二范式(2NF):在满足1NF的基础上,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情。
比如:订单表只描述订单相关的信息,所以所有字段都必须与订单ID相关 ;而产品表只描述产品相关的信息,所以所有字段都必须与产品ID相 关;因此不能在一张表中同时出现订单信息与产品信息。
>第三范式(3NF):在满足第二范式(2NF)基础上,要求表中的每个非关键字不传递依赖于主关键字,(即:表中的每一列只能依赖于主键);
比如:学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下关系
(学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)
这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:
(学号) → (所在学院) → (学院地点, 学院电话)
即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖,所以不满足3NF,我们需要进行修改,如下所示
把学生关系表分为如下两个表:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 地点, 电话)。
7.什么是等值联接(inner join)、左联接(left join)、右连接(right join)
① 等值联接只返回两个表中联接字段相等的行。
② 左联接返回包括左表中的所有记录和右表中联接字段相等的记录。
③ 右联接返回包括右表中的所有记录和左表中联结字段相等的记录。
8.E-R图是什么?
实体联系图(Entity-Relationship,E-R),有三个组成部分:实体、属性、联系。用来进行关系型数据库系统的概念设计。
>实体:用矩形表示,矩形框内写明实体名。
>属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
>联系:用菱形表示,菱形框内写明联系名。
ER模型转换为关系模式的原则
>一对一:遇到一对一关系的话,在两个实体任选一个添加另一个实体的主键即可。
>一对多:遇到一对多关系的话,在多端添加另一端的主键。
>多对多:遇到多对多关系的话,我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上联系自身带的属性即可。
9.请问SQL优化方法有哪些?
>通过建立索引对查询进行优化
>对查询进行优化,应尽量避免全表扫描
10.数据库的三级模式结构是什么?
数据库系统的三级模式结构是指数据库系统是由模式(逻辑模式或概念模式)、外模式(子模式或用户模式)、内模式(存储模式或物理模式)三级构成。
11.数据库系统的二级映像是什么?
外模式/模式映像(逻辑独立性)、模式/内模式映像(物理独立性)。
12.说下几种常见的数据模型?数据模型的组成要素是什么?(详解)
① 关系模型、层次模型、网状模型、面向对象模型
② 数据结构、数据操作、数据的完整性约束
13.什么是数据库的约束?有几种?
① 数据库约束是防止非法记录的规则。
② NULL/NOT NULL(非空)约束、UNIQUE(唯一)约束、PRIMARY KEY(主键)约束、FOREIGN KEY(外键)约束、CHECK(检查)约束
14.常见的数据库有哪些?
MySQL 、SQL Server、Oracle、Sybase、DB2等