[数据库]基本概念笔记
一、数据、数据库、数据库管理系统和数据库系统
1.数据(Data)
描述事物的符号记录称为数据。
2.数据库(DB)
存放数据的仓库,长期存储在计算机内的、有组织的、可共享的数据集合。
3.数据库管理系统(DBMS)
位于用户与操作系统间的一层数据管理软件,主要功能包括数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立和维护功能。
4.数据库系统(DBS)
计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员和用户构成
二、数据库系统特点
1.数据结构化
数据结构化是数据库与文件系统的根本区别
2.数据的共享性高,冗余度低,易扩充
3.数据的独立性高
包括物理独立性和数据的逻辑独立性。物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的;逻辑独立性是指用户的应用系统与数据库的逻辑结构是相互独立的。
4.数据由DBMS统一管理和控制
三、SQL语言
集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)于一体。
SQL功能 | 动词 | 语句类型 |
---|---|---|
数据查询 | SELECT | DQL |
数据定义 | CREATE,DROP,ALTER | DDL |
数据操纵 | INSERT,UPDATE,DELETE | DML |
数据控制 | GRANT,REVOKE | DCL |
四、数据库事务
四个特性(ACID)
原子性、一致性、隔离性和持续性。
原子性:事务中操作要么都做,要么都不做;
一致性:数据库从一个一致性状态到另一个一致性状态;
隔离性:事务之间不能互相干扰;
持续性:一个事务一旦提交,它对数据库中数据的改变应该是永久性的。
五、事务隔离级别
事务隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
读未提交(read-uncommitted) | 是 | 是 | 是 |
不可重复读(read-committed) | 否 | 是 | 是 |
可重复读(repeatable-read) | 否 | 否 | 是 |
串行化(serializable) | 否 | 否 | 否 |
MySQL的事务隔离级别是read-committed。
其实网上的概念写的比较多,比较杂,看这个表也会让人绕进去,直接通过每个事务隔离级别的名称就可以明白各个级别的含义。
- 读未提交指的是事务B可以读到事务A没有提交的数据;
- 不可重复读的英文是read committed,读到已经提交的数据;
- 可重复读,即使B事务改变了数据的值,A事务依旧还是读取到的原本的值;
- 串行化是最高的隔离级别,开启A事务时会锁住整张表,B无法对其进行操作。