设计数据库

本文详细阐述了设计数据库的四个关键步骤:首先理解并分析业务需求,接着构建概念模型描绘实体关系,然后定义逻辑模型确定数据类型,最后实体模型落地与标准化。通过实例演示如何使用UML图和Navicat创建模型,同时介绍了主键、外键和标准化的重要性。

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

设计数据库

数据建模

分为四步

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

概念模型

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

逻辑模型

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

实体模型

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

主键

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

外键

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

标准化

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

第一范式

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

第二范式

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

第三范式

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

实用建议

不要担心记住这些标准化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值