MySQL - 基本知识1 (ER模型, 3范式)

简介

  • mysql数据库, 是当前应用非常广泛的一款关系型数据库
  • 什么是关系型数据库? >>>> https://my.oschina.net/u/1773689/blog/364548
  • 官网: https://www.mysql.com
  • 数据库排名: https://db-engines.com/en/ranking
  • 主要知识点包括: 能够与mysql监理连接, 创建数据库, 表, 分别从图形界面与脚本界面两个方面入手
  • 相关的指示点包括: E-R关系模型, 数据库的3范式, mysql中数据字段的类型, 字段约束
  • 主要操作包括:
    • 数据库的操作, 包括创建, 删除
    • 表的操作, 包括创建, 修改, 删除
    • 数据的操作, 包括增加, 修改, 删除, 查询(CRUD)
  • 主要完成数据库的操作, 表的操作, 数据的增加, 修改, 删除操作, 分别从图形窗口, 命令行2个方面入手
  • 示例:
    • 学生表结构:ID, 姓名, 性别, 地址, 生日
    • 科目表结构:ID, 名称
主要知识点
    1. 数据库与表的创建, 删除
    1. 字段的类型, 约束
    1. 关系的存储
    1. 数据行的增加, 修改, 删除
    1. 数据行的查询
    1. 视图, 事务, 索引
    1. 与python交互
自学内置函数
    1. 字符串函数
    1. 数学函数
    1. 日期时间函数
    1. 类型转换函数

E-R模型

  • 当前物流的数据库都是按照E-R模型进行设计的
  • E表示entry, 实体
  • R表示relationship, 关系
  • 一个实体转换为数据库中的一个表
    • 一对一
    • 一对多
    • 多对多
  • 关系转换为数据库表中的一个列*在关系型数据库中一行就是一个对象

三范式

  • 经过研究和对使用中问题的总结, 对于设计数据库提出来一些规范, 这些规范被称为范式
  • 第一范式(1NF): 列不可拆分
  • 第二范式(2NF): 唯一标识
  • 第三范式(3NF): 引用主键
  • 说明: 后一个范式, 都是在前一个范式的基础上建立的

数据的完整性

  • 一个数据库就是一个完整的业务单元, 可以包含多张表, 数据被存储在表中
  • 在表中为了更加准确的存储数据, 保证数据的正确有效, 可以在创建表的时候, 为表添加一些强制性的验证, 包括数据字段的类型, 约束

字段类型

  • 在mysql中包含的数据类型很多, 在这里主要列出常用的几种:
    • 数字: int, decimal(decimal(5, 2) -> 一共5位, 小数位2位)
    • 字符串: char, varchar, text
    • 日期: datetime
    • 布尔: bit

约束

  • 主键: primary key
  • 非空: not null
  • 唯一: unique
  • 默认: default
  • 外键: foreign key

逻辑删除

  • 对于重要数据, 并不希望物理删除, 一旦删除, 数据无法找回
  • 一般对于重要数据, 会设置一个isDelete的列, 类型为bit, 表示逻辑删除
  • 对于大量增长的非重要数据, 可以进行物理删除
  • 数据的重要性, 要根据实际开发决定

你可能感兴趣的:(MySQL - 基本知识1 (ER模型, 3范式))