ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:386.45KB ,
资源ID:10401638      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10401638.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计学生宿舍管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计学生宿舍管理系统.docx

1、数据库课程设计学生宿舍管理系统数据库原理课程设计说明书学生宿舍管理系统学 院: 计算机与信息科学学院 专 业: 网络工程 班 级: 网络1402 姓名学号: 吴琳琳 1420140231 姓名学号: 周岐浪 1420140217 指导教师: 高金华 职称 讲师 完成时间: 2016年12月 1、管理系统设计的背景、意义及目标设计背景设计意义设计目标2、系统开发环境3、系统需求分析基本功能需求功能模块数据字典4、概念结构设计概念设计E_R模型设计5、逻辑结构设计将E_R图转换为关系模型各表关系模型图6、数据实施和维护功能实现代码系统实现效果7、个人实现的功能8、总结1、管理系统设计的背景、意义及

2、目标设计背景随着IT事业的发展,如今,我们已经全面跨入信息时代。计算机被广泛的应用于各个行业,人工战略已经转化为信息战略,如何在短时间内获取大量信息并整合信息,成为立足于时代的关键。为了适应考生人数的急剧增长,当今社会各大高校都在进行扩招政策,学生数量的急剧增加带来信息量的成倍增长,由于信息管理的不善与疏忽,各大高校大小事故时有发生。进行正确的信息管理,对于信息及时处理和反应,能够最大程度的减少学校以及在校学生的损失,减小潜在危机。学生宿舍是学生生活的基本单位,是同学休息与学习的地方,为了保障同学入住学生宿舍的安全性,信息的处理和管理极为重要。据了解,本校的宿舍信息管理仍然使用传统的手工方式,

3、主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。学校的宿舍管理缺乏系统,规范的信息管理手段。建立学生宿舍管理系统,使宿舍管理工作系统化,规范化,便捷化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。设计的意义高校规模的扩大,在校学生的基本情况随之层次化、多样化、复杂化,相应的,学生管理工作面临严峻的挑战。高校学生信息日渐庞大,相应的宿舍管理工作变得复杂而困难。传统的账本化工作模式,手工

4、记录学生信息并存档,这样的人工管理方式费时、费事、费力,信息获取慢,更新滞后,查阅困难,容易出错。为了给学生提供一个安全舒适的工作、生活、学习环境,方便宿舍管理工作的同时为学生、教师提供准确实时的信息至关重要。 本校的宿舍信息管理,主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。以上的管理缺陷对学生宿舍管理造成了相当大的阻力,工作进展困难,问题解决的周期过长,资料整改工作量过大。为了改善学生宿舍管理情况,运用数据库技术对学生信息进行处理和

5、统一管理,在校园内实现宿舍无纸化办公。利用计算机的特点,利用互联网进行远程操作,制定学生客户端,教师客户端,管理员客户端,实现有针对性信息化管理,充分发挥计算机的高效性、可靠性、保密性、大容量、低成本等特点,建立学生宿舍管理系统,对宿舍相关信息进行统一管理。新型管理方式学生宿舍管理系统,将帮助宿舍管理人员提高工作效率,全面地掌握宿舍情况,提高宿舍安全系数,快速解决学生入住学生宿舍遇到的问题,帮助管理人员与教师及时掌握学生情况。设计目标开发设计学生宿舍管理系统,运用简单的计算机操作实现快速检索和快速查找,方便信息录入和更新,本系统仅针对管理员进行使用。实现信息查询、日常管理、宿舍管理、信息维护几

6、个方面的系统化管理:1、信息查询:a)宿舍信息:包括宿舍楼编号、寝室编号、入住人数、寝室入住人员学号、用水量、用电量、水费、电费。b)学生信息:包括学生姓名、学号、宿舍号c)宿舍基本配置:包括床、柜子、灯、风扇、电视机2、宿舍管理:学生管理(入住、更换宿舍、);房间管理(增加、删除、查询)3、信息维护:学生个人信息更新、宿舍信息更新、宿舍设备信息更新。2、系统开发环境 开发所使用数据库系统:MySql开发环境:windows 7开发工具:Microsoft VisualStudio 2010开发语言:C+、SQL3、系统需求分析基本功能需求学生宿舍管理系统为了更好的进行宿舍管理而设计。用户的需

7、求具体体现在各种信息的输入、修改和查询。系统功能实现如下:1、提供学生的入住信息的录入,更换宿舍信息登记。 提供各宿舍的具体信息,如宿舍楼栋、宿舍号、水费、电费等。并可通过查询宿舍号得到宿舍的具体信息、入住的学生信息、宿舍的设备信息等。2、提供管理员增加、删除各信息的功能。功能模块本宿舍管理系统的主要功能为:学生管理、宿舍信息管理、宿舍设备信息管理、信息查询、息更新、信息维护。数据字典 (1)宿舍设备情况数据字典(2)宿舍信息情况数据字典(3)学生信息情况数据字典4、概念结构设计概念设计(1)学生实体:用于显示学生的属性,包括姓名、学号、宿舍编号。(2)宿舍实体:用于显示宿舍的属性,包括楼号、

8、宿舍号、入住学生学号、可住人数、已住人数、用水量、水费、用电量、电费。(3)宿舍设备实体:用于显示宿舍设备的属性,包括床、柜子、风扇、灯、电视机。E_R模型设计(1)学生实体E_R图 (2)宿舍实体E_R图(3)宿舍物品设备实体E_R图 (4)各实体关系E_R图5、逻辑结构设计将E-R图转换为关系模型:(1)Student:(num、name、dormitoryCat);(2)Room:(dormitoryCat、dormitory、room、studentNum、water、waterCharge、electricity、electricityCharge);(3)Item:(dormito

9、ryCat、bed、cabinet、light、fan、tv)各表关系模型图:(1)Item表外键设计:(2)Student表外键设计:(3)各表之间的关系模型图,Item表与Student表通过外键与Room联系:6、数据实施和维护功能实现的代码/dbstruct.h#pragma onceclass dbStructpublic: MYSQL my; char errMsg300; /学生表 char StudentNum9; char StudentName20; /宿舍 char dormitoryCat6; char dormitory3; char room4; double wa

10、ter; double electricity; double waterCharge; double electricityCharge; unsigned int members; /物件 bool bed; bool cabinet; bool light; bool fan; bool tv; dbStruct(); dbStruct(); bool Init(); bool GetStruct(); /添加学生表一项 bool InsertStudentTable(); /改变一项 bool SetStudentTable(char num9);/主键为num, vachar(8)

11、/获取一项 bool GetStudent(char num9); /*删除一项 bool DeleteStudent(char num9); /添加宿舍表一项 bool InsertDormitoryTable(); /改变一项 bool SetDormitoryTable(char dormitoryCat6);/主键为dormitoryCat, varchar(6) /获得一项 bool GetDormitory(char dormitoryCat6); /删除一项 bool DeleteDormitory(char dormitoryCat6); /添加物品表一项 bool Inser

12、tItemTable(); /改变一项 bool SetItemTable(char dormitoryCat6);/主键为dormitoryCat, varchar(6) /获得一项 bool GetItem(char dormitoryCat6); /*删除一项 bool DeleteItem(char dormitoryCat6); void ErrMB();/dbStruct.cpp#include stdafx.hdbStruct:dbStruct() this-water = 0.0; this-electricity = 0.0; this-waterCharge = 0.0;

13、this-electricityCharge = 0.0; this-members = 4; this-bed = TRUE; this-cabinet = TRUE; this-light = TRUE; this-fan = TRUE; this-tv = TRUE;dbStruct:dbStruct() mysql_close(&my);bool dbStruct:Init() mysql_init(&this-my); if(!mysql_real_connect(&this-my, localhost, root, fast, dormitory, 0, NULL, 0) Stri

14、ngCchPrintfA(errMsg, 300, 获取寝室物件信息错误: %sn, mysql_error(&this-my); return false; mysql_query(&this-my, SET NAMES gbk); return true;/bool dbStruct:InsertStudentTable() if(this-dormitoryCat = NULL | this-StudentName = NULL | this-StudentNum = NULL) StringCchPrintfA(errMsg, 100, 添加学生信息错误: 值不完整n); return

15、 FALSE; char query300; /获得该寝室已住人数数 StringCchPrintfA(query, 300, SELECT count(dormitoryCat) FROM student WHERE dormitoryCat = 19425, this-dormitoryCat); mysql_query(&this-my, query);/可以确保在数据库工作正常的情况下,能够查询到惟一的一条数据 MYSQL_RES * res; res = mysql_use_result(&this-my); MYSQL_ROW row; int i; /i为已住人数 while(r

16、ow = mysql_fetch_row(res) != NULL) i = row00 - 0; mysql_free_result(res); if(+i 4) /超过了寝室最大人员数量 StringCchPrintfA(errMsg, 300, 添加学生信息错误: 此寝室已满n); /*是否自动添加宿舍信息 return FALSE; /可以添加学生信息 StringCchPrintfA(query, 300, INSERT INTO student(num, name, dormitoryCat) VALUES(%s, %s, %s), this-StudentNum, this-St

17、udentName, this-dormitoryCat); if(mysql_query(&this-my, query) != 0) StringCchPrintfA(errMsg, 300, 添加学生信息错误: %sn, mysql_error(&this-my); /*是否需要自动添加宿舍信息 return FALSE; return TRUE;bool dbStruct:DeleteStudent(char num9) char query300; StringCchPrintfA(query, 300, DELETE FROM student WHERE num = %s, num

18、); if(mysql_query(&this-my, query) != 0) StringCchPrintfA(errMsg, 300, 删除学生信息错误: %sn, mysql_error(&this-my); /*是否需要自动添加宿舍信息 return FALSE; return TRUE;bool dbStruct:GetStudent(char num9) char query300; StringCchPrintfA(query, 300, SELECT * FROM student WHERE num = %s, num); if(mysql_query(&this-my, q

19、uery) != NULL) StringCchPrintfA(errMsg, 300, 获取学生信息错误: %sn, mysql_error(&this-my); return FALSE; MYSQL_RES * res; MYSQL_ROW row; res = mysql_use_result(&this-my); while(row = mysql_fetch_row(res) != NULL) StringCchPrintfA(this-StudentNum, 9, row0); StringCchPrintfA(this-StudentName, 20, row1); Strin

20、gCchPrintfA(this-dormitoryCat, 6, row2); mysql_free_result(res); return TRUE;/bool dbStruct:InsertDormitoryTable() if(this-dormitoryCat = NULL | this-room = NULL | this-dormitory = NULL) StringCchPrintfA(errMsg, 300, 添加宿舍信息错误: 值不完整n); return FALSE; char query300; StringCchPrintfA(query, 300, INSERT

21、INTO room(dormitoryCat, dormitory, room, studentsNum, water, electricity, waterCharge, electricityCharge) VALUES(%s, %s, %s, %d, %.2lf, %.2lf, %.2lf, %.2lf), this-dormitoryCat, this-dormitory, this-room, this-members, this-water, this-electricity, this-waterCharge, this-electricityCharge); if(mysql_

22、query(&this-my, query) != 0) StringCchPrintfA(errMsg, 300, 添加宿舍信息错误: %sn, mysql_error(&this-my); return FALSE; this-InsertItemTable(); return TRUE;bool dbStruct:DeleteDormitory(char dormitoryCat6) /由于外键约束,删除此寝室时,相应的student和item表中的此寝室信息自动删除. char query300; StringCchPrintfA(query, 300, DELETE FROM roo

23、m WHERE dormitoryCat = %s, dormitoryCat); if(mysql_query(&this-my, query) != 0) StringCchPrintfA(errMsg, 300, 删除宿舍信息错误: %sn, mysql_error(&this-my); return FALSE; return TRUE;bool dbStruct:GetDormitory(char dormitoryCat6) char query300; StringCchPrintfA(query, 300, SELECT * FROM room WHERE dormitoryC

24、at = %s, dormitoryCat); if(mysql_query(&this-my, query) != NULL) StringCchPrintfA(errMsg, 300, 获取寝室信息错误: %sn, mysql_error(&this-my); return FALSE; MYSQL_RES * res; MYSQL_ROW row; res = mysql_use_result(&this-my); while(row = mysql_fetch_row(res) != NULL) StringCchPrintfA(this-dormitoryCat, 6, row0);

25、 StringCchPrintfA(this-dormitory, 3, row1); StringCchPrintfA(this-room, 4, row2); this-members = atoi(row3); this-water = atof(row4); this-electricity = atof(row5); this-waterCharge = atof(row6); this-electricityCharge = atof(row7); mysql_free_result(res); return TRUE;/bool dbStruct:InsertItemTable(

26、) if(this-dormitoryCat = NULL) StringCchPrintfA(errMsg, 300, 添加宿舍信息错误: 值不完整n); return FALSE; char query300; StringCchPrintfA(query, 300, INSERT INTO item(dormitoryCat,bed, cabinet, light, fan, tv) VALUES(%s, %d, %d, %d, %d, %d), this-dormitoryCat, this-bed, this-cabinet, this-light, this-fan, this-t

27、v); if(mysql_query(&this-my, query) != 0) StringCchPrintfA(errMsg, 300, 添加宿舍物件信息错误: %sn, mysql_error(&this-my); return FALSE; return TRUE;bool dbStruct:GetItem(char dormitoryCat6) char query300; StringCchPrintfA(query, 300, SELECT * FROM item WHERE dormitoryCat = %s, dormitoryCat); if(mysql_query(&t

28、his-my, query) != NULL) StringCchPrintfA(errMsg, 300, 获取寝室物件信息错误: %sn, mysql_error(&this-my); return FALSE; MYSQL_RES * res; MYSQL_ROW row; res = mysql_use_result(&this-my); while(row = mysql_fetch_row(res) != NULL) StringCchPrintfA(this-dormitoryCat, 6, row0); this-bed = (atoi(row3) = 1? true: false); this-cabinet = (atof(row4) = 1? true: false); t

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1