1、数据库导出的方式

(1)使用可视化工具导出

(2)使用命令行导出

  指令

mysqldump -h 主机地址 -u 用户名 -p 密码 数据库名 表1 表2 表3 > 物理磁盘位置/文件名

(3)导入

  已登录,指令

source d:/a.sql

  未登录,指令

mysql -u用户名 -p密码 库名 < 备份文件

(4)为什么需要备份?

  为了应对突发情况,如果将整个sql文件导出,就可以迅速在另一个物理机器上复原数据。

 

2、如何设计一个数据库

  步骤

  • 分析需求:分析业务的需要,并明确数据库需要处理的数据
  • 概要设计:设计关系图
  • 建表、建库

 

3、数据库的三大范式

(1)为什么需要规范sql数据规范化?

  --入库额数据设计不合理,会存在数据重复、更新插入异常等情况

(2)三大范式

  • 第一范式(1NF):要求数据库的每一列都是不可分割的原子数据项,即原子性。

 

  • 第二范式(2NF):在满足第一范式的前提下,非码属性必须完全依赖于候选码,即表中的每一列都和主键相关,而不能至于主键的某一部分相关(主要针对联合主键而言),即每张表只描述一件事情
  • 第三范式(3NF):在第二范式前提下,任何非主属性不依赖于其他非主属性(在2NF基础上,消除传递依赖)。即确保数据表中的每一列数据都和主键直接相关,而不能间接相关

(3)规范性和性能的问题

  规范和性能之间需要平衡,如何表拆得过细,会导致查表关联过多,导致性能问题。因此需要在规范性和性能之间作取舍。

  经常采用的方法是:处于用户体验考虑,通常以性能为优先考虑;故意给某些表增加一些荣誉的字段,从而将多表查询变成单表查询;或者增加一些计算列,从大数据量降低为小数据量的查询,增加索引。

 posted on 2021-10-17 23:03  佩剑君子  阅读(2580)  评论(0编辑  收藏  举报