学生选课系统用例图,以及部分代码实现
上学期软件导论做的文档,学生选课系统,在文档的基础上,再代码实现以下
背景——用例图:一个基础的学生选课系统
ER图设计如下:(学生和课程是n - m的关系,可修改的原图找不到了,悉知)
库表设计:
---专业表
CREATE TABLE major(
major_id INT PRIMARY KEY AUTO_INCREMENT,
major_name VARCHAR(20)
);
---学生表
CREATE TABLE student(
student_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(20),
grade VARCHAR(10),
pwd VARCHAR(20),
major_id INT,
CONSTRAINT FOREIGN KEY(major_id) REFERENCES major(major_id) ON DELETE CASCADE
);
---教师表
CREATE TABLE teacher(
teacher_id INT PRIMARY KEY AUTO_INCREMENT,
teacher_name VARCHAR(20),
major_id INT,
grade VARCHAR(10),
pwd VARCHAR(20),
CONSTRAINT FOREIGN KEY(major_id) REFERENCES major(major_id) ON DELETE CASCADE
);
---课程表
CREATE TABLE course(
course_id INT PRIMARY KEY AUTO_INCREMENT,
course_name VARCHAR(20),
grade VARCHAR(10),
start int,
end int,
deadline DATE,
teacher_id INT,
stu_number int,
CONSTRAINT FOREIGN KEY (teacher_id) REFERENCES teacher(teacher_id) ON DELETE CASCADE
);
---选课表
CREATE TABLE choose(
student_id INT,
course_id INT,
score INT,
CONSTRAINT FOREIGN KEY (student_id) REFERENCES student(student_id) ON DELETE CASCADE,
CONSTRAINT FOREIGN KEY (course_id) REFERENCES course(course_id) ON DELETE CASCADE
);
触发器设计:
/*
----当学生选择课程时,自动给该课程的人数加1
名称: incre_trigger_SC
*/
create trigger incre_trigger_SC on choose for insert
as
declare @num int;
declare @teacher_id char(12);
declare @courseno char(4);
set @courseno = (select course_id from inserted);
set @num = 0;
set @num =(select stu_number from course where course_id = @courseno)+1;
update course set stu_number=@num where course_id = @courseno ;
/*
----当学生退选课程时,自动给该课程的人数减1
名称: decre_trigger_SC
*/
create trigger decre_trigger_SC on choose for delete
as
declare @num int;
declare @teacherno char(12);
declare @courseno char(4);
set @teacherno = (select teacher_id from inserted);
set @courseno = (select course_id from inserted);
set @num = 0;
set @num =(select stu_number from course where course_id = @courseno)-1;
update course set stu_number=@num where course_id = @courseno;
学生选课系统用例图,以及部分代码实现相关推荐
- Python3实现简易学生选课系统
1.要求说明 ▶ 系统可教师学生双端登录.老师可以在该系统创建课程和给参与课程的学生打分:学生可以选择课程和查询分数以及查询学分. web页面简单实现-Django+Mysql学生选课系统/学分管理系 ...
- c语言p1-melepeo,学生选课系统c语言程序代码
学生选课系统c语言程序代码 (25页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 #include #includestruct cou ...
- 软件工程 选课系统的uml类图_UML建模学生选课系统(类图+对象图+用例图+部署图)...
UML建模学生选课系统(类图+对象图+用例图+部署图) UML建模学生选课系统(类图+对象图+组件图+部署图) 录 1.项目简介 3 1.1. 学生选课系统 3 1.2. 项目主题 3 1.3. 设计 ...
- java选课系统代码mysql_Java swing mysql实现的学生选课系统项目源码附带视频运行教程...
大家好,今天给大家演示一下由Java swing实现的一款简单的学生选课系统,数据库采用的是mysql,实现了简单的选课功能,后面的课程中我们会出Java web版的学生选课系统,今天先看Java s ...
- C++学生选课系统 【含 代码】
目录 1.系统分析 1.1模块划分 1.2功能模块描述 2.系统设计 [系统流程图] [类图] 3.文件说明 4.测试数据 5.系统效果图[部分] 6.源代码 1.系统分析 本系统的用户分为普通用户和 ...
- (附源码)mysql+ssm学生选课系统 毕业设计 170920
摘 要 本论文主要论述了如何使用JAVA语言开发一个学生选课系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述学生选课系统的当前 ...
- ssm+mysql+ssm学生选课系统 毕业设计-附源码170920
摘 要 本论文主要论述了如何使用JAVA语言开发一个学生选课系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述学生选课系统的当前背 ...
- 选课系统html页面设计,网上选课系统的设计与实现(代码)..doc
网上选课系统的设计与实现(代码). 网上选课系统的设计与实现(代码) 目录 摘要1 ABSTRACT2 第一章 引言3 1.1课题背景及意义3 1.2开发工具的选用及介绍3 1.3 课题的可行性分析5 ...
- 基于php语言的 选课系统,基于C语言实现学生选课系统
鉴于C语言实现的通讯录,为了巩固C语言的基础知识,试着写一个简单的学生选课系统. 思路比较简单: 1.回滚显示各种提示信息或操作信息 2.链表操作. 代码中有管理员部分功能没有实现,学生和老师的功能基 ...
最新文章
- 国内外最好用的9大工作任务管理软件
- Spring Boot 2.x基础教程:快速入门
- android 7 蓝牙版本,[Android]Android什么版本开始支持蓝牙4.2?答案:Android 7.0
- python3怎么创建一个链表_怎么创建一个自己的微信公众号
- shell 提取sql 的字段名表名_SQL代码风格规范
- alsa的动态库安装在哪里_Linux链接库一(动态库,静态库,库放在什么路径下)...
- jq点击事件多次响应_分享同一个按钮jQuery多次点击实现不同事件的代码
- 年终总结做得好,升职加薪少不了,仅需1个技巧,10分钟完成
- [Ramda] Complement: Logic opposite function
- Spring 的 IOC原理
- iOS底层探索之Runtime(五): 消息转发
- php一句话 专杀,PHP-DDOS脚本专杀工具1.0 官方版
- 用友nc 文件服务器,用友NC软件财务部分完整版操作手册(附图片).pdf
- python代码服务器上运行报错
- 你知道腾讯程序员一年写多少代码嘛?
- Spring中FrameMaker中文乱码
- Windows 10 资源管理器使用深色主题
- 使用canvas绘制笑脸
- 移动端处理输入法表情
- 零基础学电路(一):白噪声电子催眠器电子温度计