数据库建模、面向对象建模>从零开始学java系列

时间:2021-05-24 03:23:42   收藏:0   阅读:0

数据库建模

前置知识

使用PowerDesigner数据库建模设计

一对多CDM概念数据模型设计

技术图片

多对多的PDM物理数据模型设计(针对mysql)

技术图片

PowerDesigner将不同的模型进行转换

技术图片

在PowerDesigner中设置外键,唯一键

通过PDM 生成数据库SQL语句

技术图片

逆向工程,将sql语句用来生成PDM物理数据模型

技术图片

数据库建模的三大范式

第一范式

数据表的每一列都是不可分割项
修改前:用户表(姓名、联系方式),其中联系方式就是可以分割项
修改后:用户表(姓名、家庭电话、手机电话、紧急电话)

第二范式

数据表的非主键列都依赖于主键
修改前:学生表(学生id、学生姓名、课程id、课程名),其中的课程id与课程名与学生id没有依赖关系
修改后:
学生表(学生id、学生姓名)
课程表(课程id、课程名)
选课表(学生id、课程id)

第三范式

数据表的非主键列都依赖于主键,但是不存在传递依赖
修改前:学生表(学生id、学生姓名、班级id、班级名),其中的班级名不是直接依赖于学生id,直接依赖于班级id,对学生id只是一个间接依赖
修改后:
学生表(学生id、学生姓名、班级id)
班级表(班级id、班级名)

面向对象建模

类图Class Diagram(表示类与类之间的关系)

技术图片
类图的六种关系

泛化关系

技术图片

实现关系

技术图片

依赖关系

技术图片

关联关系

技术图片

聚合关系(特例关联关系,生命周期不同)

技术图片

组合关系(特例关联关系,生命周期相同)

技术图片

用例图(表示功能、权限)

图像规则

时序图(表示执行细节)

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!