使用PowerDesigner进行数据库设计
数据库设计的时候应该考虑我们需要实现某个功能的时候需要用到什么样的SQL语句、视图、存储过程、触发器等等。
一、分析阶段
1.1 设计第一步:确定实体
以部门管理系统为例:
实体包含:员工实体、账户实体、部门实体、职位实体、离职实体。
在数据库设计的时候一张表代表一个实体。
1.2 设计第二部:确认关系
员工实体——>账户实体 1:1(或者1:n)
员工实体——>部门实体 n:1 ——》 分解为 员工实体——>职位实体 n:1 职位实体——>部门实体 n:1
离职实体——>员工实体 1:1(或者n:1 一个员工上了两年班离职了,过了两年有来上班,然后又离职了)
在处理员工实体与账户实体的时候,如果牵扯到账户权限的相关问题则建议使用1:n的关系
在处理离职实体和员工实体的关系时如果采用一对一的关系,就是说一个员工只能有一条离职信息,要想插入新的离职信息,则需要覆盖之前的离职信息。
在处理离职实体和员工实体的关系时如果采用多对一的关系,一个员工就可以有多条离职信息,每次离职需要插入一条离职信息。
二、设计阶段
数据库建模工具:powderDesigner
新建模型,先建概念模型(CDM)再生成逻辑模型再到物理模型。
概念模型不牵扯数据库、概念模型实在需求分析阶段、概念模型不依赖数据库,概念模型就是实体关系模型对应E-R图。
2.1 建立概念模型
新建项目,新建模型,选择概念模型
2.2 新建实体
例如:
2.3 设计属性
设计完实体后示例:
2.4 设计联系
从一方拉向多方,主到从
2.5 生成物理模型
点击菜单栏的Tools选择物理模型选择对应的数据库,点击生成便可。
生成的物理模型:
2.6 调整物理模型
修改员工实体和账户实体的关系。设置主从关系。
点开逻辑模型设计修改关系
修改后的生成的逻辑模型
再物理模型中设置自动增长(选择的数据库要支持自增)
再物理模型中设置唯一约束
再物理模型中设置默认值
三、生成数据库
选择物理模型,在菜单栏选择Database,Generate database
生成crbas.sql文件,在数据库执行后结束。