数据库前后端交互 入门教程一

前言

  • 分两篇博客,以学生管理系统为例子,实现前后端交互(这里并没有设计完成,重在操作过程!).以下涉及得到一些软件会从安装开始介绍。(下载慢可以使用我的链接下载相关软件链接提取码:2580 )
  • 仅供参考入门学习基本操作,代码部分还是得自己学

数据库设计步骤

一、数据需求分析

1.哪些数据要入库

二、设计逻辑模型-CDM(ER图)

  1. 确定系统中的实体

  2. 确定实体关系(1-1,1-N,N-N,强制关系和非强制关系)

  3. 规范化

面试题: 工程项目中能达到的最高级是3NF

三、设计物理模型-PDM

  1. 视图
  2. 索引
  3. 反规范化

四、生成数据库

五、生成测试数据

六、生成数据库设计报告

下面以数据库设计步骤为例,使用PowwerDesign设计一个学生管理数据库

使用PowerDesign设计数据库

PowerDesigner软件是创建数据库快捷便利的可视化工具,可以帮助我们快速生成数据库

一、新建CDM模型

1.启动PowerDesign

2.新建一个概念图

flie-New Model-Model types-Conceptual Diagram-OK

image-20211221090916575

3.Toolbox这里只使用实体与关系按钮

image-20211221095540678

二、设计逻辑模型(概念模型)-CDM

2.1设计系统中的实体

在Toolbox中点击建立实体,先建立六个实体.然后双击实体,分别填写实体信息.这里以学生为例子

先设置General中的Name(一般以汉字命名)、Code(必须以英文命名)、Comment(备注)

image-20211221091746791

之后设置“学生”实体的属性

image-20211223105711810

code 在数据库中的字段名

Length 数据类型长度

Data Type 数据类型

M: Mandatory强制属性,表示该属性必填,不能为空

P:Primary Identifer 是否是主标识符,表示实体唯一表示符

D:Displayed 显示出来,默认勾选

其余五个操作同上

班级实体

image-20211222210139345 image-20211222210149845

院系

image-20211222210046125 image-20211222210219881

专业

image-20211222210233253 image-20211222210243481

跟踪记录

image-20211222210358129 image-20211222210056246

就业单位

image-20211222210110426 image-20211222210123993

六个实体创建完成后是这个样子(“#”和“_”代表主标识,”*“代表强制不可为空,”⚪“代表显示改属性)

image-20211222211103011

2.2确定实体关系

单击工具栏选择”image-20211223111502618“按钮,这里以学生班级为例,其他同理

首先将学生与班级实体连接,双击关系线条

image-20211222211614994

与新建实体同理,在关系中Name以中文命名,Code以英文命名

image-20211222211655188

强制关系表示:表示一个班级肯定有学生,学生一定在班级中。

Cardinalities下面的英文即属性设置的解释:每一个学生有且仅有一个班级,每一个班级一定有多个学生。

image-20211222211916630

班级_专业

image-20211222212127808 image-20211222212139033

院系_专业

image-20211222212155100 image-20211222212207133

学生_跟踪记录

image-20211222212102124 image-20211222212111325

就业单位_学生

学生不一定就业,所以这里没有强制关系。

image-20211222212218700 image-20211222212227270

五个关系建立完成后如图

要找==直接关系==,学生和班级有关系,但是学生和院系没有关系

image-20211222212605007

建立好实体后,发现有不同的线条。“1.小三角”表示关系中的N,即“1-N”,“2.”虚线表示非强制关系,“3.”实线表示强制关系

完成第二部分设计逻辑模型CDM后,可以直观的看出各个实体内及实体间属性的关系,PowDesign太友好了。接下来第三、四步可以帮助我们直接生成数据库SQL文件

三、设计物理模型-PDM

Tool-Generate Physical Data Model(Generate Conceptual Data Model可以将物理模型转为概念模型)

image-20211223115240866

选择对应版本的MySQL(5.5版本也选5.0)

image-20211223113350703

在Detail中将“Check model”勾选掉,之后点击确定

image-20211221101928605

下图就是生成的物理模型,检查是否有丢失的实体。代表主键,代表外键。箭头表示关系中“1→N”

image-20211223113542015

双击实体,在Columns中可以修改属性,一般默认生成的就是对的,如果有需要修改的在这里修改。

P:primary主键,F:foreign key外键 , M:mandatory强制性的,代表不可为空

扩展:双击图中位置,Identify打√表示按学号自增排序

image-20211223114628927image-20211223114608340

四、生成数据库

在物理模型界面,点击菜单栏Database-Generate Database(物理模型与概念模型菜单栏不一样,一定要先打开物理模型)

image-20211223115629853

自定义文件路径,去掉”Check model”,点击确定。路径下”.sql”即生成的数据库

image-20211221111015635

五、生成测试数据

与生成数据库同理,在物理模型界面,点击菜单栏Database-Generate Test Data

image-20211223115629853

自定义文件路径,去掉”Check model”,点击确定。路径下”.sql”即生成的数据库测试数据

image-20211223115925798

六、生成数据库设计报告

点击菜单栏Report-Generate Report,可以快速生成一份中文版word报告,帮我们减少项目报告的工作量

image-20211221110342787 image-20211223120306053

七、导入数据库

这里我以MySQL 5.0和Navicat for MySQL为例子导入上面生成的.sql和.sws文件

首先新建一个连接,右击左侧空白处,新建连接。这里用户名和密码一定要和MySQL配置相同。如果忘记密码可以参考我这篇Mysql5.0 修改密码_鬼才小张同学的博客-CSDN博客

image-20211223121228070

之后打开该连接,右击新建数据库

image-20211223122026470

右击新建的数据库,分别运行第四五步保存的.sql文件,不要重复运行,比如运行了一遍测试数据,再次运行就会报错,因为当前数据库已经存在相同的数据。

image-20211223122100907

如果是第一遍运行有运行错误,在文件夹中右击报错的.sql以记事本打开,复制全部,在Navicat for MySQL中点击查询-新建查询,粘贴sql内容,点击运行,查看下方报错,根据报错去修改

image-20211223122510317

之后在空白处右击,刷新。就可以看到新建的数据库了。随便点一个实体,可以看到数据库的测试数据,说明该数据库工作正常

image-20211223123053022

总结

PowerDesigner软件是创建数据库快捷便利的可视化工具,可以帮助我们快速生成数据库。通过设计CDM模型和PDM模型,辅助生成SQL文件,在Navicat中建立需要的数据库。下一篇介绍前后端交互。