SaaS-多租户SaaS平台的数据库方案(数据库设计与建模)

和自甴很熟 提交于 2020-01-14 07:21:14

2 数据库设计与建模

2.1 数据库设计的三范式

三范式:

  1. 第一范式(1NF):确保每一列的原子性(做到每列不可拆分)
  2. 第二范式(2NF):在第一范式的基础上,非主字段必须依赖于主字段(一个表只做一件事)
  3. 第三范式(3NF):在第二范式的基础上,消除传递依赖

反三范式:

反三范式是基于第三范式所调整的,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

2.2 数据库建模

了解了数据的设计思想,那对于数据库表的表设计应该怎么做呢?答案是数据库建模

数据库建模:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构。它主要包括两部分内容:确定最基本的数据结构;对约束建模。

2.2.1 建模工具

对于数据模型的建模,最有名的要数PowerDesigner,PowerDesigner是在中国软件公司中非常有名的,其易用性、功能、对流行技术框架的支持、以及它的模型库的管理理念,都深受设计师们喜欢。他的优势在于:不用在使用create table等语句创建表结构,数据库设计人员只关注如何进行数据建模即可,将来的数据库语句,可以自动生成

2.2.2 使用pd建模

  1. 选择新建数据库模型 打开PowerDesigner,文件->建立新模型->model types(选择类型)->Physical DataModel(物理模型)

在这里插入图片描述

  1. 控制面板
    在这里插入图片描述

  2. 创建数据库表
    点即面板按钮中的创建数据库按钮创建数据库模型

在这里插入图片描述
切换columns标签,可以对表中的所有字段进行配置
在这里插入图片描述
如果基于传统的数据库设计中存在外键则可以使用面版中的Reference配置多个表之间的关联关系,效果如下图
在这里插入图片描述

  1. 导出sql
    菜单->数据库(database)->生成数据库表结构(Generate Database)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!