机房管理系统数据库设计.doc_第1页
机房管理系统数据库设计.doc_第2页
机房管理系统数据库设计.doc_第3页
机房管理系统数据库设计.doc_第4页
机房管理系统数据库设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

北华航天工业学院课程报告5北华航天工业学院课程设计报告(论文)课程名称:数据库原理与应用报告题目:机房管理系统数据库设计作者所在系部: 计算机科学与工程作者所在专业: 计算机科学与技术作者所在班级: B11512作者姓名:刘智星指导教师姓名: 贾振华、李建义完成时间:2013年6月28日北华航天工业学院教务处制 北华航天工业学院课程报告课程设计任务书课题名称数据库原理与应用课程设计完成时间2013.6.28指导教师 贾振华 职称 副教授 学生姓名 刘智星 班级总体设计要求B11512总体设计要求:1、明确课设任务,复习与查阅相关资料。2、根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。3、独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。5、应用程序应具有一定的实用性和健壮性。工作内容及时间进度安排第一周、周:设计动员,布置课程设计任务。第一周、周2:查阅资料,制定方案,进行程序总体设计。第一周、周3第二周2:详细设计, 系统调试。第二周、周3:整理,撰写设计报告。第二周、周3-周5:验收,提交设计报告,评定成绩。课程设计成果1、课程设计报告书一份2、源程序清单一份3、成果使用说明书一份 北华航天工业学院课程报告摘 要随着网络的飞速发展,机房的数量和功能不断增多,数据量也随之增加。同样使用者也增多,管理难度不断加大。传统的方式显然浪费了许多的人力、物力,以及资源甚至已经影响到机房的运营。机房管理系统正是一套能够合理解决、代替传统人工管理方式的管理系统,对机房、机器、使用者进行合理有效的管理及操作。本系统模拟了机房的收费、登录、下机等等的管理,提高了工作效率,节约了管理成本。关键词:机房管理 自动收费 提高效率 北华航天工业学院课程报告ABSTRACTWith the rapid development of the network, the quantity and function room increases,the amount of data increases. As the user is also increasing, the management difficultyincreasing. The traditional approach is clearly wasted a lot of manpower, materialresources, and has even affected the operating room.Computer room management system is a set of reasonable solution, managementsystem to replace the traditional manual management mode, management and operationis reasonable and effective to room, machine, user. The system simulates the room charge,login, etc. under the management, improve work efficiency, saving the cost ofmanagement.Keywords: improve the efficiency management of computer automatic tollcollection 北华航天工业学院课程报告目录数据库课程设计. 1一、系统需求分析. 1(1)信息要求:. 1(2)处理要求:. 1(3)安全性和完整性要求。. 1二、概念结构设计. 1(1)ER图. 1(2)解决命名冲突以及结构冲突设计方法. 3三、逻辑结构设计. 3四、数据库物理结构设计. 4五、数据库实施. 5(1)使用 TSQL语句实现数据库表;. 5(2)用 TSQL语句实现必要的存储过程及触发器。. 6六、数据库应用系统的实施和维护. 8(1)实现数据库的 TSQL语句;. 8(2)写出载入初始数据的 TSQL语句;. 9(3)简单阐述各模块的基本功能;. 10(4)给出该模块的设计思路,针对难点部分应该进行详细的阐述; . 11(5)按模块分析所编写的应用程序所使用的 TSQL语句;. 11七、界面实现. 11八、小结. 13九、致谢. 13十、参考文献. 14十一、附录. 15 北华航天工业学院课程报告数据库课程设计机房管理系统一、系统需求分析(1)信息要求:指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那些数据。实现机房、上机类型等基本信息的管理;实现机器信息、管理人员信息、使用者信息的管理;实现上机管理;实现收费管理;(2)处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。1. 学生用户端完成登陆功能,完成登陆记录上机时间;2. 管理员端完成各个信息的管理;创建触发器,实现下机时自动计算此次上机的时间和费用;创建存储过程统计各机房的上机时间和费用;创建存储过程统计指定时间段内各管理人员的收费合计;(3)安全性和完整性要求。建立数据库相关表之间的参照完整性约束。二、概念结构设计(1)E-R图密码管理管理员姓名管理人编号管理员primary key合计收费图 2-1.1 管理员 E-R图1 北华航天工业学院课程报告机房名称机房信息上机总时间机房号primary key上机总费用每小时费用管理人编号图 2-1.2 机房信息 E-R图密码ID使用者姓名Foreign key使用者信息总费用图 2-1.3 E-R图机房号Foreign key机器号总使用时间机器信息Primary key图 2-1.4 机器信息 E-R图机房号上机类型名称上机类型_机房primary keyprimary key图 2-1.5上机类型_机房 E-R图2 北华航天工业学院课程报告费用机器号foreign key上机时间上机总费用IDforeign key下机时间图 2-1.6 上机总费用 E-R图(2)解决命名冲突以及结构冲突设计方法相关的列名使用相同的名字,加上完整性约束。使用者信息登录上机总费用机器信息属于管理员信息管理机房信息三、逻辑结构设计(1)给出由 E-R得到的关系模型:并注明转换过程中应用的规则;(2)数据模型的优化;(3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解;(4)用户模式设计;(5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命名法;管理员信息(管理人编号,密码,管理员姓名,合计收费)3 北华航天工业学院课程报告机房信息(机房号,机房名称,每小时费用,上机总费用,上机总时间,管理人编号)机器信息(机器号,机房号)使用者信息(ID,密码,使用者姓名,总费用)上机类型_机房(机房号,上机类型名称)上机总费用(ID,机器号,上机时间,下机时间,费用)四、数据库物理结构设计管理员信息表(管理员信息)字段名称中文含义数据类型varcharvarcharvarcharint长度 完整性约束 是否主键字段说明管理人编号密码管理人编号 管理人编号202020primary key是否否否密码密码无无无管理员姓名 管理员姓名管理员姓名合计收费合计收费合计收费机房信息表(机房信息)字段名称机房号中文含义机房号数据类型char长度 完整性约束 是否主键字段说明机房号2020primary key是否否否否否机房名称机房名称char无机房名称每小时费用 每小时费用上机总时间 上机总时间上机总费用 上机总费用管理人编号 管理人编号int无无每小时费用上机总时间上机总费用管理人编号intint无Varchar20foreign key使用者信息表(使用者信息)字段名称中文含义数据类型长度 完整性约束 是否主键字段说明IDIDchar20Not null否IDPrimary key密码密码charcharInt2020无无无否否否密码使用者姓名总费用使用者姓名 使用者姓名总费用总费用机器信息表(机器信息)字段名称机器号中文含义机器号数据类型长度 完整性约束 是否主键字段说明机器号char20primary keynot null是机房号机房号char20foreign key否否机房号总使用时间 总使用时间datetime无总使用时间机房信息表(机房信息)字段名称机房号中文含义机房号数据类型char长度 完整性约束 是否主键字段说明机房号2020primary keyprimary key是否机房名称机房名称char机房名称4 北华航天工业学院课程报告机房信息表(机房信息)字段名称中文含义数据类型长度 完整性约束 是否主键字段说明使用者IDIDchar20foreign key是登录名机器号上机时间下机时间费用机器号上机时间下机时间费用chardatetimedatetimeint20foreign key否否否否本次机器号上机时间下机时间费用无无无五、数据库实施(1)使用 T-SQL语句实现数据库表;create table 管理员信息(管理人编号 varchar(20) primary key,密码 varchar(20),管理员姓名 VARCHAR(20),合计收费 INT);create table 机房信息(机房号 char(20) primary key,机房名称 CHAR (20),每小时费用 int(20),上机总时间 int,上机总费用 INT,管理人编号 varchar(20),foreign key (管理人编号) references 管理员信息(管理人编号);create table 使用者信息(ID CHAR (20) not null,密码 char(20),使用者姓名 char(20),总费用 INT,primary key(ID) ,foreign key (ID) references使用者信息(ID);create table 机器信息5 北华航天工业学院课程报告(机器号 char(20) not null,机房号 char(20),总使用时间 datetime,primary key (机器号),foreign key (机房号) references 机房信息(机房号);create table 上机类型_机房(机房号 char(20),上机类型名称 Char(20),primary key(机房号,上机类型名称),);create table 上机总费用(ID CHAR(20),机器号 Char(20),上机时间 datetime,下机时间 datetime,费用 int,foreign key(ID) references 使用者信息(ID)on update cascadeon delete no action,foreign key(机器号) references 机器信息(机器号)on update cascadeon delete no action,);(2)用 T-SQL语句实现必要的存储过程及触发器。create trigger t_上机总费用-drop trigger t_上机总费用on 上机总费用after insertasbeginupdate 管理员信息set 合计收费=合计收费+(select 每小时费用from 机房信息where 机房号=(select 机房号 from 机器信息6 北华航天工业学院课程报告where 机器号 =(select 机器号 from上机总费用where 费用=0)*(select DATEDIFF(HH,上机时间,下机时间) from 上机总费用 where 费用=0)where 管理人编号=(select 管理人编号 from 机房信息where 机房号=(select 机房号 from 机器信息where 机器号=(select 机器号 from 上机总费用where 费用=0);update 机房信息set 上机总时间=上机总时间+(select DATEDIFF(HH,上机时间,下机时间) from 上机总费用 where 费用=0),上机总费用=上机总费用+(select 每小时费用from 机房信息where 机房号=(select 机房号 from 机器信息where 机 器 号 =(select 机 器 号from 上机总费用where 费用=0)*(select DATEDIFF(HH,上机时间 ,下机时间 ) from上机总费用 where 费用=0)where 机房号=(select 机房号 from 机器信息where 机器号=(select 机器号 from 上机总费用where 费用=0);update 使用者信息set 总费用=总费用+(select 每小时费用from 机房信息where 机房号=(select 机房号 from 机器信息where 机器号=(select 机器号 from 上机总费用where 费用=0)*(select DATEDIFF(HH,上机时间,下机时间) from 上机总费用 where7 北华航天工业学院课程报告费用=0)where ID=(select ID from 上机总费用 where 费用=0);-更新使用者信息表共使用的费用update 上机总费用set 费用=(select 每小时费用from 机房信息where 机房号=(select 机房号 from 机器信息where 机器号=(select 机器号 from 上机总费用where 费用=0)*DATEDIFF(HH,上机时间,下机时间)where 费用=0;end;create procedure 时间_费用-drop procedure 时间_费用Asselect 上机总时间,上机总费用from 机房信息EXEC 时间_费用 -触发存储过程create procedure 管理人收费-drop procedure 管理人收费Asselect *from 管理员信息EXEC 管理人收费 -触发存储过程六、数据库应用系统的实施和维护(1)实现数据库的 T-SQL语句;激发存储过程EXEC 时间_费用 -触发存储过程EXEC 管理人收费 -触发存储过程激发触发器insert into 上机总费用 (ID,机器号 ,上机时间 ,下机时间 ,费用 ) values(1 号床的下铺,101,2013-11-10 12:00:00.000,2013-11-10 13:00:00.000,0);insert into 上机总费用 (ID,机器号 ,上机时间 ,下机时间 ,费用 ) values(望江明月8 北华航天工业学院课程报告,101,2013-11-10 12:00:00.000,2013-11-10 13:00:00.000,0);将存入所有的需要更新数据;以后需要查什么就可以直接查询表。(2)写出载入初始数据的 T-SQL语句;插入管理员信息数据insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values(2011001,2011001,我叫 2011001,0);insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values(2011002,2011002,我叫 2011002,0);insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values(2011003,2011003,我叫 2011003,0);insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values(2011004,2011004,我叫 2011004,0);插入机房信息数据insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 )values(01,软件实验室 1,2,0,0,2011001);insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 )values(02,软件实验室 2,2,0,0,2011001);insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 )values(03,软件实验室 3,2,0,0,2011002);insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 )values(04,嵌入式实验室,0,0,0,2011003);insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 )values(05,网络实验室 1,3,0,0,2011004);insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 )values(06,网络实验室 2,3,0,0,2011004);插入机器信息数据insert into 机器信息(机器号,机房号) values(101,01);insert into 机器信息(机器号,机房号) values(102,01);insert into 机器信息(机器号,机房号) values(201,02);insert into 机器信息(机器号,机房号) values(202,02);insert into 机器信息(机器号,机房号) values(203,02);insert into 机器信息(机器号,机房号) values(204,02);insert into 机器信息(机器号,机房号) values(301,03);insert into 机器信息(机器号,机房号) values(302,03);insert into 机器信息(机器号,机房号) values(303,03);insert into 机器信息(机器号,机房号) values(304,03);9 北华航天工业学院课程报告insert into 机器信息(机器号,机房号) values(401,04);insert into 机器信息(机器号,机房号) values(402,04);insert into 机器信息(机器号,机房号) values(403,04);insert into 机器信息(机器号,机房号) values(404,04);insert into 机器信息(机器号,机房号) values(501,05);insert into 机器信息(机器号,机房号) values(502,05);insert into 机器信息(机器号,机房号) values(503,05);insert into 机器信息(机器号,机房号) values(504,05);insert into 机器信息(机器号,机房号) values(505,05);insert into 机器信息(机器号,机房号) values(601,06);insert into 机器信息(机器号,机房号) values(602,06);insert into 机器信息(机器号,机房号) values(603,06);insert into 机器信息(机器号,机房号) values(604,06);insert into 机器信息(机器号,机房号) values(605,06);insert into 机器信息(机器号,机房号) values(607,06);insert into 机器信息(机器号,机房号) values(608,06);insert into 机器信息(机器号,机房号) values(609,06);插入使用者信息数据insert into 使用者信息(ID,密码,使用者姓名,总费用) values(1 号床的下铺,025951,刘智星,0);insert into 使用者信息(ID,密码,使用者姓名,总费用) values(我的首级,025951,刘天啊,0);insert into 使用者信息(ID,密码,使用者姓名,总费用) values(望江明月,025951,刘星星,0);插入上机类型_机房数据insert into 上机类型_机房 values(01,C语言程序设计);insert into 上机类型_机房 values(01,C+程序设计);insert into 上机类型_机房 values(01,C#高级编程);insert into 上机类型_机房 values(01,数据库系统概论);insert into 上机类型_机房 values(02,数据库系统概论);insert into 上机类型_机房 values(02,交换机原理);insert into 上机类型_机房 values(03,C+程序设计);insert into 上机类型_机房 values(04,云计算服务);insert into 上机类型_机房 values(05,网页设计);insert into 上机类型_机房 values(05,软件开发);insert into 上机类型_机房 values(06,计算机组成原理);(3)简单阐述各模块的基本功能;触发器作用:更新表:管理员信息(合计收费);机房信息(上机总时间,上机总费用);使用者信息(总费用);上机总费用(费用)以便后续查询。10 北华航天工业学院课程报告触发器实现两项数据的查询功能。(4)给出该模块的设计思路,针对难点部分应该进行详细的阐述;触发器中需要先更改管理员信息,机房信息,使用者信息;再更新上机总费用以免计费重复。(5)按模块分析所编写的应用程序所使用的 T-SQL语句;通过插入激发触发器完成更新其他表的操作。七、界面实现图 7-1运行后界面图 7-2登录后11 北华航天工业学院课程报告图 7-3输入用户名密码后登录图 7-4点击退出后图 7-5点击注册 点击添加12 北华航天工业学院课程报告图 7-6管理员登录后八、小结工作内容:首先进行需求分析,之后实现数据库,在实现数据库中由于需求分析做得不到位。导致多次更改表。工作量数据库的工作量较小,java的工作量比较大。数据库和 java界面连接出现问题通过询问同学解决了 配置问题。实现了数据库和界面的连接。系统的不足之处在于界面太过简单,应该美化一下。界面简明以操作,不以出错。九、致谢通过本次课程设计,知道了 java 和数据库的连接方式方法。在此感谢老师的悉心讲解和指导。我尝试如何设计数据库出现了不少错误多谢老师指证。13 北华航天工业学院课程报告十、参考文献赵斯思编著.Visual Basic数据库编程技术与实例.人民邮电出版社, 2004杨志姝,李光海编著. SQL应用与开发标准教程. 北京:清华大学出版社, 2006李爱武编著. SQL Server2000 数据库系统实训教程. 北京:北京邮电大学出版社,2004冯凤娟编著. SQL与PL/SQL程序设计基础. 北京:清华大学出版社, 2002王越, 刘加伶, 李粱编著. 大型数据库技术及应用. 重庆:重庆大学出版社,2001林桂花编著. 数据库应用技术. 大连:大连理工大学出版社,2003王珊, 萨诗煊. 数据库系统概论 M. 北京:高等教育出版社, 2006.5张化祥, 陆晶. Java程序设计 M. 北京:清华大学出版社, 2010.10李兴华. Java开发实战经典 M. 北京:清华大学出版社, 2009.8贾振华.Java语言程序设计(第二版) 中国水利水电出版社 2010.1月14 北华航天工业学院课程报告十一、附录Java界面部分代码连接数据库:import java.sql.*;public class Link_SQL Connection conn;Statement stm;PreparedStatement pstm;ResultSet rs;public Link_SQL() throws Exceptiontry Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(jdbc:odbc:lzx,); catch (ClassNotFoundException e) / TODO Autogenerated catch blocke.printStackTrace();/功能管理员用户界面:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class G_mainFrame extends JFrame implements ActionListenerJButton btnaddG=new JButton(添加管理员);JButton updateG=new JButton(修改管理员信息);JButton select_M_and_T=new JButton(查看机房收费和时长);JButton how_maney=new JButton(查看各管理员收费);JButton addJF=new JButton(添加机房信息);JButton selectJF=new JButton(查看机房信息);JButton updateJF=new JButton(更改机房信息);JButton addJQ=new JButton(添加机器信息);JButton selectJQ=new JButton(查看机器信息);JButton updateJQ=new JButton(更改机器信息);15 北华航天工业学院课程报告JButton addSJType=new JButton(添加上机类型信息);JButton selectSJType=new JButton(查看上机类型信息);JButton updateSJType=new JButton(更改上机类型信息);JButton addSJType_JF=new JButton(添加上机类型_机房信息);JButton selectSJType_JF=new JButton(查看上机类型_机房信息);JButton updateSJType_JF=new JButton(更改上机类型_机房信息);JButton index=new JButton(首页);JButton btnexit=new JButton(退出);JPanel p1=new JPanel(new FlowLayout(FlowLayout.LEFT);JPanel p2=new JPanel(new FlowLayout(FlowLayout.LEFT);JPanel p3=new JPanel(new FlowLayout(FlowLayout.LEFT);JPanel p4=new JPanel(new FlowLayout(FlowLayout.LEFT);JPanel p5=new JPanel(new FlowLayout(FlowLayout.LEFT);JPanel p6=new JPanel(new FlowLayout(FlowLayout.LEFT);JPanel p7=new JPanel(new FlowLayout(FlowLayout.LEFT);G_mainFrame()super(管理员你好欢迎登陆计算机管理系统);Container contentpane=getContentPane();contentpane.setLayout(new GridLayout(6,1);btnaddG.addActionListener(this);updateG.addActionListener(this);p1.add(btnaddG);p1.add(updateG);contentpane.add(p1);select_M_and_T.addActionListener(this);how_maney.addActionListener(this);p2.add(select_M_and_T);p2.add(how_maney);contentpane.add(p2);addJF.addActionListener(this);selectJF.addActionListener(this);updateJF.addActionListener(this);p3.add(addJF);p3.add(selectJF);p3.add(updateJF);contentpane.add(p3);addJQ.addActionListener(this);selectJQ.addActionListener(this);updateJQ.addActionListener(this);p4.add(addJQ);p4.add(selectJQ);p4.add(updateJQ);contentpane.add(p4);addSJType.addActionListener(this);selectSJType.addActionListener(this);updateSJType.addActionListener(this);p5.add(add

温馨提示

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

评论

0/150

提交评论