设计数据库

本文详细介绍了数据库设计的三个关键步骤:理解业务需求、建立概念模型、构建逻辑和物理模型。概念模型关注实体及它们的关系,逻辑模型增加细节,而物理模型涉及数据库的实际实现。规范化是确保数据质量的重要过程,包括第一范式(消除重复列),第二范式(单一目的表)和第三范式(避免列依赖)。遵循这些原则能有效防止数据冗余并优化数据库性能。
摘要由CSDN通过智能技术生成

Data Modeling

  • Understand the requirements:充分理解和分析业务需求。
  • Build a Conceptual Model:识别业务中的实体、事物或概念以及它们之间的关系。
  • Build a Logical Model:生成一个数据模型或数据结构用以存储数据。
  • Build a Physical Model:在这个模型中。你需要具备由数据库技术支持的确切的数据类型。列默认值、表主键。以及其他对象,如视图、存储过程触发器等等

三种数据模型
在这里插入图片描述

Conceptual Model(概念模型)

  • 作用:表示业务中的实体、事物或概念以及它们之间的关系。

  • 可视化方法
    1.Entity Relationship(实体关系-ER)
    示意图:
    在这里插入图片描述

    2.Unified Modeling Language(标准建模语言-UML)

Logical Model(逻辑模型)

  • 作用:逻辑模型为我们的概念模型增加了更多细节,这样我们见乎了解什么结构或什么表需要用来存储数据。
  • 示意图
    在这里插入图片描述

Physical Model(实体模型)

  • 作用:在数据库中进行建模
    在这里插入图片描述

Normalization(标准化)

  • 作用:审查数据库设计,防止数据重复预定义。
  • First Normal Form(第一范式):每个单元格都应该有单一值,且不能出现重复列。
    注意:关系型数据库只有“一对一”,“一对多”关系,没有“多对多”关系,如果需要实现两个表的“多对多”关系,则需要使用链接表,拆分成两段“一对多”关系。

示意图:courses表的tags违反了第一范式,修改如下
在这里插入图片描述

  • Second Normal Form(第二范式)
    1、满足第一范式
    2、每张表都应该有一个单一目的。换句话说,它应该只能代表一种且仅有一种实体类型,而表中的每一列都应该用来描述那个实体。

示意图:courses表中的instructors违反了第二范式,修改如下
在这里插入图片描述

  • Third Normal Form(第三范式)
    1、满足第二范式
    2、表中的列不应该派生自其他列

举例:在customers表中,已经有first_name和last_name,就不能再出现full_name,违反了第三范式
在这里插入图片描述
Don’t jump into creating tables!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值