数据库课程设计交通运输学院课程设计.docx
- 文档编号:24910336
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:15
- 大小:20.08KB
数据库课程设计交通运输学院课程设计.docx
《数据库课程设计交通运输学院课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计交通运输学院课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
数据库课程设计交通运输学院课程设计
引言
当今时代是一个信息种类多元化,信息量巨大化,传播速度急速化的时代。
要积极面临这种现状,就要能快速的处理各种信息,从而引申出人们对信息处理工具的高度关注。
而各种电子设备,尤其是电脑等硬件设备的出现,给人们的日常生活带来极大的变化。
随着计算机网络的出现,更使得人们的信息处理方式发生了革命性的改变。
毫无疑问,计算机以及由计算机组成的计算机网络已经成为当今时代最佳的信息处理工具。
掌握这个工具对于科研和学习有着重要意义。
鉴于这种情况,现在许多学校都提供了微机室,让在校学生可以很好的学习计算机操作,并使用计算机辅助学习。
对于同学们来说,这本来是个很好的机会,但有个别同学未能珍惜这个机会,他们没有好好利用这些微机进行学习和研究,而是在机房内打游戏或者闲聊等,甚至有人利用电脑进行违反法规的活动。
这些同学不但浪费了自身的学习机会,同时也浪费了学校的宝贵资源,而且给周围的同学造成了很不好的影响。
因此,如何对机房进行有效的管理成为了一个不容忽视的问题。
对于机房管理,一方面应该设立专门的管理员,拟定详细的机房使用规则;另一方面,也应该配备强大的管理软件,辅助管理员进行管理。
因此,如何设计和实现机房监控系统成为了本次课题的研究问题。
项目开发为学校的业务管理人员服务,已明确用户有:
在就读学生。
机房上机管理信息系统是一套专门针对学校计算机机房管理的高科技产品。
机房管理信息系统是现代企业和学校机房管理工作不可缺少的一部分,是适应现代企业、学校机房制度要求、推动机房管理走向科学化、规范化的必要条件。
机房管理分析的是机房上机具体的工作过程,分析“做什么”应“如何做”的问题。
主要调查了解用户的需求,尽量满足并使用户和设计系统的人员意见相一致。
第一章
1.1设计目的
根据所学的数据库原理和程序设计的知识,能够正对一个学院机房管理系统,进行数据库系统的需求分析,结构概念设计、逻辑结构设计、物理结构设计、数据录入及测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库应用系统的目的。
1.2背景
随着科技的发展,网络已经成为我们生活必不可少的一部分。
目前,大多数高校都以建立起了自己的机房系统来供老师和学生上机使用。
如何充分发挥校园计算机机房的效能,开放机房,最大限度的为机房管理服务,既要提高机房的科学管理水平,又要减轻机房管理员工作,使机房管理更加规范、有序。
使用计算机可以高速,快捷地完成以上工作。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,从而提高了管理效率和水平。
机房管理信息系统以计算机为工具,通过对上机管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事其它管理政策的研究实施,机房上机计划的制定执行监督检查,从而全面提高管理质量。
机房上机管理系统是一个实时人机系统,它要求要有较高的可靠性、可适应性、扩充能力。
1.3内容及主要任务
1、在SQLServer上建立相应的数据库、表、视图等;
2、根据题目的要求写查询、存储过程、触发器等;
3、根据所学语言,编写程序,并开发前台界面,能够实现对后台数据库的增、删、改、查等基本功能。
1.3意义
学院机房管理系统可以提高机房使用效率,净化上机环境,杜绝个别用户使用机房内电脑做违规的事情。
方便学生上机下机,使机房管理系统更加人性化。
第二章详细设计
2.1创建数据库
createdatabaseCMS
onprimary
(
name='CMS_data',
filename='C:
\project\CMS_data.mdf',
size=10mb,
maxsize=20mb,
filegrowth=10%
)
logon
(
name='CMS1_log',
filename='C:
\project\CMS_log.ldf',
size=2mb,
maxsize=5mb,
filegrowth=10%
)
Go
2.2创建表
1、Room表
useCMS
go
createtableRoom
(
rnointnotnullprimarykey,
numberintnotnull,
managervarchar(150)notnull
)
Go
2、Computer表
useCMS
go
createtableComputer
(
cnochar(4)notnullprimarykey,
rnointnotnull,
brandvarchar(150)
)
go
3、Users表
useCMS
go
createtableUsers
(
unochar(9)notnullprimarykey,
unamevarchar(150)notnull,
sexbit,
classvarchar(150)notnull,
passwordchar(9)notnull,
balancedecimal(18,2)notnull
)
Go
4、Information表
useCMS
go
createtableInformation
(
unochar(9)notnull,
cnochar(4)notnull,
rnointnotnull,
unamevarchar(150)notnull,
classvarchar(150)notnull,
usemoneydecimal(18,2)notnull,
begintimechar(18)notnull,
endtimechar(18)notnull,
usetimeintnotnull,
pricedecimal(18,2)notnull
)
go
第三章代码编写
3.1创建视图
useCMS
ifexists(select*fromsysobjectswherename='view_Cinfo')
dropviewview_Cinfo
go
createviewview_Cinfo
as
select用户名=users.uname,学号=users.uno,上机时间=usetime,上机费用=usemoney,余额=balance
fromInformation,Users
whereInformation.uno=Users.uno
go
3.2查询数据
3.2.1各机房的使用情况
useCMS
selectcount(*)as人数fromInformation
whererno=1
selectcount(*)as人数fromInformation
whererno=2
3.2.2在某个时间段机房使用情况
useCMS
selectcount(*)as人数fromInformation
where((begintimebetween'2014/7/0612:
00:
00'and'2014/7/0612:
30:
00')and(endtimebetween'2014/7/0612:
30:
00'and'2014/7/0614:
30:
00'))
3.3创建存储过程和触发器
3.3.1创建触发器自动修改该生的账户余额
createtriggeru_money
onInformation
forinsert
as
updateUsers
setbalance=balance-(selectusemoneyfrominserted)
whereuno=(selectunofrominserted)
go
selectuno学号,balance余额
fromUsers
whereuno='201200801'
insertintoInformation(uno,cno,rno,uname,class,begintime,endtime,usetime,price,usemoney)
values('201200801','1001',1,'丁一','信息管理与信息系统','2014/7/0612:
00:
00','2014/7/0612:
30:
00',30,0.02,0.60)
selectuno学号,balance余额
fromUsers
whereuno='201200801'
3.3.2创建存储过程实现各机房上机费用的统计
createprocsun_money
as
declare@unochar(9)
selectuno,usetime,price,usemoney
frominformation
updateInformationsetusemoney=usetime*price
whereuno=@uno
第四章软件测试
4.1学生登录界面
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceWindowsFormsApplication1
{
publicpartialclass用户登录:
Form
{
public用户登录()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringuname=textBox1.Text;
stringpassword=textBox2.Text;
stringconnString="DataSource=Srv2005;InitialCatalog=CMS;UserID=sa;Password=123";
SqlConnectionconnection=newSqlConnection(connString);
stringsql=String.Format("selectcount(*)from[Users]wheretextBox1='{0}'andtextBox2='{1}'",uname,password);
try
{
connection.Open();
SqlCommandcommand=newSqlCommand(sql,connection);
intnum=(int)command.ExecuteScalar();
connection.Close();
if(num>0)
{
MessageBox.Show("欢迎进入软件学院机房管理系统","登陆成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("您输入的用户名和密码错误","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"操作数据库出错",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
finally
{
connection.Close();
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();
}
}
}
4.2学生上机界面
此模块要求学生进入学生界面后,能够随时查询自己的上机情况:
上机时间,已上机时长;可以进行下机后自动关机功能,在学生下机后,自动更新机器状态表中的机器状态,下机时间等信息。
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceWindowsFormsApplication2
{
publicpartialclass学生:
Form
{
publicstaticDateTimet1;
publicstringuser;
public学生()
{
InitializeComponent();
}
privateDialogResultshow()
{
信息frm=new信息();
frm.time=t1.ToString();
frm.user=this.user;
DateTimet2=DateTime.Now;
frm.used=showtime(t1,t2);
returnfrm.ShowDialog();
}
publicstaticstringshowtime(DateTimet1,DateTimet2)
{
ints=(t2-t1).Seconds;
inth=(t2-t1).Hours;
intm=(t2-t1).Minutes;
returnh+"小时"+m+"分"+s+"秒";
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
DialogResultr=MessageBox.Show("确定下机后自动关机","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
if(r==DialogResult.OK)
{
if(this.show()==DialogResult.OK)
{
stringconnString="DataSource=Srv2005;InitialCatalog=CMS;UserID=sa;Password=123";
SqlConnectionconnection=newSqlConnection(connString);
connection.Open();
SqlCommandcommand=newSqlCommand(sql,connection);
command.ExecuteNonQuery();
connection.Close();
this.Close();
Application.Exit();
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
关于frm=new关于();
frm.Show();
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
this.show();
}
}
}
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceWindowsFormsApplication3
{
publicpartialclass信息:
Form
{
publicstringuser;
publicstringtime;
publicstringused;
public信息()
{
InitializeComponent();
}
privatevoid信息Load(objectsender,EventArgse)
{
labuser.Text=user;
labUsed.Text=used;
labTime.Text=time;
}
privatevoidbtnok_Click(objectsender,EventArgse)
{
this.DialogResult=DialogResult.OK;
this.Close();
}
privatevoidtimer1_Tick(objectsender,EventArgse)
{
labUsed.Text=学生.showtime(学生.t1,DateTime.Now);
}
}
}
总结
通过课程设计的独立完成和亲身实践,对专业知识有了深入的学习,把学过的知识融会贯通,又学到了以前没有学到的知识,培养了我独立思考问题的能力。
这既丰富了我的知识,又拓宽了我的视野,为我以后进入社会、参加工作架起了一座桥梁。
这次课程设计我的体会是只学了书本上的知识是远远不够的,一定要参与实践,做到学之为用这是最重要的。
经过这么长时间的设计和开发,系统基本开发完毕。
其功能基本符合用户需求,能够完成学校机房系统基本管理功能。
在这次课程设计中让我从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识。
由于课程设计时间不长所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,有一些功能还没有实现,用户的权限问题,出错处理不够报表的实现等多方面问题。
这些都有待进一步改善,只要学习就会有更多的问题,有更多的难点,但也会有收获。
通过这次课程设计让我感受到相互合作、相互帮助的作用。
让我学习到了合作团结的精神。
同时我也要学校为我们提供这次学习的机会,让我学习到了很多有用的知识。
参考文献
[1]沃森.内格尔等.C#入门经典(第5版).北京:
清华大学出版社,2010.12
[2]尹志宇.郭晴.数据库原理与应用教程.北京:
清华大学出版社,2010.5忽略此处..
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 交通运输 学院