七、数据库

本文介绍了如何使用mysqldump进行数据库导出和导入操作,以及数据库设计中的三范式概念。第一范式强调字段原子性,第二范式要求非主键字段完全依赖主键,第三范式确保非主键字段直接依赖主键。同时,文章讨论了一对一关系的设计方法,包括主键共享和外键唯一两种方案。在实际开发中,根据需求平衡数据冗余和执行效率是关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL学习

七、数据库

1.DBA命令

1.1、将数据库当中的数据导出

​ 在windows的dos命令窗口中执行:(导出整个库)
​ mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p333

​ 在windows的dos命令窗口中执行:(导出指定数据库当中的指定表)
​ mysqldump bjpowernode emp>D:\bjpowernode.sql -uroot –p123

1.2、导入数据
create database bjpowernode;
use bjpowernode;
source D:\bjpowernode.sql

2. 数据库设计三范式(重点内容)

2.1、什么是设计范式?

​ 设计表的依据。按照这个三范式设计的表不会出现数据冗余。

2.2、三范式都是哪些?

第一范式:任何一张表都应该有主键,并且每一个字段原子性不可再分。

第二范式:建立在第一范式的基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。
多对多?三张表,关系表两个外键
​ t_student学生表
​ sno(pk) sname


​ 1 张三
​ 2 李四
​ 3 王五

​ t_teacher 讲师表
tno(pk) tname

​ 1 王老师
​ 2 张老师
​ 3 李老师

​ t_student_teacher_relation 学生讲师关系表
id(pk) sno(fk) tno(fk)

​ 1 1 3
​ 2 1 1
​ 3 2 2
​ 4 2 3
​ 5 3 1
​ 6 3 3

第三范式:建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。
一对多?两张表,多的表加外键。
​ 班级t_class
​ cno(pk) cname


​ 1 班级1
​ 2 班级2

​ 学生t_student
sno(pk) sname classno(fk)

​ 101 张1 1
​ 102 张2 1
​ 103 张3 2
​ 104 张4 2
​ 105 张5 2

​ 提醒:在实际的开发中,以满足客户的需求为主,有的时候会拿冗余换执行速度。

2.3、一对一怎么设计?

​ 一对一设计有两种方案:主键共享
​ t_user_login 用户登录表
​ id(pk) username password


​ 1 zs 123
​ 2 ls 456

​ t_user_detail 用户详细信息表
id(pk+fk) realname tel …

​ 1 张三 1111111111
​ 2 李四 1111415621

​ 一对一设计有两种方案:外键唯一
​ t_user_login 用户登录表
id(pk) username password

​ 1 zs 123
​ 2 ls 456

​ t_user_detail 用户详细信息表
id(pk) realname tel userid(fk+unique)…

​ 1 张三 1111111111 2
​ 2 李四 1111415621 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值