讲解视频链接:私信发!
源码:私信!
数据库系统原理课程设计报告
设计题目: 校园宿舍管理系统
班 级:
组 号: 第一组
成 员:
指导教师:
完成日期:
摘 要
高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要是数据库的建立和维护,要求后台数据库的建立和维护具有数据一致性和完整性强、数据安全性好的特征。旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,我们本次的设计主要是在数据库的设计的方式实现宿舍管理系统的现在化管理,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要转变。
关键词:E-R图、管理系统,数据库,GUI应用,信息管理,信息采集。
目 录
第一章 系统概述
1.1背景及意义
1.2研究的现状
第二章 系统功能分析和设计
2.1 需求分析
2.2 系统功能模块设计
2.2.1学生用户功能:
2.2.2宿管管理员功能:
2.2.3超管功能:
2.3 系统总体设计
2.3.1系统总体流程:
2.3.2功能系统结果:
第三章 数据库设计
3.1数据库概念结构设计
3.1.1局部概念设计
3.1.2全局概念设计
3.2 数据库逻辑结构设计
3.2.1初始关系模式
3.2.2规范化处理
3.3 数据库物理设计
3.4 数据库操作部分
3.4.1 创建数据库
3.4.2 创建数据表
3.4.3数据库的插入操作
3.4.4数据库的修改操作
3.4.5数据库的删除操作
3.4.6数据库的查询操作
第四章 系统实现
4.1登录模块
4.2重置模块
4.3超管信息块
4.4宿管信息块
4.5学生信息块
4.6退出登录模块
第五章 总 结
5.1 团队总结
5.2个人总结
附录:参考文献
第一章 系统概述
1.1背景及意义
由于计算机技术的迅速发展和普及,网络通信技术越来越被广泛的应用。管理信息系统在现代社会已深入到各行各业。大学生宿舍管理系统就是一个典型的管理信息系统,学生宿舍管理系统对于一个学校来说是必不可少的组成部分,它可以让宿舍管理工作变的更轻松。学生宿舍管理系统更能帮助宿舍管理员更加轻松方便快捷的管理宿舍。节省大量的劳动力,实现校园信息化管理。
(1)保证信息的准确性和时效性,随时通过计算机对系统进行管理,使得学生宿舍信息处于最新状态,保证统计数据和分析的准确。
(2)减轻劳动强度、提高工作效率、增加学生宿舍管理的透明度。充分利用网络优势,加快学校内部学生宿舍信息的发布、传送和获取,改善和优化宿管工作,增加学生宿舍管理的透明度。
(3)降低管理成本,基本实现了无纸化办公,根除了很多日常管理中的浪费现象,体现出现代化学生宿舍管理的优势。
(4)规范化管理,由于采用了计算机统计分析学生宿舍缺勤信息,一些原始信息在录入时就必须要求准确录入,这就要求管理人员在提供信息时要准确,同时要求在录入时也要十分认真,这样做是为了将错误降到最低,提高系统工作的准确率,从而实现校园学生宿舍管理工作规范化。
该项目系统布局舒适,内容充实且紧凑,可以对每个学生的每次个人信息进行收集保存,是一个逻辑性较强的综合系统。
1.2研究的现状
据调查,现今还有很多高校对于学生宿舍信息管理的主要方式还是基于文本人工抄写和填写表格等落后方式存储学生信息!这样存储学生宿舍信息的弊端很多,比如:数据信息处理工作量大,容易出错:由于数据繁多,容易丢失,且不易查找等等。总的来说,缺乏一套完善的学生宿舍管理系统,统一规范的信息管理手段,实现宿管线上管理学生宿舍。这就是管理信息系统的开发的基本环境。
第二章 系统功能分析和设计
2.1 需求分析
校园宿舍管理系统的管理用户共分为三大类,分别是超管登录功能,宿管登录功能,学生登录功能。
1.超管对功能的需求
超管可以对学生及缺勤学生的姓名,学号,宿舍号,缺勤时间,缺勤原因和宿管的账号、密码等信息进行统一管理,如下:
超管可以增加,删除,修改,查看学生信息、宿管、宿舍、宿舍楼信息。
2.宿管对功能的需求
宿管可以对学生及缺勤学生的姓名,学号,性别,专业,宿舍号,寝楼,缺勤时间及缺勤原因等信息进行统一管理,宿管可以发布公告供学生查阅。如下:
增加缺勤学生记录
删除学生缺勤记录
修改学生缺勤记录
查看学生缺勤记录
增加宿舍信息
删除宿舍信息
修改宿舍信息
查看宿舍信息
发布可供学生查看的公告
3.学生对功能的需求
浏览个人基本信息
查看个人缺勤记录
查阅公告表
4.系统登录退出:能够正常登录、退出系统。
5. 使用GUI,java语言,eclipse,MySQL实现上述功能
2.2 系统功能模块设计
2.2.1学生用户功能
(1)登录 (2)查询个人信息 (3)查询缺勤记录(如图2.1所示)
图2.1 学生功能图
具体功能介绍如下:
1.用户登录
实现功能:输入账号可直接登录,使用查询信息,缺勤情况等功能
2.输入密码
实现功能:直接输入密码进入学生信息页面
3.查询学生信息
实现功能:显示学生的相关信息
4.缺勤记录
实现功能:查看学生缺勤信息
5.公共信息
实现功能:查看公告信息
6.退出系统
实现功能:直接退出当前页面
2.2.2宿管管理员功能
(1)登录 (2)修改密码 (3)查询个人信息(如图2.2所示)
图2.2 宿管功能图
具体功能介绍如下:
(1)宿管进行输入密码登录
(2)登录数据库后进行学生信息的查询,维修
记录的查询,宿舍信息,缺寝记录的查询,修改,删除,功能实现后退出登录。
2.2.3超管功能
(1)登录 (2)修改密码 (3)查询个人信息 (如图2.3所示)
图2.3 超管功能图
具体功能介绍如下:
(1)首先超管进行输入密码登录
(2)登录进入数据库进行缺勤记录的内容查询包括查询缺勤,修改缺勤,删除缺勤,以及宿管人员管理,学生人员管理,宿舍信息管理,寝楼信息管理,完成功能后退出功能。
2.3 系统总体设计
2.3.1系统总体流程
系统总体流程如图2.4所示:
图2.4 系统总体流程图
2.3.2功能系统结果
功能的结构如图2.5所示:
图2.5 功能流程图
第三章 数据库设计
3.1数据库概念结构设计
3.1.1局部概念设计
本系统包含学生个人信息实体属性图,学生缺勤实体属性图,宿舍楼层实体属性图,学生宿舍实体属性图,超级管理员实体属性图,宿管实体属性图,公告实体属性图,学生专业实体属性图。
学生个人信息实体属性图如图3.1所示。
图3.1 学生实体属性图
学生缺寝实体属性图如图3.2所示。
图3.2 缺寝表实体属性图
学生宿舍实体属性图如图3.3所示。
图3.3 宿舍实体属性图
宿舍楼层实体属性图如图3.4所示。
图3.4 宿舍楼实体属性图
超级管理实体属性图如图3.5所示。
图3.5 超管实体属性图
宿管实体属性图如图3.6所示。
图3.6 宿管实体属性图
公告实体属性图如图3.7所示。
图3.7 公告表实体属性图
学生专业实体属性图如图3.8所示。
图3.8 专业实体属性图
3.1.2全局概念设计
学生寝室E-R图,如图3.9所示。
图3.9 宿舍管理E-R图
3.2 数据库逻辑结构设计
3.2.1初始关系模式
超管(用户名,密码)
超管(编号,用户名,邮箱)
宿管(用户名,密码)
宿管(宿管编号,用户名,工号,校区,寝楼号)
学生(姓名,密码)
学生(学生编号,姓名,性别,专业编号,工号,校区,寝楼号,层数,宿舍号,邮箱,电话)
宿舍(宿舍号,位置,电话,容纳人数,寝楼号,宿管编号)
宿舍楼(寝楼号,层数,管理人,容纳人数)
缺勤表(学生编号,姓名,缺寝时间,缺寝原因,宿舍号)
公告表(公告编号,宿管编号,标题,内容,日期)
专业信息(名称,专业编号)
3.2.2规范化处理
缺勤表(学生编号,姓名,缺寝时间,缺寝原因,宿舍号)
超管(编号,用户名,密码,邮箱)
学生(学生编号,姓名,性别,专业编号,工号,校区,寝楼号,层数,宿舍号,密码,邮箱,电话)
公告表(公告编号,宿管编号,标题,内容,日期)
宿管(宿管编号,用户名,工号,校区,寝楼号,密码)
宿舍楼(寝楼号,层数,管理人,容纳人数)
宿舍(宿舍号,位置,电话,容纳人数,寝楼号,宿管编号)
专业(专业编号,名称)
3.3 数据库物理设计
1.管理员用户表
表3-1 登录系统实现表
名 |
类型 |
长度 |
十进位 |
允许空值? |
Uname |
Varchar |
20 |
0 |
|
Upassword |
Varchar |
20 |
0 |
|
Utype |
Tinyint |
1 |
0 |
2.缺寝表
表3-2 学生缺寝信息表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Sno |
Varchar |
20 |
0 |
主键 |
|
Sname |
Varchar |
20 |
0 |
||
Dno |
Varchar |
6 |
0 |
||
Atime |
Varchar |
10 |
0 |
主键 |
|
Areason |
Varchar |
20 |
0 |
3.宿舍楼表
表3-3 宿舍楼表
名 |
类型 |
长度 |
小数点 |
允许空值? |
Bname |
Varchar |
20 |
0 |
|
Bfloor |
Varchar |
10 |
0 |
|
Bmager |
Varchar |
10 |
0 |
允许 |
Bcao |
Varchar |
10 |
0 |
4.超管表
表3-4 超管信息表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Cno |
Int |
20 |
0 |
主键 |
|
Cname |
Varchar |
255 |
0 |
允许 |
|
Cpassword |
Varchar |
255 |
0 |
允许 |
|
Cemail |
Varchar |
255 |
0 |
允许 |
5.专业表
表3-5 学生专业信息表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Sdept |
Varchar |
255 |
0 |
主键 |
|
Zname |
Varchar |
255 |
0 |
允许 |
6.宿舍表
表3-6 学生宿舍信息表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Dno |
Varchar |
10 |
0 |
主键 |
|
Dpo |
Varchar |
10 |
0 |
||
Dphone |
Varchar |
20 |
0 |
允许 |
|
Dcap |
Varchar |
10 |
0 |
||
Sno |
Varchar |
20 |
0 |
||
Sgno |
Varchar |
255 |
0 |
允许 |
|
Bname |
Varchar |
255 |
0 |
允许 |
外键 |
7.公告表
表3-7 学生公告信息表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Gno |
Int |
20 |
0 |
主键 |
|
Sgno |
Int |
20 |
0 |
允许 |
外键 |
Gtitle |
Varchar |
255 |
0 |
允许 |
|
Gcontent |
Varchar |
255 |
0 |
允许 |
|
Gtime |
Varchar |
255 |
0 |
允许 |
8.学生表
表3-8 学生表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Sno |
Varchar |
20 |
0 |
主键 |
|
Sname |
Varchar |
20 |
0 |
||
Ssex |
Varchar |
4 |
0 |
||
Sdept |
Varchar |
40 |
0 |
外键 |
|
Dno |
Varchar |
6 |
0 |
外键 |
|
Bbu |
Varchar |
20 |
0 |
||
Bfloor |
Varchar |
20 |
0 |
||
Sggh |
Varchar |
20 |
0 |
||
Xq |
Varchar |
255 |
0 |
||
|
Varchar |
20 |
0 |
||
Phone |
Varchar |
20 |
0 |
9.宿管表
表3-9 宿管信息表
名 |
类型 |
长度 |
小数点 |
允许空值? |
约束 |
Sgno |
Int |
20 |
0 |
主键 |
|
Syhm |
Varchar |
255 |
0 |
允许 |
|
Sggh |
Varchar |
255 |
0 |
允许 |
|
Xq |
Varchar |
255 |
0 |
允许 |
|
Bname |
Varchar |
255 |
0 |
允许 |
|
Spassword |
Varchar |
255 |
0 |
允许 |
数据库表模型图:
图3.10 数据库表模型
3.4 数据库操作部分
3.4.1 创建数据库
create database user
3.4.2 创建数据表
(1)absent表
create table absent
(
Sno varchar(20) primary key,
Sname varchar(20) not null,
Dno varchar(6) not null,
Atime varchar(10) primary key,
Areason varchar(20) not null
);
(2) building表
create table building
(
Bname varchar(20) not null,
Bfloor varchar(10) not null,
Bmager varchar(10),
Bcap varchar(10) not null
);
(3) chaoguan表
create table chaoguan
(
cno int(20) primary key,
canme varchar(255) ,
capssword varchar(255),
cemail varchar(255)
);
(4) dept表
create table dept
(
Sdept varchar(255) primary key,
zanme varchar (255)
);
(5)dorm表
create table dorm
(
Dno varchar(10) primary key,
Dpo varchar(10) not null,
Dphone varchar(20),
Dcap varchar(10) not null,
Sno varchar(20) not null,
sgon varchar(255),
Bname varchar(255)
);
(6) gonggao表
create table gonggao
(
gno int(20) primary key,
sgno int(20),
gtitle varchar(255),
gcontent varchar(255),
gtime varchar(255)
);
(7) student 表
create table student
(
Sno varchar(20) primary key,
Sname varchar(20) not null,
Ssex varchar(4) not null,
Sdept varchar(40) not null,
Dno varchar(6) not null,
Bbu varchar(20) not null,
Bfloor varchar(20) not null,
sggh varchar(20) not null,
xq varchar(255) not null,
email varchar(20) not null,
phone varchar(20) not null
);
(8)suguan表
create table suguan
(
Sgon int(20) primary key,
Syhm varchar(255),
Sggh varchar(255),
Xq varchar(255),
Bname varchar(255),
Spassword varchar(255)
);
(9)users表
create table users
(
Uname varchar(20)not null,
Upassword varchar(20) not null,
Utype tinyint(1) not null,
Email varchar(10) not null
);
3.4.3数据库的插入操作
将学生的缺寝信息加入到absent表中:
insert into absent(sno,sname,dno,atime,areason) values(19111329,'陶然',325,'2000.10.22','回家种田');
将寝楼信息加入到building表中:
insert into building(bname,bfloor,bmager,bcap) values(12,3,’张阿姨’,4);
将超管信息加入到chaoguan表中:
insert into chaoguan(cno,cname,cpassword,cemail) values(1,'小明','xm',123456);
给dept表插入信息
insert into dept(sdept,zname) values(001,'计算机系');
给dorm表插入信息:
insert into dorm(dno,dpo,dphone,dcap,sno,sgno,bname) values(325,'天津',1234554321,4,19111317,12325,12);
给gonggao表插入信息:
insert into gonggao(gno,sgno,gtitle,gcontent,gtime) values(1,18616,'水费公示','各宿舍水费情况','2021.12.6');
给student表录入学生信息:
insert into student(sno,sname,ssex,sdept,dno,bbu,bfloor,sggh,xq,email,phone) values(19111666,‘ZJ’,’女’,001,616,18,6,18616,’天津’’2000088170@qq.com’,12345432);
3.4.4数据库的修改操作
修改学号为“19111305”的名字改为张三
update absent
set Sname=’张三’
where Sno=19111305;
修改楼号12的寝楼为15
update building
set Bname=15
where Bname=12;
修改学号为19111306的学生的专业为信息管理系
update dept
set zname=’信息管理系’
where sno=19111306;
修改学号为19111317的学生的宿舍为616
update dorm
set dno=616
where Sno=19111317;
3.4.5数据库的删除操作
删除某个表里面学号为19111310的人的信息:
delete from absent where sno=19111310;
删除公告表里面的所有数据:
delete from gonggao;
3.4.6数据库的查询操作
查询宿管的用户名及发布公告的标题、内容、时间
SELECT syhm,gtitle,gcontent,gtime
FROM gonggao,suguan
WHERE gonggao.sgno=suguan.sgno;
查询学号为19111310学生的缺寝原因
SELECT areason
FROM absent
where sno=19111310;
查询计算机系学生的学号和姓名
SELECT sno,sname
FROM dept,student
WHERE dept.sdept=student.sdept AND zname='计算机系';
查询缺勤表里所有的内容
SELECT * FROM absent;
查询学生表里所有学生信息:
SELECT * FROM student;
第四章 系统实现
4.1登录模块
此模块可以实现超管登录、宿管登录和学生登录三种模式,输入用户名、密码,点击登录,即可显示登录类别,进入系统主页面。登录界面如下图4.1所示。
图4.1 登录界面
4.2重置模块
此模块可以实现用户的账号密码重置。界面如下图4.2所示。
图4.2 重置界面
4.3超管信息块
进入校园宿舍管理系统,超管可以对学生及学生缺寝信息进行增删改查以及对宿管的账号、密码等信息进行统一管理,同时管理宿舍、宿舍楼信息。超管功能界面如下图4.3、图4.4、图4.5所示。
图4.5 宿舍人员管理界面
4.4宿管信息块
进入校园宿舍管理系统,宿管可以对学生信息及学生缺寝信息进行增删改查,宿管功能界面如下图4.6、图4.7所示。
4.5学生信息块
进入校园宿舍管理系统,学生可以使用自己的账号密码登录查看个人信息和自己的缺寝记录。学生模块界面如下图4.8所示。
4.8 学生缺寝信息自查界面
4.6退出登录模块
超管、宿管、学生点击退出登录按钮即可退出校园宿舍管理系统,退出模块界面如下图4.9所示。
效果图基本同上,此处省略!
4.9 退出登录界面
第五章 总 结
5.1 团队总结
通过本次课程设计,使我们不仅能够学习,掌握和运用数据库技术 Mysql 、java编程开发、GUI、JDBC等相关专业,而且能够根据需要数据库进行规划,设计及管理,并实现一定功能的系统管理。通过课程设计,使我们能够系统的认识到数据库技术重要性,理论联系实际。通过课程设计,我们用理论来解决生活中的实际问题,而且本次也让我们知道协作的重要性。本次课程设计加深了我们对数据库理论和基本知识的理解,提高运用数据库解决实际问题的能力,掌握使用数据库进行软件设计的方法,本次课程设计不仅提高了我们的操作技能,而且还让我们了解到了更多相关软件知识,对于我们今后的发展也起到了一定的作用。
整个设计过程中,对概念模型的设计、逻辑结构的设计和E-R图向关系模式的转化有了更深的理解。实验中遇到不懂的问题互相探讨,耐心解决问题。通过此次实验让我们深刻的理解了“理论与实践相结合”的意义所在,只有自己动手操作了才知道不理解的是什么、欠缺的是什么、不足的是什么。这也给我们对于以后的工作起到了指导作用。明白了团队的重要性。
5.2个人总结
XXX:在这次课程设计中我主要负责小组内系统的整体设计、数据库的连接、数据库建表和部分代码的编写。期间我最大的感受就是快乐与痛苦并存!从数据库入门的不知所措到现在可以独立或者小组合作完成一个课设,期间成长了很多。数据库课程设计强调团队合作,设计一个管理系统需要集思广益,每个人的想法都会在组内讨论,既解决了问题又增加了组内成员的沟通能力,大家一起用心去完成这次课设。这次的课程设计中我也遇到了很多困难,通过学校官网知网数据库、百度查找CSDN和B站等已经解决,还有不明白的的一些就会询问老师,让我认识到了自己的不足,期待以后自己的成长,我也会在之后的学习之路上不断努力。
印象最深的就是因为数据库建E-R图和测试代码时抓狂过,在网上看了很多参考文章,最后才能建立、应用、java连接数据库,收获颇大!很感谢我的组员们一起努力,也很感谢老师耐心讲解,老师很温柔也很包容我们,最后当项目运行成功的那一刻真的太开心了!数据库学习之路的开心快乐和艰辛只有经历过才能懂!
XXX:在这次课程设计中我主要负责数据库的规范化设计和Word文档的完善修改。通过这次课设我学到了很多,对数据库,Java有了更加的了解,在这两周我们遇到了很多的问题在E-R图上我们花了好多时间,在老师和组员的帮助下完成了这部分,我们每个组员都对这次课设很认真的对待,完成了自己的部分,这次课设让我自学能力加强,之前在课上不明白的地方,在这次课设中,都一一得到解决,到这次课设快要结束的时候,看到了我们整对得成果非常有成就。
XXX:经过课程设计的磨炼,我学习到了更深一步的数据库学习的应用,期间不光收获到了知识的积累,还有老师的指导,组长对我的帮助,让我受益匪浅,课程设计虽然很考验我们的能力,但是在我们组长的带领以及我们的共同钻研下还是拿下了不错的成果,感谢老师,感谢组长,希望我在以后的学习路上能够继续保持高昂的热情,以及对自己的严格要求,千里之行始于足下,继续加油!
XX:在这次设计过程中,体现出了自己设计开发系统的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在这两周里,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学 会了做人与处世。在今后的学习中,我们应该发现自己的不足然后虚心学习,更加完善自己,为今后步入社会参加工作打下足够的基础。
XXX:两周的课程设计结束了,我和同学们一起度过了这段忙碌而充实的时光。这次的课程设计深刻的反映出实践是检验真理的唯一标准这句话的真谛。我负责了部分代码的编写和sql语句的增删查改,课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。
附录:参考文献
[1]华蕊 .学生宿舍管理信息系统的设计及实现[J].电脑开发与应用,2002(1):27-29.
[2]王林 .高校学生公寓管理信息系统建设研究[J].信息与电脑(理论版),2019(16):76-77.
[3]宋春华,吴承龙 . 高校学生公寓管理中的信息化管理实现研究[J].延安职业技术学院学报,2020,32(1):57-59.
[4]黄伟斌 .高校宿舍管理系统需求分析[J].中国管理信息化,2018,18(8):85-86.
[5]周伟 .学生宿舍管理系统的设计与实现[J].科技视界,2018(25):91-92.
[6]宋春华,吴承龙 .高校学生公寓管理中的信息化管理实现研究[J].延安职业技术学院学报 ,2018,32(1):57-59.
[7]张振华,田鑫华,师凯旋,等 .基于 Django 的机床故障在线诊断平台[J]. 现 代计算机 ,2021(20): 04-108.
[8]陶文玲,侯冬青 .PyQt5 与 Qt 设计师在 GUI 开发中的应用[J].湖南邮电职业技术学院学报,2020,19(1):19-21.
[9]郑文静,殷俊 . 基于 O2O 模式的外卖订餐 APP的设计研究[J]. 艺术与设计(理论),2015(9):101- 103.
[10]车广杰,李绍静,董峰 . 高校学生宿舍管理系统的设计与实现[J]. 电子测试,2017(16):42-44.
希望能够帮助你!文章来源:https://www.toymoban.com/news/detail-453152.html
需要源码私信我!文章来源地址https://www.toymoban.com/news/detail-453152.html
到了这里,关于《校园宿舍管理系统》之数据库程序设计/GUI/java/eclipse/MySQL/JDBC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!