数据库课程设计学生宿舍管理系统_第1页
数据库课程设计学生宿舍管理系统_第2页
数据库课程设计学生宿舍管理系统_第3页
数据库课程设计学生宿舍管理系统_第4页
数据库课程设计学生宿舍管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理课程设计说明书学生宿舍管理系统1、管理系统设计的背景、意义及目标学院:计算机与信息科学学院专业:网络工程班级:网络1402姓名学号:吴琳琳31姓名学号:周岐浪17指导教师:高金华职称讲师完成时间:2016 年12月设计背景设计意义设计目标2、3、系统需求分析基本功能需求功能模块数据字典4、概念结构设计概念设计E R模型设计5、逻辑结构设计将E R图转换为关系模型各表关系模型图6、数据实施和维护功能实现代码系统实现效果7、个人实现的功能总结1、管理系统设计的背景、意义及目标设计背景随着IT事业的发展,如今,我们已经全面跨入信息时代。计算机 被广泛的应用于各个行业,人工战略已经转化为信息

2、战略,如何在短时 间内获取大量信息并整合信息,成为立足于时代的关键。为了适应考生人数的急剧增长,当今社会各大高校都在进行扩招政 策,学生数量的急剧增加带来信息量的成倍增长,由于信息管理的不善 与疏忽,各大高校大小事故时有发生。进行正确的信息管理,对于信息 及时处理和反应,能够最大程度的减少学校以及在校学生的损失,减小 潜在危机。学生宿舍是学生生活的基本单位,是同学休息与学习的地方,为了 保障同学入住学生宿舍的安全性,信息的处理和管理极为重要。据了 解,本校的宿舍信息管理仍然使用传统的手工方式,主要方式是基于文 本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理 登记。数据信息处理工

3、作量大,容易出错且不易修改;由于数据繁多, 容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极 低。学校的宿舍管理缺乏系统,规范的信息管理手段。建立学生宿舍管理系统,使宿舍管理工作系统化,规范化,便捷 化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性, 能够及时、准确、有效的查询和修改宿舍情况。设计的意义高校规模的扩大,在校学生的基本情况随之层次化、多样化、复杂 化,相应的,学生管理工作面临严峻的挑战。高校学生信息日渐庞大, 相应的宿舍管理工作变得复杂而困难。传统的账本化工作模式,手工记 录学生信息并存档,这样的人工管理方式费时、费事、费力,信息获取 慢,更新滞后,查阅

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

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

6、息:包括宿舍楼编号、寝室编号、入住人数、寝室入住人 员学号、用水量、用电量、水费、电费。b)学生信息:包括学生姓名、学号、宿舍号c)宿舍基本配置:包括床、柜子、灯、风扇、电视机2、宿舍管理:学生管理(入住、更换宿舍、);房间管理(增加、删除、查询)3、信息维护:学生个人信息更新、宿舍信息更新、宿舍设备信息更新。2、系统开发环境开发所使用数据库系统:MySql开发环境:win dows 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图roomroomdormitoryCatdormitory空lectricityCharge( ( water (sude ntsNum) 丿.electricitywatercharge(3)宿舍物品设备实体E_R图(4)各实体关系E_R图5、逻辑结构设计将E-R图转换为关系模型:(1)Student :( num name dormitoryCat );(2) Room (dormitoryCat 、dormi

9、tory、room、studentNum、water、waterCharge、electricity electricityCharge );Item :( dormitoryCat、bed、cabinet、light 、fan、tv)各表关系模型图:I tem表外键设计:Student表外键设计:各表之间的关系模型图,Item表与Student表通过外键与Room联系:6、数据实施和维护功能实现的代码lf, %.2lf, %.2lf, %.2lf)",this->dormitoryCat, this->dormitory, this->room, this->

10、;members, this->water, this->electricity, this->waterCharge, this->electricityCharge);if(mysql_query(&this->my, query) != 0)StringCchPrintfA(errMsg, 300,"添加宿舍信息错误:%sn",mysql_error(&this->my);return FALSE;this->I nsertItemTableO;return TRUE;bool dbStruct:DeleteD

11、ormitory(char dormitoryCat6)char query300;Stri ngCch Prin tfA(query, 300, "DELETE FROM room WHERE dormitoryCat = "%s"", dormitoryCat);if(mysql_query(&this->my, query) != 0)StringCchPrintfA(errMsg, 300,"删除宿舍信息错误:%sn",mysql_error(&this->my);return FALSE;retu

12、rn TRUE;bool dbStruct:GetDormitory(char dormitoryCat6)char query300;Stri ngCch Prin tfA(query, 300, "SELECT * FROM room WHERE dormitoryCat = "%s"", dormitoryCat);if(mysql_query (&this->my, query) != NULL)StringCchPrintfA(errMsg, 300,"获取寝室信息错误:%sn",mysql_error(&am

13、p;this->my);return FALSE;MYSQL_RES * res;MYSQL_ROW row;res = mysql_use_result(&this->my);while(row = mysql_fetch_row(res) != NULL) ""Stri ngCch Prin tfA(this->dormitoryCat, 6, row0);StringCchPrintfA(this->dormitory, 3, row1);StringCchPrintfA(this->room, 4, row2); this-&g

14、t;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;栋号.寝室号. 可住人数. 当前人数 . 用水量.用电量. 水费.电费", 9, query)();else 名.所住寝室 ", 3, query)();return TRUE;LRE

15、SULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)int wmId, wmEvent;PAINTSTRUCT ps;HDC hdc;switch (message)case WM_CREATE:if(!()();栋号. 寝室号.可住人数 . 当前人数. 用水量.用电量.水费.电费", 9,= GROUP BY ") ();break;case WM_NOTIFY:LPNMITEMACTIVATE nc = (LPNMITEMACTIVATE)lParam;if(nc->

16、; = NM_RCLICK && nc->iSubItem != 0)HMENU hMenu = CreatePopupMenu();InsertMenu(hMenu, 0, MF_ENABLED, 10023, _T(" 删除 ");InsertMenu(hMenu, 0, MF_ENABLED, 10024, _T(" 详细信息 ");ClientToScreen(hWnd, &nc->ptAction);int result = TrackPopupMenu(hMenu,TPM_RETURNCMD | TPM_L

17、EFTBUTTON| TPM_NOANIMATION, nc-> + 5, nc-> + 30, 0, hWnd, NULL);if(result = 10023)wchar_t str9;ListView_GetItemText(g_hWndList, nc->iItem, 2, str, 9);int iSize;char * szMultiByte;栋号.寝室号.可住人数 .当前人数 .用水量.用电量.水费.电费",9,electricityChargeFROMroom LEFTJOIN student= GROUP BY ") (); else i

18、f(!(szMultiByte)();delete szMultiByte;break;名. 所住寝室 ", 3, "SELECT * FROM student")();delete szMultiByte;RedrawWindow(g_hWnd, NULL, NULL, RDW_INVALIDATE);break;case WM_COMMAND:wmId = LOWORD(wParam); wmEvent = HIWORD(wParam);栋号.寝室号.可住人数 . 当前人数 .用水量.用电量. 水费. 电费", 9,= GROUP BY "

19、)();RedrawWindow(g_hWnd, NULL, NULL, RDW_INVALIDATE);break;case IDC_DELETE:int itemCount;itemCount = ListView_GetItemCount(g_hWndList);for(int i = 0; i < itemCount; i+) if(ListView_GetCheckState(g_hWndList, i) wchar_t str9;ListView_GetItemText(g_hWndList, i, 2, str, 9);int iSize;char * szMultiByt

20、e;栋号.寝室号.可住人数 .当前人数 .用水量.用电量.水费.电费", 9,electricityCharge FROM room LEFT JOIN= GROUP BY ")(); else if(!(szMultiByte)();delete szMultiByte;break;名.所住寝室 ", 3, "SELECT * FROM student") ();delete szMultiByte;break;break;case IDC_DELETESOME:int itemCount;int iSize;int i = 0;while(

21、i < (itemCount =ListView_GetItemCount(g_hWndList)if(ListView_GetCheckState(g_hWndList, i) wchar_t str9;ListView_GetItemText(g_hWndList, i, 2, str, 9); char * szMultiByte;栋号.寝室号.可住人数 .当前人数.用水量.用电量.水费.电费", 9,electricityChargeFROMroom LEFTJOIN student= GROUP BY ") ();else名. 所住寝室 ", 3,

22、 "SELECT * FROM student")(); break;case IDM_ABOUT:DialogBox(g_hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd,About);break;case IDM_EXIT:DestroyWindow(g_hWndQuery);DestroyWindow(g_hWndAddStu);DestroyWindow(g_hWndAddRoom); DestroyWindow(hWnd);break; case IDM_QUERY:if(firstQuery) g_hWndQuery = Cr

23、eateDialog(g_hInst, MAKEINTRESOURCE(IDD_DLGQUERY), hWnd, Query);firstQuery = false;else ShowWindow(g_hWndQuery, SW_NORMAL);break; case IDM_ADDSTU:if(firstAddStu) g_hWndAddStu = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_STU), hWnd, AddStu);firstAddStu = false;else ShowWindow(g_hWndAddStu, SW_NORMAL);

24、break; case IDM_ADDROOM: if(firstAddRoom) g_hWndAddRoom = CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_ROOM), hWnd, AddRoom);firstAddRoom = false;elseShowWindow(g_hWndAddRoom, SW_NORMAL); break; default: return DefWindowProc(hWnd, message, wParam, lParam);break;case WM_PAINT:hdc = BeginPaint(hWnd, &

25、;ps);HFONT guiFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);SelectObject(hdc, guiFont);SetBkMode(hdc, TRANSPARENT);SendDlgItemMessage(hWnd, IDC_DELETE, WM_SETFONT, (WPARAM)guiFont, TRUE);SendDlgItemMessage(hWnd, IDC_DELETESOME, WM_SETFONT, (WPARAM)guiFont, TRUE);SendDlgItemMessage(hWnd, IDC_REFRESH

26、, WM_SETFONT,(WPARAM)guiFont, TRUE);char m6,n6; mysql_query(&, "SELECT count(dormitoryCat) FROM room"); MYSQL_RES * res;MYSQL_ROW row;res = mysql_use_result(&while(row = mysql_fetch_row(res) != NULL)StringCchPrintfA(m, 6, "%s", row0);mysql_free_result(res);mysql_query(&am

27、p;, "SELECT count(num) FROM student");res = mysql_use_result(&while(row = mysql_fetch_row(res) != NULL)StringCchPrintfA(n, 6, "%s", row0);mysql_free_result(res);char str100;StringCchPrintfA(str, 100," 宿舍信息如下 : 当前共有 %s 间寝室 , 共有 %s 名学生 ", m, n); RECT rect;= 10;= 8;= 5

28、10;= 35;DrawTextA(hdc ,str, strlen(str), &rect, DT_TOP | DT_LEFT);SetWindowText(g_hWndDelete, _T(" 删除 ");SetWindowText(g_hWndDeleteSome, _T(" 删除选中 ");SetWindowText(g_hWndRefresh, _T(" 刷新 ");EndPaint(hWnd, &ps);break;case WM_SIZE:RECT rectList;int cxClient = LOWORD(lParam);int cyClient = HIWORD(lParam);if(cxClie nt <= 420 | cyClie nt <= 300) return TRUE;GetClie ntRect(g_hWndList, & rectList);SetWi ndow Pos(g_hWndList, NULL,0, 0,cxClie nt, cyClie nt - - 80,SWP_NOMOVE);SetWi ndow Pos(g_hWndDelete, NULL,10,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论