MySQL——数据库设计(多表关系、范式以及数据库的备份和还原)
2019-06-20 17:10
423 查看
数据库设计
1.多表之间的关系
1.1.分类
- 一对一(了解)
- 一对多(多对一)
- 多对多
1.2.实现
- 一对一:
可以在任意一方添加唯一外键指向另一方主键,或者让两方主键相同
,其实一对一关系通常会合成一张表
- 一对多:
在多的一方建立外键指向一的一方的主键
- 多对多:
需要借助第三张中间表,中间表至少包含两个字段,两个字段作为第三张表的外键,分别指向两张表的主键
2.数据库设计范式
范式:设计关系数据库时,要遵循的一些规范称为范式。各种范式
呈递次规范,要遵循后面的范式必须先满足前面的范式要求,
越高的范式数据库冗余(重复)越小。目前关系数据库有六种范式:
第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)
2.1.第一范式(1NF)
1NF:每一列都是不可分割的原子数据项
2.2.第二范式(2NF:消除部分依赖)
2NF
:在1NF的基础上,非码属性必须完全依赖码(在1NF的基础上消除非主属性对主码的部分函数依赖)函数依赖
:通过A的属性值可以确定唯一B属性的值,那么B依赖于A。比如学号确定姓名完全函数依赖
:B依赖于A,如果A是一个属性值,则B属性值的确定需要依赖A属性组中所有的属性值。比如学号和课程名确定课程分数部分函数依赖
:B依赖于A,如果A是一个属性值,则B属性值的确定只需要依赖A属性组中某一些值即可。比如学号和课程名成确定姓名,但是学号本身就可以确定姓名码
:如果在一张表中,一个属性或属性组被其他所有属性完全依赖,则称该属性为该表的码主属性
:码属性(组)中所有的属性非主属性
:除过码属性(组)的属性
2.3.第三范式(3NF:消除传递依赖)
3NF
:在2NF基础上,任何非主属性不依赖于其他非主属性(在2NF基础上消除传递依赖)传递函数依赖
:B依赖于A,C依赖于B,如果通过A属性(组)可以确定唯一B属性(组)的值,再通过B属性(组)的值再确定唯一C的值,则称C传递依赖于A
3.数据库的备份和还原
- 命令行:
1.备份:mysqldump -u用户名 -p密码 数据库名称 > 保存的路径
2.还原:
- 登陆一个数据库
- 创建数据库
- 使用数据库
- 执行文件:source 保存文件的路径
- 图形化工具
1.备份
2.还原
相关文章推荐
- 初识MySQL(二)查询语句, 约束,多表之间的关系,范式, 数据库的备份和还原
- MySQL的备份与还原以及常用数据库查看命令
- JavaWebDay02_DQL,约束,多表关系,范式,数据库备份还原
- MySQL的备份与还原以及常用数据库查看命令
- [mysql]数据库备份以及还原
- MySQL的备份与还原以及常用数据库查看命令
- MySQL备份数据库以及还原命令
- [mysql]数据库备份以及还原
- 【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明
- 【MySql】C#数据库备份与还原
- mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法
- mysql 数据库备份与还原
- MySQL详解-------数据库备份和还原
- mysql备份和还原数据库及慢查询日志使用
- DHCP中继以及DHCP数据库的备份和还原
- windows环境下mysql的解压安装以及备份和还原
- Mysql 数据库命令行备份与还原
- mysql导入导出.sql文件备份还原数据库[mysql导入导出sql命令行]
- mysqldump备份数据库和mysql还原数据库
- MySQL 数据库备份种类以及常用备份工具汇总