一、需求分析
大学是一个学习的自由天地,在大学,我们可以自由的选择学习部分学科,所以,如果我们通过传统的登记表格的方式来选课程,在学生人数庞大的大学是行不通的,纯属浪费人力物力。随着计算机技术的快速发展,它也更加方便人们的生活,因此,通过计算机技术我们可以很好的解决这个问题,下面是我设计的学生选课管理信息系统,它可以极大的方便学生选课和学校的统计,并且可以适度的调配教室安排。
模块功能分析:
教师模块:用来储存教师编号、姓名、性别、年龄、学历、职称、毕业院校、健康状况等信息。
学生模块:用来储存学生学号、姓名、所属院系、已选课情况等信息。
教室模块:用来储存可容纳人数、空闲时间等信息。 选课信息模块:用来储存课程编号、课程名称、任课老师、选课的学生情况等信息。
成绩信息模块:用来储存课程编号、课程名称、学分、成绩等信息
二、概念结构设计
经过分析,本系统的E-R图如下: 教师编号 教师
健康状况 教师姓名 性别 年龄 学号 学生 选修课程 所属院系 性别 年龄 教室编号 课程编号 课程名称 教师编号 教室编号 可容纳人数 空闲时间 姓名 教室 选课信息 选课的学生情况
学号 课程名称 成绩 学分 课程编号 成绩信息
各实体间关系的E-R图,如下所示: 关系图: 成绩信息s X-s s-S T-X 教师T 教室C S-C 选课信息X X-S 学生S
三、逻辑结构设计
1.学生选课管理信息系统基本信息表 ① 教师
列名 数据类型 长度 是否允许备注 空 主关键字 教室编号 char 姓名 性别 年龄 char char SAMLLINT 10 否 10 否 2 否 健康状况 Char 20 是 ① 学生
列名 学号 数据类型 char 长度 10 是否允许备注 空 否 主关键字
姓名 性别 年龄 char Char Smallint 10 2 30 10 10 否 否 否 是 是 所属院系 Char 选修课程 char 教室编号 Char ③教室
列名 数据类型 长度 10 10 30 是否允许备注 空 否 否 是 主关键字 教室编号 Char 可容纳人char 数 空闲时间 char
④ 选课信息
列名 数据类型 长度 10 10 10 10 是否允许备注 空 否 否 否 否 主关键字 课程编号 char 课程名称 char 教师编号 Char 选课的学char 生情况 ⑤ 成绩信息
列名 学号 数据类型 Char 长度 10 10 10 10 是否允许备注 空 否 否 否 是 主关键字 课程编号 char 课程名称 char 学分 char
成绩 char 10 是 2.学生选课管理信息系统基本数据信息
教师 教师编号 20021001 20021002 20021003 20021004 20021005
学生 学号 姓名 性别 年龄 20 19 18 19 19 所属院系 姓名 李明 刘丽 张新 李南 徐薇 性别 男 女 男 男 女 年龄 28 25 32 48 30 健康状况 好 好 好 好 好 选修课程 数据库 数学 信息系统 操作系统 数据结构 教室编号 1001 1002 1003 1004 1005 200215121 李勇 男 200215122 刘晨 女 200215123 王敏 女 200215124 张立 男 200215125 李东 男
CS CS MA IS IS 教室
教室编号 1001 1002 1003 1004 1005
可容纳人数 70 80 80 60 70 空闲时间 上午 上午 下午 晚上 下午 选课信息 课程编号 1 2 3 4 5
成绩信息 学号 课程编号 课程名称 数据库 数学 信息系统 操作系统 数据结构 学分 4 3.5 3.5 4 3 成绩 92 85 88 90 80 课程名称 数据库 数学 信息系统 操作系统 数据结构 教师编号 20021001 20021005 20021002 20021004 20021003 选课的学生情况 69 78 65 59 200215121 1 200215122 2 200215123 3 200215124 4 200215125 5
1、 建库
Create database 学生选课管理信息系统
2、 建表
create table 教师
(教师编号 char(10) primary key,
姓名 char(10), 性别 char(2), 年龄 smallint,
健康状况 char(10) null );
create table 学生
(学号 char(10) primary key,
姓名 char(10), 性别 char(2), 年龄 smallint,
3、添加记录:
insert into 教师 values('20021001','李明','男',28,'好'); insert into 教师 values('20021002','刘丽','女',25,'好'); insert into 教师 values('20021003','张新','男',32,'好'); insert into 教师 values('20021004','李男','男',48,'好'); insert into 教师 values('20021005','徐薇','女',30,'好');
insert into 学生 values('200215121','李勇','男',20,'CS','数据库','1001'); insert into 学生 values('200215122','刘晨','女',19,'CS','数学','1002');
insert into 学生 values('200215123','王敏','女',18,'MA','信息系统','1003'); insert into 学生 values('200215124','张立','男',19,'IS','操作系统','1004'); insert into 学生 values('200215125','李东','男',19,'IS','数据结构','1005'); insert into 教室 values('1001','70','上午'); insert into 教室 values('1002','80','上午'); insert into 教室 values('1003','80','下午'); insert into 教室 values('1004','80','晚上'); insert into 教室 values('1005','70','下午');
insert into 选课信息 values('1','数据库','20021001','69'); insert into 选课信息 values('2','数学','20021005','');
insert into 选课信息 values('3','信息系统','20021002','78'); insert into 选课信息 values('4','操作系统','20021004','65');
所属院系 char(30), 课程编号 char(10), 教室编号 char(10) null );
create table 教室
(教室编号 char(10) primary key,
可容纳人数 char(10), 空闲时间 char(30) null );
create table 选课信息 (课程编号 char(10) primary key,
课程名称 char(10), 教师编号 char(10), 选课的学生情况 char(10) );
create table 成绩信息 (学号 char(10) primary key,
课程编号 char(10), 课程名称 char(10), 学分 char(10) null, 成绩 char(10) null );
insert into 选课信息 values('5','数据结构','20021003','59'); insert into 成绩信息 values('200215121','1','数据库','4','92'); insert into 成绩信息 values('200215122','2','数学','3.5','85'); insert into 成绩信息 values('200215123','3','信息系统','3.5','88'); insert into 成绩信息 values('200215124','4','操作系统','4','90'); insert into 成绩信息 values('200215125','5','数据结构','3','80');
四、功能处理
1.索引
①建立索引
create unique index id-t on 教师(教师编号); create unique index id-s on 学生(学号); create unique index id-c on 教室(教室编号);
② 删除索引
drop index id-c;
2.视图
①建立视图
create view view_t
as select 教师编号,姓名,性别,年龄,健康状况 from 教师; create view view_s
as select 学号,姓名,性别,年龄,所属院系,已选课情况 from 学生; create view view_c
as select 教室编号,可容纳人数,空闲时间 from 教室;
②视图的撤消
drop view view_c;
③视图的查询
select * from view_t;
select * from view_s;
④视图的更新
insert into view_c values ('1006','100','晚上');
3、数据更新
①插入(前面已插入) ② 修改
Update 教室 set 空闲时间=’晚上’ where 教室编号=’1005’; ③ 删除
Delete from 教室 where 教室编号=’1003’;
4、数据查询
①select 空闲时间 from 教室; ②select 所属院系 from 学生
③ select * from 成绩信息
④ select 姓名 from 学生 where 姓名=’李%’; ⑤ select 教师编号 from 教师 where 年龄>30; ⑥ select 教师编号 from 教师
where 姓名=’李%’ and 年龄>30; ⑦ select 教师编号,姓名 from 教师 where 性别=’男’ group by 年龄; ⑧ select 姓名,年龄
from 职工
where 姓名 like '徐%';
五、系统设计、制作小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了一定提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程。
在自己没做数据库课程设计以前,总是觉得自己什么都不懂什么都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。我相信以后通过自己自学其它课程,我一定会做出一个更好的数据库。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务