## 数据库的设计
1,多表之间的关系
1,一对一
实现方式:任意一方添加外键指向另一方的主键
2,一对多
实现方式:多的一方建立外键,指向一的一方
3,多对多
实现方式:借助第三张表 此表至少包含两个字段 这两个字段为第三张表的外键,分别指向两张表的主键
2,数据库设计的范式
第一范式:每一列都是不可分割的院子数据项
缺点:非常严重的数据冗余(第二范式解决)
添加,删除数据存在问题(第三范式解决)
第二范式:在第一范式的基础,非码属性必须完全依赖于候选码
1,函数依赖
A–>B,如果通过A属性(属性组 (学号,课程名称))可以唯一确定B(分数)的值,则B依赖于A
2,完全函数依赖
A–>B,如果A是一个属性组,则B属性值的确定需要依赖于A属性组的所有属性 分数—>(课程名称,学号)
3,部分依赖
A–>B,A是一个属性组,则B属性值的确定只需要依赖A属性组中的某一些值 (学号,课程名称)—>姓名
4,传递函数依赖
A–>B,B–>C 通过A属性的值,唯一确定B属性值,通过B属性的值,唯一确定C属性值 则C传递依赖于A
学号–>系名,系名–>系主任
5,码
一个属性或者属性组被其他属性完全依赖 (学号,课程名称)
主属性:码属性组中的所有属性
非主属性:除过码属性
第三范式:在第二范式基础上 任何非主属性不依赖于其他非主属性(消除传递依赖)
##数据库备份或者还原
1,命令行
备份:mysqldump -uroot(用户名) -proot(密码) 数据库名称>保存路径
还原:
1,登录数据库
2,创建数据库
3,使用数据库
4,执行文件 source 文件路径
2,图形化工具
右键备份
版权声明:本文为qq_50352386原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。