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

本文详细介绍了如何构建一个包含管理员、老师、学生、班级、专业、学院等实体的数据库模型。通过多对多和多对一的关系设计,涵盖了选课、开课、成绩、公告等多个业务场景。在概念模型和物理模型的构建过程中,强调了表间关系的定义和属性添加,并提供了检查模型、生成物理模型和SQL语句的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思考构图大小及范围

首先,我们大致的写出要建的几张表,并自定义其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

1. 项目概述 ………………………………………………………………………3 1.1开发背景 ………………………………………………………………………3 1.2 开发目的 ……………………………………………………………………3 1.3 开发运行境 ……………………………………………………………………3 1.4 统功能 ………………………………………………………………………3 2.需求分析 …………………………………………………………………………3 2.1 统需求 ………………………………………………………………………3 2.2 功能需求 ………………………………………………………………………3 2.3 业务流图 ………………………………………………………………………3 3.总体设计 …………………………………………………………………………4 3.1 基本设计概念和处理流程 ……………………………………………………4 3.2 统层次模图 …………………………………………………………………4 3.3统层次模块图 ………………………………………………………………4 3.4模块设计 ………………………………………………………………………5 4.数据库计 …………………………………………………………………………5 4.1 数据库的逻辑设计 ……………………………………………………………5 4.2数据库的配置……………………………………………………………………6 5. 详细设计 ………………………………………………………………………8 5.1 学生登录模块的设计与实现 …………………………………………………8 5.2 学生注册模块的设计与实现 …………………………………………………9 5.3 学生查询模块的设计与实现…………………………………………………9 5.4 学生选课模块的设计与实现…………………………………………………10 6 测试及提交 ……………………………………………………………………10 7 项目小组成员及详细分工 ……………………………………………………10 8 附:模块源代码 ………………………………………………………………11
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值