关系型数据库与非关系型数据库
关系型数据库: 采用了关系模型来组织数据的数据库
关系模型指的就是二维表格模型。
关系:一张二维表格
元组:二维表中的一行,记录
属性:二维表中的一列,字段
关系型数据库的优点:
- 容易理解:相对于其他网状、层次等模型更容易理解
- 使用方便
- 易维护
四种存储引擎
数据库引擎指的是数据库底层的软件组织,对数据进行增删查改。不同存储引擎提供不同的存储机制、索引技巧等。
MyISAM 、Memory、InnoDB、Archive
数据库主从复制与读写分离
主从复制来同步数据,然后通过读写分离提升数据库的并发负载能力。
主从复制过程:
- 主服务器在日志记录数据库操作事件,写入日志成功之后,通知存储引擎提交事务
- 从服务器开启一个I/O工作线程,与master建立连接,然后读取日志中的事件,并写入一个中继日志。
- 从服务器再开启一个sql线程,从中继日志中读取事件,并重放事件使得主从服务器数据保持一致
读写分离过程:
只在主服务器上修改,数据同步到从服务器,从服务器只能提供读取数据,不能写入。
一方面可以提供备份,另外一方面提高并发能力,提高数据库性能。
数据库的三大范式:
一共有八种范式,常用的三种范式 第一范式(1NF) 第二范式(2NF) 第三范式(3NF)
满足的范式越多,表的层次结构就越复杂。
第一范式: 属性不可分割 每个字段都是不可再拆分的
第二范式: 表中要有主键 其他的字段都依赖于主键。
第三范式: 表中不能有其他表中存在的,存储相同信息的字段。通过外键约束来实现。