# SQL

# Flag

备份/迁移/同步/导入导出

数据库分类

  1. 关系型数据库(SQL)
  2. 非关系型数据库(NoSQL):键值、列存储、图形、文档、搜索引擎
  3. 网状数据库
  4. 层次数据库
  5. 新型数据库(NewSQL):关系型数据库与NoSQL的结合 The bridge between SQL and NoSQL (opens new window)
  6. 分布式数据库

NoSQL

  • 1970: NoSQL = We have no SQL
  • 1980: NoSQL = Know SQL
  • 2000: NoSQL = No SQL!
  • 2005: NoSQL = Not only SQL
  • 2013: NoSQL = No, SQL!

# 数据库设计

范式:Normal Format

符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度。一个数据库表之间的所有字段之间的联系的合理性。

  • 范式是离散数学里的概念
  • 范式目标是在满足组织和存储的前提下使数据结构冗余最小化
  • 范式级别越高,表的级别就越标准
  • 第一范式:1NF,确保表中每一列数据的原子性,不可再分!
  • 第二范式:2NF,在满足第一范式的基础上,确保列数据要跟主键关联,不能出现部分依赖。
  • 第三范式:3NF,再满足第二范式的基础上,保证每一列数据都要跟主键直接关联,不能出现传递依赖。
  • BCNF范式,4NF,5NF
  • 反范式:用空间换时间,通过适当的数据冗余提高查询效率,但冗余数据会牺牲数据一致性

# 免费数据库

MySQL

SQLServer

PostgresqlSQL

Redis