26、数据库建模

一、数据库表之间的3种关系

  • 一对多:
    • 在多的一端增加一个外键列.外键表示的就是一种一对多的关联
  • 多对多:
    • 增加一个中间表,将一个多对多转换为两个一对多。中间表中有外键
  • 一对一:
    • 有外键关联和主键关联两种方式,本质上都是外键关联

二、三大范式

1、范式(NF-NormalFormat):

  • 范式是符合某一种设计要求的总结。

2、分类:

  • 第一范式:

    • 最基本的范式
    • 数据库表每一列都是不可分割基本数据项,同一列中不能有多个值
    • 简单说就是要确保每列保持原子性
    • 第一范式的合理遵循需要根据系统的实际需求来定
  • 第二范式:

    • 第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。

    • 即在一个数据库表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

  • 第三范式:

    • 确保数据表中的每一列数据都和主键直接相关,而不能间接相关
    • 属性不依赖于其他非主属性。

3、范式的优缺点:

  • 优点:

    • 结构合理
    • 冗余较小
    • 尽量避免插入删除修改异常
  • 缺点:

    • 性能降低
    • 多表查询比单表查询速度慢

4、总结:

  • 范式是指导数据设计的规范化理论,可以保证数据库设计质量
  • 第一范式:字段不能再分
  • 第二范式:不存在局部依赖
  • 第三范式:不含传递依赖(间接依赖)
  • 使用范式可以减少冗余,但是会降低性能
  • 特定表的的设计可以违反第三范式,增加冗余提高性能

二、数据库建模

PowerDesigner数据库建模流程:

  • 利用实体-关系图创建“概念数据模型”-CDM。

  • 根据CDM 产生基于特定数据库的“物理数据模型”-PDM。

  • 根据PDM产生为SQL 语句并可以文件形式存储。

也可以:由已存在的数据库或者SQL语句反向生成PDM,CDM。

 

1、数据库建模-一对多关系

步骤:

  • 创建概念数据模型CDM(抽象的,和具体的数据库没有关系)
  • 产生物理数据模型PDM(具体的,和具体的数据库有关系)
  • 产生数据库脚本(由PDM生成可执行的数据库脚本)

实际开发中,可以从PDM开始,PDM可以向上转换成CDM,可以向下转换成数据库脚本。

2、数据库建模-多对多关系(借助中间表实现)

3、数据库建模-逆向工程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库建模是指通过使用一种特定的建模工具,如Visual Studio Code(简称VS Code),来设计和构建一个数据库的过程。VS Code是一种跨平台的源代码编辑器,它强大而灵活,可以用于各种软件开发任务,包括数据库建模。 在VS Code进行数据库建模,一般需要使用特定的插件或扩展来支持数据库相关功能。这些插件可以提供数据库建模工具和功能,帮助开发人员更方便地进行数据库设计和管理。 通过VS Code进行数据库建模以下几个步骤: 1. 安装数据库插件:在VS Code,我们需要先安装相应的数据库插件,如MySQL、PostgreSQL等。这些插件可以提供数据库连接、查询和建模等功能。 2. 创建数据库模型:在VS Code,我们可以使用插件提供的功能来创建数据库模型。数据库模型是对数据库结构和关系的抽象描述,它包括实体、属性、关系等元素。 3. 设计数据表:在创建数据库模型后,我们可以使用插件提供的功能来设计数据表。数据表是数据库存储数据的主要结构,它由列和行组成,每个列代表一个属性,每个行代表一个数据记录。 4. 定义关系和约束:在设计数据表时,我们可以使用插件提供的功能来定义表之间的关系和约束。关系和约束是保证数据一致性和完整性的重要手段,如主键、外键、唯一约束等。 5. 生成数据库脚本:在完成数据库模型的设计后,我们可以使用插件提供的功能来生成数据库建模脚本。这些脚本可以用于创建数据库对象,如表、视图、索引等。 总的来说,通过VS Code进行数据库建模,可以帮助开发人员更高效地设计和管理数据库。当然,数据库建模不仅仅限于VS Code,还可以使用其他数据库建模工具,如Eclipse、MySQL Workbench等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值