数据库课程设计实验报.doc
《数据库课程设计实验报.doc》由会员分享,可在线阅读,更多相关《数据库课程设计实验报.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库课程设计实验报告题 目:学生信息管理系统班 级:_ _学 号:_ _姓 名:_ _指导老师:_评 分:_2013年1月5日一、 工具介绍前台使用的工具是Qt,后台使用的是SQL Server 2008。这里主要介绍Qt。Qt是诺基亚开发的一个跨平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt很容易扩展,并且允许真正地组件编程。优良的跨平台特性:Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital
2、UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。面向对象Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。二、系统需求分析学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生的信息,帮助学校和名师掌握学生的情况,这就是学生信息管理系统需要完成的功能。1.1 系统功能分析本系统主要的功能是收集学生的个人信息,以便向
3、教师提供每个学生在校的情况。系统的主要功能有:l 学生个人信息输入,包括:姓名、性别、院系、生日、籍贯、生源所在地等。l 学生流动情况的输入,包括:转系、休学、复学、退学、毕业。l 奖惩情况的输入。l 学生个人情况查询和修改,包括流动情况和奖罚情况。1.2系统功能模块设计(划分)根据系统功能要求可以将系统分解成几个模块来分别设计应用程序界面学生信息管理系统普通用户管理员学生个人信息查询全部信息查询学生信息管理奖励情况管理学籍变更情况管理处罚情况管理选择登录模块 1.3 与其它系统的关系学生信息管理系统是校园信息管理系统的一个组成部分。它为其它系统,如班级信息管理系统、教学管理系统、成绩单系统、
4、宿舍分配系统等,提供学生的基本情况。同时需要其他系统提供的班级设置和院系设置等情况。这些系统可以使用同一个数据库,直接相互调用所需的数据。1.4 数据流程图学生信息管理系统的数据流程如图2所示。图2、学生信息管理系统数据流程图三、数据库设计A. 数据需求(1)、数据字典表1 STUDENT学生个人信息表字段名数据类型是否可空说明stu_idchar(10) N学号(主关键字)namechar(20)Y姓名sexchar(1)Y性别(M、F)class_idchar(5)Y班级编号(外部关键字)depart_idchar(5)Y所属院系编号(外部关键字)birthdateY生日NATIVE_PL
5、ACEchar(20)Y籍贯表2 CHANGE学籍变更信息表字段名数据类型是否可空说明change_idchar(5)N记录号(主关键字)stu_idchar(10)Y学号(外部关键字)CHANGEintY变更代码(外部关键字)REC_TIMEDATEY记录时间DESCRIPTchar(20)Y描述表3 REWARD奖励记录信息表字段名数据类型是否可空说明reward_idchar(5)N记录号(主关键字)stu_idchar(10)Y学号(外部关键字)level_idintY级别代码(外部关键字)REC_TIMEdateY记录时间DESCRIPTchar(20)Y描述表4 PUNISHMEN
6、T处罚记录信息表字段名数据类型是否可空说明punish_idchar(5)N记录号(主关键字)stu_idchar(10)Y学号(外部关键字)level_idintY级别代码(外部关键字)REC_TIMEdateY记录时间shengxiaochar(1)Y是否生效(T、F)DESCRIPTchar(20)Y描述表5 DEPARTMENT院系信息表字段名数据类型是否可空说明depart_idchar(5)N编号(主关键字)NAMEchar(20)Y全称表6 CLASS班级信息表字段名数据类型是否可空说明class_idchar(5)N编号(主关键字)NAMEchar(20)Y全称MONITORc
7、har(10)Y班长学号(外部关键字)表7 CHANGE_CODE学籍变动代码表字段名数据类型是否可空说明CODEintN代码(主关键字)DESCRIPTchar(20)Y描述表8 REWARD_LEVELS奖励等级代码表字段名数据类型是否可空说明CODEintN代码(主关键字)DESCRIPTchar(20)Y描述表9 PUNISH_LEVELS处罚等级代码表字段名数据类型是否可空说明CODEintN代码(主关键字)DESCRIPTchar(20)Y描述B、数据库概念结构设计下图是本系统所需数据的E-R模型图。学生班级院系系系学号性别生日籍贯姓名班级系别班号班名系名系号组成组成学生信息管理系
8、统学籍情况奖励情况处罚情况管理成管理成管理等级描述描述等级等级描述管理成管理成管理成编号编号编号编号C、数据库的建立create database stuuse stu/创建学生个人信息表create table stu(stu_id char(10), name char(20), sex char(1), class_id char(5), depart_id char(5), brith date, native_place char(20),primary key(stu_id),check(sex in(M,F)/创建change学籍变更表create table change(ch
9、ange_id char(5), stu_id char(10), change int, rec_time date, descript char(20), primary key(change_id)/创建reward奖励记录表create table reward(reward_id char(5), stu_id char(10), level_id int, rec_time date, primary key(reward_id)/创建惩罚记录信息表drop table punishcreate table punish(punish_id char(5), stu_id char
10、(10), level_id int, rec_time date, shengxiao char(1), descript char(10), primary key(punish_id), check(shengxiao in(T, F)/创建院系表create table depart(depart_id char(5), name char(20) not null, primary key (depart_id)/班级信息表create table class(class_id char(5), name char(20) not null, monitor_id char(10),
11、 primary key(class_id)/学籍变更表create table change_code(code int, descript char(20), primary key(code)/奖励等级表create table reward_levels(code int, descript char(20), primary key(code)/处罚等级表create table punish_levels(code int, descript char(20), primary key(code)/创建索引create index stu_index on stu(stu_id)c
12、reate index change_index on change(change_id)create index change_code_index on change_code(code)create index class_index on class(class_id)create index depart_index on depart(depart_id)create index punish_index on punish(punish_id)create index punish_levels_index on punish_levels(code)create index r
13、ewaed_index on reward(reward_id)create index reward_levels_index on reward_levels(code)/增加约束alter table stuadd foreign key (class_id) references class(class_id)alter table stuadd foreign key (depart_id) references depart(depart_id)/changealter table changeadd foreign key (stu_id) references stu(stu_
14、id)alter table changeadd foreign key (change) references change_code(code)/reawrdalter table rewardadd foreign key (stu_id) references stu(stu_id)alter table rewardadd foreign key (level_id) references reward_levels(code)/punishalter table punishadd foreign key (stu_id) references stu(stu_id)alter t
15、able punishadd foreign key (level_id) references punish_levels(code)/classalter table classadd foreign key (monitor_id) references stu(stu_id)/更改stu表格中的数据类型alter table stu add birth datetimealter table stu alter column birth datetime/变更视图 drop view stu_changeselect stu.name as stu_name, class.name a
16、s class_name, depart.name as depart_namefrom stu, class, departcreate view stu_changeas select stu.stu_id as 学号, stu.name as 姓名, sex as 性别, class.name as 班级, depart.name as 系部,change.change_id as 变更号, change.descript as 变更描述, change_code.descript as 变更代码描述from stu, change, change_code, class, depart
17、where stu.stu_id = change.stu_id and change.change = change_code.code andstu.class_id = class.class_id and stu.depart_id = depart.depart_id/奖励视图drop view stu_rewardcreate view stu_rewardas select stu.stu_id as 学号, stu.name as 姓名, sex as 性别, class.name as 班级, depart.name as 系部,reward.level_id as 奖励序号
18、, reward.descript as 奖励描述, reward_levels.descript as 奖励级别描述from stu, reward, reward_levels, class, departwhere stu.stu_id = reward.stu_id and reward.level_id = reward_levels.code andstu.class_id = class.class_id and stu.depart_id = depart.depart_id/惩罚视图drop view stu_punishcreate view stu_punishas se
19、lect stu.stu_id as 学号, stu.name as 姓名, sex as 性别, class.name as 班级, depart.name as 系部,punish.level_id as 惩罚序号, punish.descript as 惩罚描述, punish_levels.descript as 惩罚级别描述from stu, punish, punish_levels, class, departwhere stu.stu_id = punish.stu_id and punish.level_id = punish_levels.code andstu.class
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 实验
限制150内