思考构图大小及范围

首先,我们大致的写出要建的几张表,并自定义其Code(所谓Code其实就是自定义一个字段名,因为SQL语句不能由中文)
我们可以将不同的表按照不同的类型分开,这样一个类型的表可以一起建并且相互之间的关系不会弄混

制作概念模型

我们建立管理员表、老师表、学生表,起初每张表的属性没有必要填的过于全面,我们开始要注重的是表之间的关系,表的属性可以在后面添加
1、建第一类表
老师和学生之间是多对多的关系(n:n)
学生和管理员之间是多对多的关系(n:n)
管理员和老师之间是多对多的关系(n:n)

2、建第二类表,并完善一、二类表相互之间的关系
班级和专业之间是多对一的关系(n:1)
专业和学院之间是多对一的关系(n:1)

学生和班级之间是多对一的关系(n:1)
学生和专业之间是多对一的关系(n:1)
学生和学院之间是多对一的关系(n:1)
老师和学院之间是多对一的关系(n:1)
管理员和学院之间无关系

3、建第三类表,并完善类表相互之间的关系
开课和老师之间是多对多的关系(n:n)
开课和管理员之间是多对多的关系(n:n)

选课和学生之间是多对多的关系(n:n)
选课和管理员之间是多对多的关系(n:n)

课程和学生之间是多对多的关系(n:n)
课程和老师之间是多对多的关系(n:n)
课程和管理员之间是多对多的关系(n:n)

成绩和学生之间是多对多的关系(n:n)
成绩和老师之间是多对一的关系(n:1)
成绩和管理员之间是多对多的关系(n:n)

4、建第四类表,并完善类表相互之间的关系
公告和老师之间是多对一的关系(n:1)
公告和管理员之间是多对多的关系(n:n)

属性的添加

给每一张表添加属性
其中name(名字)
code(数据库中的字段名)
Data Type(数据类型)
length(数据类型的长度)
M:Mandatory 是否为必填项 即非空
P:Primary Identifer 是否为主键
D:Displayed 是否可见

每一张表的主键,都不允许被其它任何一张表作为属性使用

学生表

老师表

管理员表

班级表

专业表

学院表

开课表

选课表

课程表

成绩表

公告表

概念模型整体构图:

模型检测

→ 工具 → 【Check Model】

出现 [Check Model Parameters] 对话框。

运行后,警告属于正常现象

生成物理模型

→ 工具 → 【Generate Physical Data Model】

物理模型整体构图:


pk: 主键
fk: 外键

生成数据库

→ 数据库 → 【Generate Database】

生成的sql语句如下:

工作空间、概念模型、物理模型、sql源代码:
链接:https://pan.baidu/s/1O0dLB3km5h2xN045Go2qbA
提取码:ukkp

更多推荐

使用PowerDesigner搭建学生选课管理系统(学生老师管理员一体系结构)由基础设计至数据库生成(SQL语句源代码的生成)全过程实例操作