zoukankan      html  css  js  c++  java
  • MariaDB第三章:数据库设计与备份--小白博客

    数据库设计

    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
  • 相关阅读:
    Docker-网络命名空间
    Docker-为镜像添加SSH服务(CentOS)
    Docker-Dockerfile方式创建镜像
    Docker-Dockerfile方式创建数据卷容器
    MySQL-存储过程批量插入数据
    CentOS 升级内核
    集合-ConcurrentHashMap-jdk1.7
    Redis Lua脚本
    javascript中的string对象
    初识 控制台
  • 原文地址:https://www.cnblogs.com/zhou2019/p/10627289.html
Copyright © 2011-2022 走看看