思考构图大小及范围
首先,我们大致的写出要建的几张表,并自定义其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.com/s/1O0dLB3km5h2xN045Go2qbA
提取码:ukkp