上学期软件导论做的文档,学生选课系统,在文档的基础上,再代码实现以下

背景——用例图:一个基础的学生选课系统

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;

学生选课系统用例图,以及部分代码实现相关推荐

  1. Python3实现简易学生选课系统

    1.要求说明 ▶ 系统可教师学生双端登录.老师可以在该系统创建课程和给参与课程的学生打分:学生可以选择课程和查询分数以及查询学分. web页面简单实现-Django+Mysql学生选课系统/学分管理系 ...

  2. c语言p1-melepeo,学生选课系统c语言程序代码

    学生选课系统c语言程序代码 (25页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 #include #includestruct cou ...

  3. 软件工程 选课系统的uml类图_UML建模学生选课系统(类图+对象图+用例图+部署图)...

    UML建模学生选课系统(类图+对象图+用例图+部署图) UML建模学生选课系统(类图+对象图+组件图+部署图) 录 1.项目简介 3 1.1. 学生选课系统 3 1.2. 项目主题 3 1.3. 设计 ...

  4. java选课系统代码mysql_Java swing mysql实现的学生选课系统项目源码附带视频运行教程...

    大家好,今天给大家演示一下由Java swing实现的一款简单的学生选课系统,数据库采用的是mysql,实现了简单的选课功能,后面的课程中我们会出Java web版的学生选课系统,今天先看Java s ...

  5. C++学生选课系统 【含 代码】

    目录 1.系统分析 1.1模块划分 1.2功能模块描述 2.系统设计 [系统流程图] [类图] 3.文件说明 4.测试数据 5.系统效果图[部分] 6.源代码 1.系统分析 本系统的用户分为普通用户和 ...

  6. (附源码)mysql+ssm学生选课系统 毕业设计 170920

     摘 要 本论文主要论述了如何使用JAVA语言开发一个学生选课系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述学生选课系统的当前 ...

  7. ssm+mysql+ssm学生选课系统 毕业设计-附源码170920

    摘 要 本论文主要论述了如何使用JAVA语言开发一个学生选课系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述学生选课系统的当前背 ...

  8. 选课系统html页面设计,网上选课系统的设计与实现(代码)..doc

    网上选课系统的设计与实现(代码). 网上选课系统的设计与实现(代码) 目录 摘要1 ABSTRACT2 第一章 引言3 1.1课题背景及意义3 1.2开发工具的选用及介绍3 1.3 课题的可行性分析5 ...

  9. 基于php语言的 选课系统,基于C语言实现学生选课系统

    鉴于C语言实现的通讯录,为了巩固C语言的基础知识,试着写一个简单的学生选课系统. 思路比较简单: 1.回滚显示各种提示信息或操作信息 2.链表操作. 代码中有管理员部分功能没有实现,学生和老师的功能基 ...

最新文章

  1. 国内外最好用的9大工作任务管理软件
  2. Spring Boot 2.x基础教程:快速入门
  3. android 7 蓝牙版本,[Android]Android什么版本开始支持蓝牙4.2?答案:Android 7.0
  4. python3怎么创建一个链表_怎么创建一个自己的微信公众号
  5. shell 提取sql 的字段名表名_SQL代码风格规范
  6. alsa的动态库安装在哪里_Linux链接库一(动态库,静态库,库放在什么路径下)...
  7. jq点击事件多次响应_分享同一个按钮jQuery多次点击实现不同事件的代码
  8. 年终总结做得好,升职加薪少不了,仅需1个技巧,10分钟完成
  9. [Ramda] Complement: Logic opposite function
  10. Spring 的 IOC原理
  11. iOS底层探索之Runtime(五): 消息转发
  12. php一句话 专杀,PHP-DDOS脚本专杀工具1.0 官方版
  13. 用友nc 文件服务器,用友NC软件财务部分完整版操作手册(附图片).pdf
  14. python代码服务器上运行报错
  15. 你知道腾讯程序员一年写多少代码嘛?
  16. Spring中FrameMaker中文乱码
  17. Windows 10 资源管理器使用深色主题
  18. 使用canvas绘制笑脸
  19. 移动端处理输入法表情
  20. 零基础学电路(一):白噪声电子催眠器电子温度计

热门文章

  1. 7-9 天梯赛团队总分
  2. Haar特征描述算子-人脸检测
  3. php实现无限极分类算法,PHP无限极分类函数的实现方法实例详解
  4. 知识付费创业项目怎么做?了解一下助你创业一臂之力
  5. 【算法】最短路径--Hdu2066 一个人的旅行
  6. 视觉里程计Visual Odometry(VO)
  7. Spring Boot发送邮件
  8. STM32编程(一)STM32 GPIO配置的4大步骤
  9. 海马汽车经销商管理系统技术解析(五)车辆续保提醒
  10. 移动打击189突显电信前途