目录
- 1. 数据库基础理论
-
- 1.1 数据库的常见分类有哪些?
- 1.2 事务的概念及其4个特性是什么?
- 1.3 事务的4种隔离级别 (Isolation Level) 分别是什么?
- 1.4 Oracle、MySQL、和 SQL Server 中的事务隔离级别
- 1.5 什么是范式?
- 1.6 什么是第一、二、三、BC范式?
- 1.7 什么是反范式?
- 1.8 索引的使用原则有哪些?
- 1.9 什么是存储过程?它有什么优点?
- 1.10 存储过程和函数的区别是什么?
- 1.11 触发器的作用、优缺点有哪些?
- 1.12 什么是视图?视图的作用是什么?
- 1.13 什么是 SQL 注入?
- 1.14 什么是 MVCC?
- 1.15 锁的作用有哪些?
- 1.16 更新丢失指的是什么?
- 1.17 悲观锁和乐观锁
- 1.18 什么是死锁 (DeadLock) ?
1. 数据库基础理论
1.1 数据库的常见分类有哪些?
数据库可以按照存储模型、关系型/非关系型来进行分类,其分类如下图所示:
(1) 网络数据库、层次数据库
数据库若按照使用的数据存储模型来划分,则可以把数据库分为网状数据库 (Network Database)、关系型数据库(Relational Database) 和 层次数据库 (Hierarchical Database)。其中,商业中使用最广泛的数据库主要是关系型数据库,例如,Oracle、MySQL、DB2、SQL Server 等。
网状数据库 (Network Database) 是指处理以记录类型为结点的网状数据模型的数据库,处理方法是将网状结构分解成若干棵二级树结构,称为系,其代表是 DBTG (DataBase Task Group,数据库任务组)系统。系类型是两个或两个以上的记录类型之间联系的一种描述。在一个系类型中,有一个记录类型处于主导地位,称为系主记录类型,其他称为成员记录类型。系主和成员之间的联系是一对多的关系。1969年美国的CODASYL 组织提出了一份 DBTG 报告
,此后,根据 DBTG 报告实现的系统一般称为 DBTG 系统。现有的网状数据库系统大都是采用 DBTG方案。DBTG 系统是典型的三级结构体系:子模式、模式、存储模式。相应的数据定义语言分别称为子模式定义语言 (SubSchema Data Definition Language