




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型数据库课程设计中南大学课程设计题 目 大型数据库技术课程设计学生姓名 王 江 昆 指导教师 赵 明 专业班级 信息 0302班 学 号 0903030227 目 录第一章 概述 31.1 实验目的 31.2 实习要求 31.3 设计题目 31.4 实验步骤要求 41.5 设计概述 5第二章 系统需求分析及总体设计 52.1 系统需求分析 62.1.1 系统中基本数据结构的介绍 62.2 总体设计 72.2.1 程序流程图 72.2.2 功能模块介绍 7第三章 各模块详细分析及功能展示 83.1 系统中的SQL程序代码 83.2 各功能模块演示及其代码133.2.1 系统登陆界面133.2.2 学生信息查询143.2.3 插入学生信息183.2.4 修改学生信息203.2.5 删除学生机费信息213.2.6 学生特定信息查询22第四章 结束语 234.1 程序调试及异常处理234.1.1 程序调试过程234.1.2 异常处理234.2 设计心得体会23参考文献 24第一章 概述1.1 实验目的通过一个应用数据库的开发,加深对数据库设计、管理过程的理解,掌握利用数据库工具来开发一个实际的数据库应用系统。1.2 实习要求要求用C/S结构或B/S结构完成完整的应用系统,用户界面友好,操作简便,所有下面列出的功能要完成,并且要在应用程序中调用。保证数据的一致性与完整性。所要用到的应用系统环境与系统设置是实习期间的重要一环,要求同学们选择适合于自己的工具环境,在任务书下达后,第一次上机时决定好应用系统环境,考虑实验室具体情况配置好环境(由于实验室环境配置有的需要管理员权限,请同学们仔细考虑,在统一时间配置环境)。对数据库系统要求使用Oracle或SQL Server。编写课程设计说明书要求:说明书是总结性的技术文件,应全面叙述整个设计的内容及过程,发现的问题及解决方法等。 源代码和参考书目应作为说明书的附录,(要求打印)。设计说明书与上机验收是一个完整的过程,少一个环节(缺少上机验收,或设计说明书)本课程设计成绩视为不及格。1.3 设计题目:学生上机机费管理系统设计一个学生上机机费管理系统。数据库实例为Fee。有如下表格:1、学生基本信息表lab_no(上机帐号)stu_no(学号)s_name(姓名)class_no(班级编号)a01010201010101020101马磊0001a01010201020101020102李想0001a01010201030101020103占样烈0002a01010201040101020104徐海珍0003a01010201050101020105陈锋0004a01010201060101020106曹志良0003a01010201070101020107张吉会0004a01010201080101020108何波0002a01010201090101020109张强00032、学生机费信息表lab_no(上机帐号)c_fee(现有机费)mark(挂失标记)passwd(密码)a0101020101000101020101a0101020102000101020102a0101020103000101020103a0101020104000101020104a0101020105000101020105a0101020106000101020106a0101020107000101020107a0101020108000101020108a01010201090001010201093、学生机费操作记录表lab_no (上机帐号)f_fee (原有机费)oper_fee (操作额)c_fee (现有机费)oper_time (操作时间)A0101020101010102002-12-1A0101020102020202002-12-3A01010201030-10-102002-12-3A01010201040-20-202002-12-4A0101020105030302002-12-7A0101020106040402002-12-8A0101020107050502002-12-9A0101020108060602002-12-10A0101020109020202002-12-104、机费日汇总表Day_time(日期)oper_fee(操作总额)1.4 实验步骤要求1、 创建数据库实例Fee,在Fee下创建以上Tables。在创建Tables时,考虑怎样简化录入数据。2、 创建存储过程jPDispInfo,输入一个学生的学号,可得到该学生的上机帐号、学号、现有机费、密码信息。3、 创建存储过程jPDelInfo,输入一个班级编号,可以删除学生机费信息表中该班所有学生的记录,并把删除操作记录到学生机费操作记录表中。考虑使用游标。4、 创建触发器jTStuInfo,当在学生基本信息表中增加一个学生记录时,学生机费信息表中也增加一条相应记录,现有机费、挂失标记、密码可初始为0、0、null。5、 创建触发器jTFeeInfo,当在学生机费操作记录表中增加一条学生机费操作记录时,修改学生机费信息表中c_fee值,使之与学生机费操作记录表中的c_fee 值保持一致。6、 创建作业jDay_sum_job,每天晚上21:00统计当天的机费操作金额,把统计值记录到机费日汇总表中。7、 各类数据统计与查询分析。8、 结合本系统的设计过程,对用到的有关数据库的原理及开发环境、方法和手段进行总结。1.5 设计概述本数据库系统由两大部分构成:前台应用程序部分和后台数据库系统部分。根据设计要求,首先在SQL Server 2000环境下建立数据库及各个表、存储过程及触发器;其次选择合适的前台开发工具,本系统使用了Delphi 7,应用C/S结构完成应用系统,用户操作界面友好,使用简便,可以完成所有要求的功能,并且保证了数据的一致性与完整性。第二章系统需求分析及总体设计2.1 系统需求分析2.1.1 系统中基本数据结构介绍1、 创建数据库实例Fee,在Fee下创建以上Tables。在创建Tables时,考虑怎样简化录入数据。2、 创建存储过程jPDispInfo,输入一个学生的学号,可得到该学生的上机帐号、学号、现有机费、密码信息。3、 创建存储过程jPDelInfo,输入一个班级编号,可以删除学生机费信息表中该班所有学生的记录,并把删除操作记录到学生机费操作记录表中。考虑使用游标。4、 创建触发器jTStuInfo,当在学生基本信息表中增加一个学生记录时,学生机费信息表中也增加一条相应记录,现有机费、挂失标记、密码可初始为0、0、null。5、 创建触发器jTFeeInfo,当在学生机费操作记录表中增加一条学生机费操作记录时,修改学生机费信息表中c_fee值,使之与学生机费操作记录表中的c_fee 值保持一致。6、 创建作业jDay_sum_job,每天晚上21:00统计当天的机费操作金额,把统计值记录到机费日汇总表中。2.2 总体设计2.2.1程序流程图系统登陆界面进入系统退出输入密码学生信息查 询删除学生信息修改学生信 息插入学生信 息特定信息查 询2.2.2功能模块介绍本系统由5个基本模块组成,各模块结构及功能如下:1、 学生信息查询模块该模块可完成四种查询功能:对学生基本信息的查询、对学生机费信息的查询、对学生机费操作记录的查询及对机费日汇总情况的查询。在单选框中选择一种查询方式,结果便显示在屏幕上。2、 插入学生信息模块 该模块可完成两种功能:在学生基本信息表中插入一行信息、在学生机费信息表中插入一行信息。输入新的信息,完成插入后,显示插入后的相应表的信息。当选择在学生基本信息表中增加一个学生记录时学生机费信息表中也增加一条相应记录,现有机费、挂失标记、密码自动置为0、0、null。 当选择在学生机费操作记录表中增加一条学生机费操作记录时,自动修改学生机费信息表中c_fee值,使之与学生机费操作记录表中的c_fee 值保持一致。若此时在在第一个模块中查询,插入后的各表的情况便显示出来。3、 修改学生基本信息模块输入欲修改学生信息的学号,可以选择修改学生基本信息表中的姓名和班级,修改后的表显示在屏幕上。4、 按班级删除学生机费信息模块输入一个班级编号,可以删除学生机费信息表中该班所有学生的记录,并把删除操作记录到学生机费操作记录表中。5、 学生特定信息查询模块输入欲查询学生的学号,显示出该学生的上机帐号、学号、现有机费、密码信息。第三章 各模块详细分析及功能展示3.1系统中的SQL程序代码1、创建“学生基本信息”表,并添加数据 create table 学生基本信息 (上机帐号 char(15)not null, 学号 char(15)not null, 姓名 char(10), 班级编号 char(10)insert into 学生基本信息 values(a0101020101,0101020101,马磊,0001)insert into 学生基本信息 values(a0101020102,0101020102,李想,0001)insert into 学生基本信息 values(a0101020103,0101020103,占样烈,0002)insert into 学生基本信息 values(a0101020104,0101020104,徐海珍,0003)insert into 学生基本信息 values(a0101020105,0101020105,陈锋,0004)insert into 学生基本信息 values(a0101020106,0101020106,曹志良,0003)insert into 学生基本信息 values(a0101020107,0101020107,张吉会,0004)insert into 学生基本信息 values(a0101020108,0101020108,何波,0002)insert into 学生基本信息 values(a0101020109,0101020109,张强,0003)2、创建“学生机费信息”表,并添加数据create table 学生机费信息(上机帐号 char(15) not null, 现有机费 int , 挂失标记 char(10) , 密码 char (15) )insert into 学生机费信息 values(a0101020101,0,0,0101020101)insert into 学生机费信息 values(a0101020102,0,0,0101020102)insert into 学生机费信息 values(a0101020103,0,0,0101020103)insert into 学生机费信息 values(a0101020104,0,0,0101020104)insert into 学生机费信息 values(a0101020105,0,0,0101020105)insert into 学生机费信息 values(a0101020106,0,0,0101020106)insert into 学生机费信息 values(a0101020107,0,0,0101020107)insert into 学生机费信息 values(a0101020108,0,0,0101020108)insert into 学生机费信息 values(a0101020109,0,0,0101020109)3、创建“机费操作记录”表,并添加数据create table 机费操作记录 (记录编号 int not null, 上机帐号 char(15) not null, 原有机费 int, 操作额 int, 现有机费 int, 状态 char(10), 操作时间 varchar(10)insert into 机费操作记录 values(1,a0101020101,0,10,10,存在,2002-12-1)insert into 机费操作记录 values(2,a0101020102,0,20,20,存在,2002-12-3)insert into 机费操作记录 values(3,a0101020103,0,-10,-10,存在,2002-12-3)insert into 机费操作记录 values(4,a0101020104,0,10,10,存在,2002-12-4)insert into 机费操作记录 values(5,a0101020105,0,30,30,存在,2002-12-7)insert into 机费操作记录 values(6,a0101020106,0,60,60,存在,2002-12-8)insert into 机费操作记录 values(7,a0101020107,0,60,60,存在,2002-12-9)insert into 机费操作记录 values(8,a0101020108,0,50,50,存在,2002-12-10)insert into 机费操作记录 values(9,a0101020109,0,20,20,存在,2002-12-10)4、创建“机费日汇总”表,并添加数据create table 机费日汇总 (日期 varchar(10) not null, 操作总额 int )insert into 机费日汇总 values(2002-12-1,10)insert into 机费日汇总 values(2002-12-10,80)insert into 机费日汇总 values(2002-12-3,10)insert into 机费日汇总 values(2002-12-4,-20)insert into 机费日汇总 values(2002-12-7,30)insert into 机费日汇总 values(2002-12-8,40)insert into 机费日汇总 values(2002-12-9,50)5、 创建存储过程jPDispInfo,输入一个学生的学号,可得到该学生的上机帐号、学号、现有机费、密码信息:create procedure jPDispInfo Inputlab_no char(15)asselect 学生基本信息.上机帐号,学生基本信息.学号,学生机费信息.现有机费,学生机费信息.密码from 学生基本信息 join 学生机费信息 on 学生基本信息.上机帐号 = 学生机费信息.上机帐号where 学生基本信息.学号=Inputlab_noexec jPDispInfo 01010201026、创建存储过程jPDelInfo,输入一个班级编号,可以删除学生机费信息表中该班所有学生的记录,并把删除操作记录到学生机费操作记录表中。考虑使用游标:create procedure jPDelInfo Inputclass_no char(10)asdeclare studentcursor cursor forselect 上机帐号 from 学生基本信息 where 班级编号=Inputclass_noopen studentcursordeclare mylab_no char(15), maxnum int, number int, f_fee int, oper_fee int, cdate varchar(10), year varchar(4), month varchar(2), day varchar(2) fetch next from studentcursor into mylab_no while fetch_status=0begin delete from 学生机费信息 where 上机帐号=mylab_no set maxnum=(select max(记录编号) from 机费操作记录 where 上机帐号=mylab_no) set number=1+(select max(记录编号) from 机费操作记录) set f_fee=(select 现有机费 from 机费操作记录 where 记录编号=maxnum) set oper_fee=-+f_fee set year=(select year(getdate() set month=(select month(getdate() set day=(select day(getdate() select cdate=(select year+-+month+-+day) insert into 机费操作记录 values(number,mylab_no,f_fee,oper_fee,0,已删除,cdate) fetch next from studentcursor into mylab_noendclose studentcursordeallocate studentcursorselect * from 学生机费信息exec jPDelInfo 00017、 创建触发器jTStuInfo,当在学生基本信息表中增加一个学生记录时,学生机费信息表中也增加一条相应记录,现有机费、挂失标记、密码可初始为0、0、nullcreate trigger jTStuInfoon 学生基本信息for insertasdeclare lab_no char(15) set lab_no = (select 上机帐号 from inserted) insert into 学生机费信息 values(lab_no ,0,0, ) insert into 学生基本信息 values(a01010201010,01010201010,王可心,0002)8、 创建触发器jTFeeInfo,当在学生机费操作记录表中增加一条学生机费操作记录时,修改学生机费信息表中c_fee值,使之与学生机费操作记录表中的c_fee 值保持一致:create trigger jTFeeInfoon 机费操作记录for insertasdeclare c_fee int, lab_no char(15) set lab_no = (select 上机帐号 from inserted) set c_fee = (select 现有机费 from inserted) update 学生机费信息 set 现有机费=c_fee where 上机帐号=lab_no insert into 机费操作记录values(12,a0101020105,30,10,40,存在,2002-12-11)9、创建作业jDay_sum_job,每天晚上21:00统计当天的机费操作金额,把统计值记录到机费日汇总表中:declare cdate varchar(10), year varchar(4), month varchar(2), day varchar(2), total varchar(5)set year=(select year(getdate()set month=(select month(getdate()set day=(select day(getdate()set cdate=(select year+-+month+-+day)set total=(select sum(操作额) from 机费操作记录 where 操作时间=cdate)insert into 机费日汇总 values(cdate,total)3.2各功能模块演示及其代码3.2.1系统登陆界面 图3-1 本系统只供管理员登陆,登陆时需输入管理员密码,共有3次输入机会,若都不正确,系统便强制退出。3.2.2学生信息查询 图3-2 图3-3 图3-4 图3-5 如图3-2至图3-5所示,选择一种查询方式,显示出所需的信息。主要代码如下:procedure TForm3.RadioButton1Click(Sender: TObject);beginif RadioButton1.Checked thenbeginlabel1.Caption:=学生基本信息表;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 学生基本信息);ADOQuery1.Open;end;end;procedure TForm3.RadioButton2Click(Sender: TObject);beginif RadioButton2.Checked thenbeginlabel1.Caption:=学生机费信息表;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 学生机费信息);ADOQuery1.Open;end;end;procedure TForm3.RadioButton3Click(Sender: TObject);beginif RadioButton3.Checked thenbeginlabel1.Caption:=机费操作记录表;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 机费操作记录);ADOQuery1.Open;end;end;procedure TForm3.RadioButton4Click(Sender: TObject);beginif RadioButton4.Checked thenbeginlabel1.Caption:=机费日汇总表;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 机费日汇总);ADOQuery1.Open;end;end;3.2.3插入学生信息 图3-6 图3-7如图3-6、3-7所示,共有两种插入选择,该部分主要代码如下:procedure TForm3.Button1Click(Sender: TObject);beginif length(edit1.text)=0 then begin messagedlg(上机帐号不能为空!,mterror,mbOK,0); end;if length(edit1.text)=0 then begin messagedlg(学号不能为空!,mterror,mbOK,0); end;if length(edit1.text)0 then begin if length(edit2.text)0 then begin label3.Caption:=插入操作后的学生基本信息表; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add(insert into 学生基本信息 values(+Edit1.Text+,+Edit2.Text+,+Edit3.Text+,+Edit4.Text+); ADOQuery2.SQL.Add(select * from 学生基本信息); ADOQuery2.Open; end; end;end;procedure TForm3.Button7Click(Sender: TObject);beginif length(edit10.text)=0 then begin messagedlg(记录编号不能为空!,mterror,mbOK,0); end;if length(edit11.text)=0 then begin messagedlg(上机帐号不能为空!,mterror,mbOK,0); end;if length(edit10.text)0 then begin if length(edit11.text)0 then begin label3.Caption:=插入操作后的学生基机费操作记录表; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add(insert into 机费操作记录 values(+Edit10.Text+,+Edit11.Text+,+Edit12.Text+,+Edit13.Text+,+Edit14.Text+,+Edit16.Text+,+Edit15.Text+); ADOQuery2.SQL.Add(select * from 机费操作记录); ADOQuery2.Open; end; end;end;end.3.2.4 修改学生信息 图3-8如图3-8所示,输入欲修改学生的学号,显示出其原始信息,输入其新信息后,显示其修改后的信息。该部分主要代码如下:procedure TForm3.Button4Click(Sender: TObject);beginif length(edit5.text)=0 then begin messagedlg(学号不能为空!,mterror,mbOK,0); end;if length(edit5.text)0 then beginADOQuery3.Close;ADOQuery3.SQL.Clear;ADOQuery3.SQL.Add(select * from 学生基本信息 where 学号=+Edit5.Text+);ADOQuery3.Open;end;end;procedure TForm3.Button2Click(Sender: TObject);beginADOQuery4.Close;ADOQuery4.SQL.Clear;ADOQuery4.SQL.Add(update 学生基本信息 set 姓名=+Edit6.Text+ where 学号=+Edit5.Text+);ADOQuery4.SQL.Add(select * from 学生基本信息 where 学号=+Edit5.Text+);ADOQuery4.Open;end;procedure TForm3.Button3Click(Sender: TObject);beginADOQuery4.Close;ADOQuery4.SQL.Clear;ADOQuery4.SQL.Add(update 学生基本信息 set 班级编号=+Edit7.Text+ where 学号=+Edit5.Text+);ADOQuery4.SQL.Add(select * from 学生基本信息 where 学号=+Edit5.Text+);ADOQuery4.Open;end;3.2.5删除学生机费信息 图3-9 如图3-9所示,输入欲删除班级的编号,显示删除后的信息,该部分代码如下:procedure TForm3.Button5Click(Sender: TObject);beginlabel15.Caption:=删除成功!当前的学生机费信息表为;adostoredproc1.Close;adostoredproc1.Parameters.ParamByName(Inputc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国网电力空间技术有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题及答案详解(全优)
- 2025江西国控吉成物业管理有限公司招聘1人模拟试卷及1套完整答案详解
- 2025年福建福路通城乡发展集团有限公司招聘考前自测高频考点模拟试题及一套参考答案详解
- 2025春季四川达州市耀华中学教师招聘模拟试卷附答案详解(典型题)
- 2025广东惠州龙门县教育局招聘教师80人考前自测高频考点模拟试题及一套答案详解
- 2025重庆艺术大市场有限公司招聘笔试历年参考题库附带答案详解
- 2025年甘肃省平凉市崆峒区卫生健康系统临时聘用人员招聘模拟试卷及答案详解(新)
- 2025贵州贵阳市低空产业发展有限公司(第一批)招聘拟录用人员笔试历年参考题库附带答案详解
- 2025贵州毕节市农业发展集团有限公司第十三届贵州人才博览会人才引进拟聘用人员笔试历年参考题库附带答案详解
- 2025福建龙岩投资发展集团有限公司及所属企业招聘2人笔试历年参考题库附带答案详解
- 创伤记忆的集体性遗忘-洞察及研究
- 玻璃、铝板幕墙施工方案
- 2025北京高三一模数学汇编:圆锥曲线的方程章节综合
- 酒店餐饮部主管考试题库
- 产业策划投标方案(3篇)
- 2025年广西专业技术人员继续教育公需科目(一)答案
- 家校社协同育人机制的创新构建与实践探究
- 近视管理白皮书(2025)专家共识-
- 护理学基础:会阴部擦洗
- 征收置换商铺协议书
- 2025届云南省中考道德与法治试题模拟检测试题(一模)附答案
评论
0/150
提交评论