数据库设计
1.第一范式(确保每列保持原子性)
第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。
2.第二范式(确保表中的每列都和主键相关)
第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
3.第三范式(确保每列都和主键列直接相关,而不是间接相关)
第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
- 1.1第一范式
- 2.1第二范式
- 3.1第三范式
- 最终实现的目标
E-R模型
E-R模型的基本元素是:实体、联系和属性
-
E表示entry,实体:一个数据对象,描述具有相同特征的事物
-
R表示relationship,联系:表示一个或多个实体之间的关联关系,关系的类型包括包括一对一、一对多、多对多
-
属性:实体的某一特性称为属性
关系也是一种数据,需要通过一个字段存储在表中
1、实体A对实体B为1对1,则在表A或表B中创建一个字段,存储另一个表的主键值
2、实体A对实体B为1对多:在表B中创建一个字段,存储表A的主键值
3、实体A对实体B为多对多:新建一张表C,这个表只有两个字段,一个用于存储A的主键值,一个用于存储B的主键值
-- 数据库的备份与恢复(shell下运行)
#备份testdb数据库 mysqldump -uroot -proot --databases testdb > testdb.sql #备份所有数据库 mysqldump -uroot -proot --all-databases > all_databases.sql #备份testdb数据库下的students表 mysqldump -uroot -proot testdb students > students.sql #还原数据(sql命令行下) source testdb.sql