数据库课程设计学生公寓管理系统.doc

上传人:文库蛋蛋多 文档编号:2395629 上传时间:2023-02-17 格式:DOC 页数:25 大小:850KB
返回 下载 相关 举报
数据库课程设计学生公寓管理系统.doc_第1页
第1页 / 共25页
数据库课程设计学生公寓管理系统.doc_第2页
第2页 / 共25页
数据库课程设计学生公寓管理系统.doc_第3页
第3页 / 共25页
数据库课程设计学生公寓管理系统.doc_第4页
第4页 / 共25页
数据库课程设计学生公寓管理系统.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《数据库课程设计学生公寓管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计学生公寓管理系统.doc(25页珍藏版)》请在三一办公上搜索。

1、一课程设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。通过本实验达到以下目的:(1) 培养学生具有C/S和B/S/S模式的数据库应用软件系统的设计和开发能力。(2) 熟练掌握一种数据库系统(如SQL SERVER)的使用。(3) 熟练掌握一种数据库应用软件开发工具(如POWERBUILDER 、ASP、VB.NET)的使用。(4) 通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。二课程设计任务与要求:1、任务:学生公寓管理系统问题描述:目

2、前,校园内的学生住宿已经逐步开始进行公寓化管理。在管理过程中,入住学生信息、来访登记等各种信息内容复杂、数据量大,传统的手工记录方式很难完成快速、准确的查询、统计等管理工作。开发学生公寓管理系统,利用计算机实现管理的信息化,不仅可以节省人力、物力资源,提高管理人员的工作效率,同时也加强了信息的安全性和可靠性。2、设计要求:(1) 录入公寓各学生的基本情况。(2) 全面查询学生的基本情况。(3) 对学生离校进行处理。(4) 楼房信息的录入(5) 房间信息查询(6) 增加用户(7) 员工处理(8) 修改用户密码(9) 楼房信息的录入(10) 友好的操作界面, 以及简单快速的操作(11)设计一完整的

3、数据库。要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。三课程设计说明书1 需求分析(1)数据需求图书馆管理信息系统需要完成功能主要有:学生公寓管理系统主要划分了管理员和学生两种权限,实现的功能有学生信息的管理,宿舍信息的管理,宿舍的分配功能等。系统具有界面友好,操作简便的特性。在做系统前对学生公寓需要实现的功能做了详细的调查,再做简单的分类,该系统主要包括学生管理,房间管理,楼宇管理,系统管理这些功能模块。此系统仍然不全面,还有许多地方没考虑到,希望在以后做系统能有所提高。(2)事务需求

4、在学生管理部分,要求:a. 可以录入公寓各学生的基本情况。b. 全面查询学生的基本情况。c. 对学生离校进行处理。在房间管理部分,要求:a. 查询房间的信息b. 查询房间是否存在在系统管理部分,要求:a. 增加用户b. 修改用户密码c. 员工处理d. 楼房信息的录入(3)关系模式(1) 用户(用户编号,用户密码,用户权限)(2)学生(学号,姓名,性别,系别,班级,寝室,入学日期,毕业学校,政治面貌,出生年月,家庭住址,联系方式)(3) 员工(员工号,姓名,性别,房号,职务,家庭住址,联系方式,备注) (4) 房间(楼号,楼层号,房间号,建筑时间,总金额)(5) 离校(学号,姓名,原因)(4)数

5、据流程图(DFD)学生公寓管理系统用户用户房间信息房间信息顶层 P2住房信息P1登陆F1F2F3F4T2T1P3管理F5一层P4选择查询P2.1直接查询P2.2多条件查询F3F3.1F3.2T1F4二层P5选择P3.1房间管理P3.2员工管理P3.3学生管理P3.4用户管理T1T3T4T2F2F5.1F5.2F5.1F5.4F1用户F2管理员F3,F4房间信息F5管理信息T1房间表T2用户表T3员工表T4学生表数据存储数据处理数据流数据字典 为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以

6、后的实现提供供有关元素一致性定义和详细的描述:数据流字典数据流名称:用户登录 标志符:F1别名:无来源:用户去向:房间查询处理过程(P2)三层数据组成:用户名称数据流名称:管理员登录(P3) 标志符:F2别名:无来源:管理员去向:信息处理过程数据组成:管理员名称数据流名称:住房信息查询 标志符:F3别名:无来源:用户,管理员去向:查询处理过程(P4)数据组成:楼房号+楼层数+房间号 数据流名称:直接查询信息 标志符:F3.1别名:无来源:用户,管理员去向: 查询处理过程(P2)数据组成:楼房号+楼层数+房间号数据流名称:多条件查询信息 标志符:F3.2别名:无来源:用户,管理员去向: 查询处理

7、过程(P2)数据组成:楼房号+楼层数+房间号数据流名称:系统管理 标志符:F2别名:无来源:管理员去向:各种信息查询处理过程(P2)数据组成:各种管理信息F5.1-F5.4数据流名称:直接查询信息 标志符:F3.1别名:无来源:用户,管理员去向: 查询处理过程(P2)数据组成:楼房号+楼层数+房间号数据存储字典:数据存储名称:房间表 标志符:T1描述:房间的详细信息流入数据流:F5.1涉及处理:P3.1,P1.2,P2.1,P2.2数据组成:楼房号+楼层数+房间号数据存储名称:用户表 标志符:T2描述:用户的详细信息流入数据流:F5.4涉及处理:P3.42数据组成:用户名称数据存储名称:员工表

8、 标志符:T3描述:员工的详细信息流入数据流:F5.2涉及处理:P3. 2数据组成:员工号+员工姓名数据存储名称:学生表 标志符:T4描述:学生的详细信息流入数据流:F5.3涉及处理:P3. 3数据组成:学生学号+学生姓名数据处理字典:数据处理名称:用户登录 标志符:P1处理定义:登录系统 激发条件:所输入的用户名称和密码正确输入:F1,F2输出:F3,F5数据处理名称:用户查询 标志符:P2处理定义:查询住房信息激发条件:所输入房间信息找到输入:F3输出:F4数据处理名称:各种管理 标志符:P3处理定义:管理各种信息激发条件:所输入信息找到输入:F5输出:T1数据处理名称:查询 标志符:P4

9、处理定义:选择查询房间信息激发条件:所输入信息找到输入:F3输出:F4数据处理名称:系统管理 标志符:P5处理定义:管理系统和各种信息激发条件:选择管理子功能输入:F2输出:F5.1-F5.4数据处理名称:管理选择 标志符:P4.1处理定义:选择管理功能 激发条件:选择输入:F2输出:T1-T4数据处理名称:房间管理 标志符:P4.2处理定义:房间是否有人住 激发条件:输入入住学生信息输入:F5.1输出:T1数据处理名称:员工管理 标志符:P4.2处理定义:员工个人信息 激发条件:输入员工信息输入:F5.2输出:T3数据处理名称:学生管理 标志符:P4.2处理定义:是否要住入房间 激发条件:输

10、入入住学生信息输入:F5.3输出:T4数据处理名称:用户管理 标志符:P4.2处理定义:用户信息 激发条件:是否还管理信息输入:F5.4输出:T22 概要设计(1)实体图及E-R图根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。学生宿舍管理系统可以划分的实体有:管理员信息实体、用户信息实体、楼房状况实体、学生离校处理实体,学生信息实体、员工信息实体。用E-R图一一描述这些实体。1、用户信息实体图: 用户用户名称用户密码权限等级 图2-1用户实体及其属性2、楼房实体图:楼房建筑时间总金额房间数楼层数楼房号图2-2楼房实体及其属性3、离校信息员实体图学号姓名离校离校图2-

11、4离校信息图2-3离校实体及其属性图4、员工实体图:房号员工姓名性别楼层职位家庭住址员工号联系方式图2-4员工及其属性图5、学生信息实体图:联系方式姓名学生学号毕业学校联系方式入学日期家庭住址寝室号班级专业性别出生年月日图2-5 学生信息实体及其属性图6、总的信息实体E-R图:员工获得房间管理管理查询创建注册查询释放获得决定学生用户管理员员离校111mnnmnmnnnm创建创建管理m1111n1mn1111图2-6总的信息实体E-R图3逻辑设计表3-1client 用户信息表表中列名数据类型可否为空说明idvarcharNot null(主键)用户名pwdvarcharNull密码permis

12、ssionvarcharnull权限表3-2employee 员工信息表格表中列名数据类型可否为空说明EnoVarcharNot null(主键)员工号EnameVarcharNull姓名EsexVarcharNull性别EhouseidVarcharNull房号EpositionVarcharNull职务EaddressVarcharNull家庭住址EcontactVarcharNull联系方式EnoteVarcharNull备注表3-3student学生信息表表中列名数据类型可否为空说明SnoVarcharNot null(主键)学号SnameVarcharNull姓名SsexVarcha

13、rNull性别SsubjectVarcharNull系别SclassVarcharNull班级SrnumVarcharNull房号SdateDatetimeNull入学日期SschoolVarcharNull毕业学校SstatusVarcharNull政治面貌SbornDatetimeNull出生日期SaddressVarcharNull家庭住址scontactVarcharNull联系方式Z 表3-4stuleave 学生离校信息表表中列名数据类型可否为空说明idVarcharNot null(主键)学号SnameVarcharNull姓名SreasonvarcharNull原因表3-5ho

14、use 房间信息表表中列名数据类型可否为空说明HnumVarcharNot null(主键)楼号HfloorVarcharNull楼层号HrumVarcharNull房间号HtimedatetimeNull建筑时间HmoneyvarcharNull总金额4 关系图:图4-1数据库存表关系图5 物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。(1)建立索引:(1)建立索引:对stude

15、nt表在sno属性列上建立聚集索引,在ssex属性列上建立非聚集索引。对house表在hnum上建立聚集索引,在hfloor、hrum上建立非聚集索引。对employee表在eno上建立聚集索引,在esex,ehouseid ,eposition上建立非聚集索引对client表在id上建立聚集索引,在permission上建立非聚集索引。对stuleave表在sid列上建立聚集索引, 在sreason上建立非聚集索引 (2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 将日志文件和数据库对象(

16、表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。6数据库建立(1)创建数据库create database mainon(name=数据名, filename=数据路径,size=3,maxsize=4,filegrowth=10%)log on(name=aa_log, filename=e:sqlaa_log.ldf,size=1,maxsize=2,filegrowth=10%)use maingo(2)宿舍信息表建立create table house(hnum varchar(50) primary key,楼号 hfloor varc

17、har(50),-楼层号 hrum varchar(50),-房间号hmoney datetime,-总金额 htext varchar(50),)(3)学生信息表的建立create table student(sno varchar(50) primary key,sname varchar(50) not null,ssex varchar(50),ssubject varchar(50),sclass varchar(50),srnum varchar(50),-寝室sdate varchar(50),sschool varchar(50),-毕业学校sstatus varchar(50

18、),-政治面貌sborn datetime,saddress char(50),scontact varchar(50),snote varchar(50),)go(4)管理员表的建立create table employee(eno varchar(8)primary key,ename varchar(4)not null,esex char(2),ehouseid varchar(8),-楼层eposition varchar(8),-职位eaddress varchar(20),econtact varchar(20),enote varchar(20),);(5)用户表的建立crea

19、te table client(id varchar(9) primary key,pwd varchar(6),permission varchar(4),)(6)学生离校表的建立create table stuleave(sid varchar(8)primary key,sname varchar(4)not null,sreason varchar(20),(7)索引的创建use maingocreate index house _index on house(hfloor)create index house _index on house(hrum)create index stu

20、dent_index on student(ssex)create index employee_index on employee (esex)create index employee_index on employee (ehouseid )create index employee_index on employee (eposition)create index client_index on client(permission)create index stuleave index on stuleave(sreason)7 数据初始化将用户加入表client中insert int

21、o client (id,pwd,permission)values(admin,admin, admin) insert into client (id,pwd,permission)values(stu,stu, stu)insert into client (id,pwd,permission)values( user ,user, user) insert into client (id,pwd,permission)values(wang,wang, wang) insert into client (id,pwd,permission)values(lu, lu, lu) 将管理员

22、加入到employeeInsert into employee(eno,ename,esex,ehouseid,eposition,eaddress,econtact,enote)values(1001,admin, 男, 19101,管理员, 驻马店,12345678974, 员工信息)Insert into employee(eno,ename,esex,ehouseid,eposition,eaddress,econtact,enote)values(1002,stu, 男, 19102,管理员, 驻马店,12345678975, 员工信息)Insert into employee(en

23、o,ename,esex,ehouseid,eposition,eaddress,econtact,enote)values(1003,user, 男, 19103,管理员, 驻马店,123456789746, 员工信息)Insert into employee(eno,ename,esex,ehouseid,eposition,eaddress,econtact,enote)values(1004,wang, 男, 19104,用户, 驻马店,12345678977, 员工信息)Insert into employee(eno,ename,esex,ehouseid,eposition,ea

24、ddress,econtact,enote)values(1005,lu, 男, 19105,用户 , 驻马店,12345678978, 员工信息)将宿舍信息加入到houseInsert into admin(hnum ,hfloor ,hrum,htext)values(19,1, 101, 公寓信息)Insert into admin(hnum ,hfloor ,hrum,htext)values(19,5, 502, 公寓信息)Insert into admin(hnum ,hfloor ,hrum,htext)values(19,4, 401, 公寓信息)Insert into adm

25、in(hnum ,hfloor ,hrum,htext)values(19,2, 202, 公寓信息)Insert into admin(hnum ,hfloor ,hrum,htext)values(19,1, 102, 公寓信息)将学生信息加入到studentInsert into(sno,sname,ssex,ssubject,sclass,srnum,sdate,sschool,sstatus,sborn,saddress,scontact,snote)nalues(1001,张三, 男, 计算机科学技术, 1003zb,19235, 2010, 黄淮学院, 团员,1988, 驻马店,

26、 16812346578, 学生信息)Insert into(sno,sname,ssex,ssubject,sclass,srnum,sdate,sschool,sstatus,sborn,saddress,scontact,snote)nalues(1002,张四, 男, 计算机科学技术, 1001zb,19227, 2010, 黄淮学院, 团员,1988, 驻马店, 16812346574, 学生信息)Insert into(sno,sname,ssex,ssubject,sclass,srnum,sdate,sschool,sstatus,sborn,saddress,scontact

27、,snote)nalues(1003,李丽, 女, 计算机科学技术, 1003zb,16235, 2010, 黄淮学院, 团员,1988, 驻马店, 16812346571, 学生信息)Insert into(sno,sname,ssex,ssubject,sclass,srnum,sdate,sschool,sstatus,sborn,saddress,scontact,snote)nalues(1004,陈佳, 女, 计算机科学技术, 1003zb,16235, 2010, 黄淮学院, 党员,1988, 驻马店, 16812346572, 学生信息)Insert into(sno,snam

28、e,ssex,ssubject,sclass,srnum,sdate,sschool,sstatus,sborn,saddress,scontact,snote)nalues(1005,林城, 男, 计算机科学技术, 1003zb,17235, 2010, 黄淮学院, 团员,1988, 驻马店, 16812346573, 学生信息)将学生离校信息加入到stuleaveInsert into(sid,sname,sreason)values(1006,佳佳, 休学)Insert into(sid,sname,sreason)values(1007,理理, 休学)Insert into(sid,s

29、name,sreason)values(1008,程和, 休学)Insert into(sid,sname,sreason)values(1009,美美, 休学)Insert into(sid,sname,sreason)values(1010,天天, 休学)8 数据库用户权限管理该系统设置三种类型的用户(1) 管理员(admin)可以管理学生信息、宿舍入住信息、用户。(2) 用户 (user) : 可以查询自己的信息资料。(3) 员工(employee):可以查询宿舍住宿情况,本身的信息。9、建立触发器,存储过程当学生离校的时候,删除他的信息create trigger stu_del on

30、 stuleavefor insertas begindeclare x varchar,y varchar;declare a varchar,b varchar;select x=sid,y=sname from inserted;select a=sno,b=sname from student;if (x=a) and (y=b) delete from student where sno=a;end;10 系统实现(1) 系统功能模块图:系统功能模块图如图10-1学生公寓管理系统登陆子系统查询子系统房间信息子系统管理子系统直接查询入住房间退订房间员工管理用户管理学生管理多条件查询图1

31、0-1系统功能模块图四个子系统的功能如下:登录子系统: 可以实现图书管理员和超级管理员登录管理查询子系统:主要用于用户查询学生宿舍信息,其中直接查询包括按宿舍编号直接查询,按学号查询。多条件查询可以按用户的要求选取所需要的信息。房间信息子系统: 主要由房间入住信息。管理子系统:由管理员管理系统,分别是学生管理子系统、员工管理子系统、用户管理。(2) Jsp前台开发平台的选择:(3) Jsp与数据库的连接Jsp通过JDBC、ODBC接口访问数据库1 JDBC、ODBC接口Jsp应用程序通过JDBC API(java.sql)与数据库连接,而实际的动作则是由JDBC驱动程序管理器(JDBC Dri

32、ver Manager)通过JDBC驱动程序与数据库系统进行连接。ODBC(Open DataBase Connectivity)即开放式的接口,它为用户提供了一个访问关系数据库的标准接口,对于不同的数据库它提供了一套统一的API;可以使应用程序通过API访问任何提供了ODBC驱动程序的数据库,而目前所有的关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问的业界标准,并得到了广泛应用。JDBC-ODBC桥是一种JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现的。利用JDBC-ODBC桥可以使程序开发人员不需要学习更多的知识就可以编写JDBC应用程序,并能够充分利用

33、现有的ODBC数据源。JDBC-ODBC桥驱动程序可以使JDBC能够访问几乎所有类型的数据库。2 利用jsp应用程序访问SQL Server2005数据库(1)建立数据库启动“Microsoft SQL Server2000”,打开“企业管理器”在“数据库”中建立名为“mydata”的数据库,并在其下制作名为“wuzi”的数据表。 (2)建立(ODBC)数据源和驱动程序在控制面板上通过“管理工具”的“数据源(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“SQL Server”并单击“完成”按钮,在出现的“建立新的

34、数据源到SQL Server”对话框中的“数据源名称”项填写“wzgl”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录ID的Windows NT验证”项目,单击“下一步”按钮,把默认的数据库改为“mydata”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序的建立。3 编写代码package ;import java.sql.*;public class DataBaseConnection private final String DBDRIVER=com.microsoft.sqlserver.j

35、dbc.SQLServerDriver;private final String DBURL=jdbc:sqlserver:/localhost:1433; DatabaseName=main;private final String DBUSER=sa;private final String DBPWD=123456;private Connection conn=null;public DataBaseConnection()try Class.forName(DBDRIVER);this.conn = DriverManager.getConnection(DBURL, DBUSER,

36、 DBPWD); catch (Exception e) / TODO: handle exceptionpublic Connection getConnection()return this.conn;public void close()try this.conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();(4) 学生公寓管理模块的实现学生公寓管理系统登录界面如图10-2 图10-2学生公寓管理系统登录界面图学生公寓管理系统主界面如图10-3图10-3学生公寓管理系统主界面下面给出图书的查询、插入、更新模块的代码:房间查找界面如图10-4 图10-4查找界面房间查找代码如下: base href= My JSP roomRearch.jsp starting page !- 房间信息查询 楼房号:楼房号在1到100之间 楼层号:楼层最高只有5层 房间号:input

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号