• 设计数据库


    设计数据库

    数据建模

    分为四步

    1. 理解和分析业务的需求
    2. 构建业务的概念模型
    3. 生成一个数据模型或数据结构用以存储数据(逻辑模型:独立于数据技术的抽象数据模型)
    4. 构建实体模型

    概念模型

    我们需要建造一个概念模型来表示业务中的实体、事物以及他们之间的关系。通常这些实体包括人、事件、位置等等。我们可以通过UML图或者实体关系图(ER、Entity Relationship)来构建。实体图软件有draw.io或LucidCharts
    以draw.io为例,流程图即UML图,实体关系即ER
    在这里插入图片描述
    navicat也可以创建模型
    在这里插入图片描述

    逻辑模型

    为概念模型中每个属性指定类型
    在这里插入图片描述
    括号内的就是逻辑模型

    实体模型

    根据逻辑模型再去mysql中创建对应的模型
    在这里插入图片描述

    主键

    主键,就是唯一标识给定表里每条记录的列,理想状态下主键不能修改,因此主键的值应该永远不变,我i们可以勾选自动增长,可以让mysql自动赋值,这个很有用,可以联合mybatis-plus的自动增长属性对应

    外键

    每当在两个表之间添加关系时,关系一端的称为主表或者主键表,另一端称为子表或者主键表
    每当你的表中有外键,你就需要设置约束,本质上可以保护你的数据不被破坏

    标准化

    标准化是审查我们的设计,并确保它遵循一些防止数据重复的预定义规则的这一过程,基本上有七个规则,也被称为七范式,对于几乎99%的应用场景,你只需要应用前面的三条范式。、

    第一范式

    第一范式要求一行中每个单元格都应该有单一值,且不能出现重复列

    第二范式

    官方语言:要符合第二范式,一组关系必须符合第一范式,并且不能有取决于这组关系任何时候选键的任何真子集的非主属性。
    人话:第二范式要求每一张表都应该有一个单一的目的,换句话说,它应该只能代表一种且仅有一种实体类型 ,而那种表中的每一列都应该用来描述那个实体

    第三范式

    官方语言:我们的实体或者表应该符合第二范式,此外,表中的所有属性只能由那组关系的候选键决定,而不能是任何非主属性
    人话:表中的列不应该派生自其他列
    eg:某一张表里有了姓名列和名字列,就不再需要姓名列了

    实用建议

    不要担心记住这些标准化

  • 相关阅读:
    详细介绍 React 中如何使用 redux
    Linux下LCD驱动的编写
    听说你想面对监狱编程,你,够格吗?
    HTML5期末考核大作业网站——卫生与健康HTML+CSS+JavaScript
    竞赛选题 深度学习 python opencv 火焰检测识别 火灾检测
    关于idea2020.2创建springboot项目maven仓库和jdk版本不匹配大坑
    golang append坑
    详解MySQL事务日志——undo log
    【C++】内联函数的原理及使用
    【新学期、新Flag】例文:我的新学期Flag
  • 原文地址:https://blog.csdn.net/qq_56299755/article/details/126449099