数据库项目实训回顾,本次是做教室综合管理系统,核心功能就是关于借用教室
流程步骤:
- 需求分析
- 数据库设计
- 数据库的发布实施
- 数据库测试
- 数据库应用开发
一、需求分析
1. 教室综合管理系统
1) 根据课表编排每间教室的使用时间
2) 除了课表占用的时间外可以使用空闲时间将教室借与学生
3) 教室需要定期检修,出现设备故障后需要暂停使用进行维修
4) 教室在每学期期末需要进行考试安排
2. 教室在每周的哪些时间需要用来上课,根据教务处的排课结果安排教室使用时间
3. 学生在教室空闲时间可通过提供自己学号来代表班级借用教室
4. 期末两周时间内,根据教务处的考试安排结果占用教室使用时间
5. 暂停使用处于需要维修状态下需要标记出来
6. 期末考试时也需要将教室标记为考试占用状态
7. 学生可以根据具体时间查到有哪些空闲教室
8. 学生可以根据教室号查到此教室什么时候空闲
9. 学生可以根据教室容量(座位数)查询教室
10. 考试安排需要根据人数具体分配教室
11. 老师也可提供教师号借用教室,借用方式和学生借用类似
二、数据库设计
使用软件:PowerDesigner
概念模型 E-R图:
逻辑模型 :
物理模型:
最后,生成数据库定义脚本文件
三、数据库的发布实施
使用软件:SQLyog
根据上一阶段的 .sql数据库定义脚本文件,创建数据库、表、视图、触发器、存储过程等。并添加一些数据。
CREATE DATABASE 教室综合管理系统;
USE 教室综合管理系统;
-- 导入表结构
-- 插入数据
INSERT INTO 学生 VALUES('S005','陈边','18080808000');
INSERT INTO 学生 VALUES('S001','刘三','18080808001');
INSERT INTO 学生 VALUES('S002','李聪','18080808002');
INSERT INTO 学生 VALUES('S003','赵海','18080808003');
INSERT INTO 学生 VALUES('S004','王海','18080808004');
INSERT INTO 教师 VALUES('T001','宋晓梅','17021954593');
INSERT INTO 教师 VALUES('T002','罗云霄','17021954593');
INSERT INTO 教师 VALUES('T003','李四','17022544593');
INSERT INTO 教师 VALUES('T004','王明','17021947593');
INSERT INTO 教师 VALUES('T005','陈欢','17021951293');
INSERT INTO 教室 VALUES('10A303',100);
INSERT INTO 教室 VALUES('10A201',90);
INSERT INTO 教室 VALUES('10A202',100);
INSERT INTO 教室 VALUES('10A203',100);
INSERT INTO 教室 VALUES('10A204',90);
INSERT INTO 教室 VALUES('10A301',100);
INSERT INTO 教室 VALUES('10A302',100);
INSERT INTO 课程 VALUES('C001','网络营销',90);
INSERT INTO 课程 VALUES('C002','C语言程序设计',120);
INSERT INTO 课程 VALUES('C003','java面向对象程序设计',95);
INSERT INTO 课程 VALUES('C004','C++面向对象程序设计',80);
INSERT INTO 课程 VALUES('C005','编译原理',123);
INSERT INTO 课程 VALUES('C006','计算机组成原理',90);
INSERT INTO 课程 VALUES('C007','操作系统',92);
INSERT INTO 课程安排 VALUES('C001','10A201',1,17,1,1112);
INSERT INTO 课程安排 VALUES('C002','10A202',1,18,2,910);
INSERT INTO 课程安排 VALUES('C006','10A202',1,18,2,34);
INSERT INTO 课程安排 VALUES('C003','10A201',1,15,3,12);
INSERT INTO 课程安排 VALUES('C004','10A204',1,18,4,34);
INSERT INTO 课程安排 VALUES('C007','10A204',1,18,4,12);
INSERT INTO 课程安排 VALUES('C005','10A301',1,18,5,56);
INSERT INTO 课程安排 VALUES('C007','10A301',1,18,5,12);
INSERT INTO 课程安排 VALUES('C002','10A301',1,18,7,910);
INSERT INTO 教室占用记录 VALUES('10A302','S005',NULL,17,1,1112,'开班会');
INSERT INTO 教室占用记录 VALUES('10A302','S001',NULL,18,1,910,'宣传部例会');
INSERT INTO 教室占用记录 VALUES('10A201','S002',NULL,5,7,1112,'团日活动');
INSERT INTO 教室占用记录 VALUES('10A201','S002',NULL,5,7,910,'自习');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,7,12,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,7,34,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,7,56,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,6,12,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,6,34,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,6,56,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,5,12,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,5,34,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,5,56,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL