数据库面试总结

数据库
1.ER图转换原则
2.数据库并发控制
3.建立数据库的流程
4.数据库范式
5.数据库完整性
6.数据库的索引
7.数据库的视图
8.数据库delete和drop还有truncate的作用
9.数据库触发器
10.数据库的三级模式和两级映像
11.数据库死锁
12.主键和外键
13.数据库DBA、DBMS的作用
14.数据库的存储程序
15.数据库的事务
16.数据库中怎么消除冗余,举个例子
17.数据库的ACID特性,什么是数据库一致
18.数据库有哪些操作性
19.数据库了解哪些系统

1. ER图转换原则

ER图是实体联系图,包括实体、实体属性、联系等,一种是实体转化为关系模式,实体的属性成为关系模式下的属性,实体属性的键成为关系的主键。还有一种是联系转化为关系模式,一对一的话,可以转化为独立的关系模式,或者跟任意一端的关系模式结合,一对多,可以转化为独立的关系模式,选择跟那多的那一端结合,多对多就只能独立关系模式

2. 数据库并发控制

数据库的并发控制可以通过封锁技术实现
锁包括行锁、列锁、共享锁、排他锁、悲观锁、乐观锁
共享锁,允许多个事务对数据对象加读锁,但不能加写锁
排他锁,只允许一个事务对数据对象加写锁,其他事务不允许添加任何类型的锁
乐观锁 处理数据后准备提交时上锁
悲观锁 先上锁后处理数据

3. 建立数据库的流程

数据库需求分析
数据库概念设计
数据库逻辑结构设计
数据库物理结构设计
数据库实现
运行和维护

4. 数据库范式

第一范式
任何属性都不可再分
第二范式
在第一范式的基础下 任何非主属性都完全函数依赖于主属性
第三范式
在第二范式的基础下 任何非主属性都不传递依赖于主属性

5. 数据库完整性

实体完整性 主键唯一,且不为空
参照完整性 外键与对应表的属性一一对应
用户定义完整性 用户定义具体的约束条件

6. 数据库的索引

索引是一种加快查找速度的数据结构

唯一索引 索引值唯一,运行维空,一张表可以有多个索引
主键索引 特殊的唯一索引,不允许为空,一张表只能有一个主键索引
全文索引 可以检索数据库的文本数据
聚簇索引 索引的叶子节点就是数据行
非聚簇索引 索引的叶子结点指向数据行

索引的优点,加快检索速度
索引的缺点,索引需要额外的空间,索引越多,修改越慢

7. 数据库的视图

视图是一种虚拟的表,独立于基本表而存在,具有和基本表相同的功能,可以在视图上进行增删改查操作,且不会对基本表产生影响,但是如果基本表的内容变化,则视图也会随之变化

优点:逻辑独立性,简化用户操作,更加灵活

8. 数据库delete和drop还有truncate的作用

delete 属于dml,drop和truncate属于ddl,
delete可以删除表的某几行数据,而drop会直接删除整张表,truncate则是删除表中的所有数据,保留表的结构
drop>truncate>delete

9. 数据库触发器

触发器是一种事件驱动的特殊过程,比如在进行过增删改查过程后,会触发相应的触发器进行对应的操作

10. 数据库的三级模式和两级映像

外模式 数据的局部逻辑结构,可以有多个
模式 数据全部的逻辑结构
内模式 数据的物理结构

两级映像指的是 外模式/模式映像和内模式模式映像

11. 数据库死锁

两个或以上的事务由于相互等待已被某事务上锁的数据,从而导致事务无法继续推进的现象,叫做死锁。

预防死锁
一次封锁法
顺序封锁法

检测和解除死锁
超时法
事务等待图法

12. 主键和外键

超键,可以唯一表示元素的属性集
候选键 ,没有多余属性的超键
主键,多个候选键中的其中一个
外键,某关系模式的属性是另外一个关系模式的主键

13. 数据库DBA、DBMS的作用

DBA是数据库管理人员,负责对数据库的维护、管理操作

DBMS是数据库管理系统
DDL 数据定义功能
DML 数据操作功能
DCL 数据控制功能
TCL 事务管理功能
数据库的建立和维护

用户能不能对数据库进行增删改查
如果数据库为用户通过grant授权相应操作后,就可以

14. 数据库的存储程序

数据库的存储过程是经过编译并存储在数据库的一段sql语句的集合,他可以提高运行效率和复用率和减少网络流量

15. 数据库的事务

事务是用户定义的一段数据库操作序列,是不可分割的工作单位,即要么都做,要么都不做

16. 数据库中怎么消除冗余,举个例子

消除冗余的方法可以通过无损分解

17. 数据库的ACID特性,什么是数据库一致

原子性 事务是不可分割的工作单位。要么都执行,要么都不执行

一致性 数据库中的数据在事务完成前后,不会破坏数据的完整性约束
数据的完整性包括数据的正确性和相容性
数据的不一致包括,脏读,不可重复读,幻读

隔离性 事务运行互不干扰
数据库隔离性有四级
读未提交 读取未提交事务修改的数据 会导致 幻读 不可重复读 脏读
读且提交 读取已提交事务修改的数据 会导致 幻读 不可重复读
可重复读 允许并发读 会导致 幻读
串行化 事务串行化顺序执行

脏读 读取事务未提交的数据
不可重复读 两次读取数据结果不一致
幻读 两次读取数量不一致

持久性 事务一旦提交,数据的修改应具有永久性,不会因为系统故障而对执行结果有影响

18. 数据库有哪些操作性

dml select delete update insert
ddl create alter drop truncate
dcl grant revoke
tcl savepoint rollback commit set transaction

19. 数据库了解哪些系统

mysql Oracle

你可能感兴趣的:(杭电计算机考研,数据库,面试,考研)