2 数据库设计与建模
2.1 数据库设计的三范式
三范式:
- 第一范式(1NF):确保每一列的原子性(做到每列不可拆分)
- 第二范式(2NF):在第一范式的基础上,非主字段必须依赖于主字段(一个表只做一件事)
- 第三范式(3NF):在第二范式的基础上,消除传递依赖
反三范式:
反三范式是基于第三范式所调整的,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。
2.2 数据库建模
了解了数据的设计思想,那对于数据库表的表设计应该怎么做呢?答案是数据库建模
数据库建模:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构。它主要包括两部分内容:确定最基本的数据结构;对约束建模。
2.2.1 建模工具
对于数据模型的建模,最有名的要数PowerDesigner,PowerDesigner是在中国软件公司中非常有名的,其易用性、功能、对流行技术框架的支持、以及它的模型库的管理理念,都深受设计师们喜欢。他的优势在于:不用在使用create table等语句创建表结构,数据库设计人员只关注如何进行数据建模即可,将来的数据库语句,可以自动生成
2.2.2 使用pd建模
- 选择新建数据库模型 打开PowerDesigner,文件->建立新模型->model types(选择类型)->Physical DataModel(物理模型)
-
控制面板
-
创建数据库表
点即面板按钮中的创建数据库按钮创建数据库模型
切换columns标签,可以对表中的所有字段进行配置
如果基于传统的数据库设计中存在外键则可以使用面版中的Reference配置多个表之间的关联关系,效果如下图
- 导出sql
菜单->数据库(database)->生成数据库表结构(Generate Database)
来源:CSDN
作者:cwl_java
链接:https://blog.csdn.net/weixin_42528266/article/details/103734405