一、数据需求分析
1.哪些数据要入库
二、设计逻辑模型-CDM(ER图)
确定系统中的实体
确定实体关系(1-1,1-N,N-N,强制关系和非强制关系)
规范化
面试题:工程项目中能达到的最高级是3NF
三、设计物理模型-PDM
四、生成数据库
五、生成测试数据
六、生成数据库设计报告
下面以数据库设计步骤为例,使用PowwerDesign设计一个学生管理数据库
PowerDesigner软件是创建数据库快捷便利的可视化工具,可以帮助我们快速生成数据库
1.启动PowerDesign
2.新建一个概念图
flie-New Model-Model types-Conceptual Diagram-OK
3.Toolbox这里只使用实体与关系按钮
在Toolbox中点击建立实体,先建立六个实体.然后双击实体,分别填写实体信息.这里以学生为例子
先设置General中的Name(一般以汉字命名)、Code(必须以英文命名)、Comment(备注)
之后设置“学生”实体的属性
code 在数据库中的字段名
Length 数据类型长度
Data Type 数据类型
M: Mandatory强制属性,表示该属性必填,不能为空
P: Primary Identifer 是否是主标识符,表示实体唯一表示符
D: Displayed 显示出来,默认勾选
其余五个操作同上
六个实体创建完成后是这个样子(“#”和“_"代表主标识,”*“代表强制不可为空,”⚪“代表显示改属性)
单击工具栏选择”“按钮,这里以学生班级为例,其他同理
首先将学生与班级实体连接,双击关系线条
与新建实体同理,在关系中Name以中文命名,Code以英文命名
强制关系表示:表示一个班级肯定有学生,学生一定在班级中。
Cardinalities下面的英文即属性设置的解释:每一个学生有且仅有一个班级,每一个班级一定有多个学生。
就业单位_学生
五个关系建立完成后如图
建立好实体后,发现有不同的线条。“1.小三角”表示关系中的N,即“1-N”,“2.”虚线表示非强制关系,“3.”实线表示强制关系
完成第二部分设计逻辑模型CDM后,可以直观的看出各个实体内及实体间属性的关系,PowDesign太友好了。接下来第三、四步可以帮助我们直接生成数据库SQL文件
Tool-Generate Physical Data Model(Generate Conceptual Data Model可以将物理模型转为概念模型)
在Detail中将“Check model”勾选掉,之后点击确定
下图就是生成的物理模型,检查是否有丢失的实体。代表主键,代表外键。箭头表示关系中“1→N”
双击实体,在Columns中可以修改属性,一般默认生成的就是对的,如果有需要修改的在这里修改。
P:primary主键,F:foreign key外键 , M:mandatory强制性的,代表不可为空
扩展: 双击图中位置,Identify打√表示按学号自增排序
在物理模型界面,点击菜单栏Database-Generate Database(物理模型与概念模型菜单栏不一样,一定要先打开物理模型)
自定义文件路径,去掉"Check model",点击确定。路径下".sql"即生成的数据库
与生成数据库同理,在物理模型界面,点击菜单栏Database-Generate Test Data
自定义文件路径,去掉"Check model",点击确定。路径下".sql"即生成的数据库测试数据
点击菜单栏Report-Generate Report,可以快速生成一份中文版word报告,帮我们减少项目报告的工作量
这里我以MySQL 5.0和Navicat for MySQL为例子导入上面生成的.sql和.sws文件
首先新建一个连接,右击左侧空白处,新建连接。这里用户名和密码一定要和MySQL配置相同。如果忘记密码可以参考我这篇Mysql5.0 修改密码_鬼才小张同学的博客-CSDN博客
右击新建的数据库,分别运行第四五步保存的.sql文件,不要重复运行,比如运行了一遍测试数据,再次运行就会报错,因为当前数据库已经存在相同的数据。
如果是第一遍运行有运行错误,在文件夹中右击报错的.sql以记事本打开,复制全部,在Navicat for MySQL中点击查询-新建查询,粘贴sql内容,点击运行,查看下方报错,根据报错去修改
之后在空白处右击,刷新。就可以看到新建的数据库了。随便点一个实体,可以看到数据库的测试数据,说明该数据库工作正常
PowerDesigner软件是创建数据库快捷便利的可视化工具,可以帮助我们快速生成数据库。通过设计CDM模型和PDM模型,辅助生成SQL文件,在Navicat中建立需要的数据库。下一篇介绍前后端交互。