为什么使用数据库
数据保存在内存中:存储速度快,但不能永久保存。
数据保存在文件:永久保存,但速度很慢(频繁的IO操作),查询数据不方便。
数据保存在数据库中:永久保存,使用SQL语句查询方便,管理数据也方便。
SQL
sql:数据库查询语言,用于存储数据、查询、更新和管理关系数据库系统。
SQL分类:
- DML:数据操作语言,增删改查(select、update、insert、delete)。
- DDL:数据定义语言,定义数据库、表、试图、索引(create、alter、drop)。
- DCL:数据控制语言,用来设置或更改用户权限(grant、deny、revoke)。
关系数据库:mysql、oracle 表与表之间存在关联。
非关系数据库:redies、mongoDB 不保证遵循ACID原则。
五大约束
- 非空约束
- 唯一性约束
- 主键约束
- 外键约束
- 检查约束(mysql不支持,oracle支持)
三大范式
- 第一范式:字段不可分,每一列都是不可分割的原子项数据。
- 第二范式:有主键,非主键字段依赖主键(消除部分依赖,要求一张表中的每一列都完全依赖于主键(针对于组合主键),也就是不会出现某一列只和部分主键相关)。
- 第三范式:非主键字段不能相互依赖(消除传递依赖,要求一张表中的每一列都和主键是直接依赖的,不是间接依赖)。