数据库课程设计报告-通用成绩管理系统.doc

上传人:小小飞 文档编号:3277301 上传时间:2019-08-07 格式:DOC 页数:18 大小:2.44MB
返回 下载 相关 举报
数据库课程设计报告-通用成绩管理系统.doc_第1页
第1页 / 共18页
数据库课程设计报告-通用成绩管理系统.doc_第2页
第2页 / 共18页
数据库课程设计报告-通用成绩管理系统.doc_第3页
第3页 / 共18页
数据库课程设计报告-通用成绩管理系统.doc_第4页
第4页 / 共18页
数据库课程设计报告-通用成绩管理系统.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数据库课程设计报告-通用成绩管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告-通用成绩管理系统.doc(18页珍藏版)》请在三一文库上搜索。

1、江 南 大 学 太 湖 学 院数 据 库 课 程 设 计 报 告课题 通用成绩管理系统 设 计 者 专 业 计算机科学与技术软件 班 级 计科 74 学 号 同组成员名单 指导老师 评定成绩 2010年 1 月 8 日 目录1、 概述2、 系统需求分析3、 功能需求分析31系统功能的描述32系统功能模块示意图4、 系统设计5、6、1 概述本系统是成绩查询管理系统,主要用于学生成绩的管理,包括成绩录入、查找、添加、删除。学生通用成绩管理是学校管理中异常重要的一个环节,它的实现关系到学校办学整体效率的高低,运用通用成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理, 也让同学们能在任

2、何时候都能查阅到有关自己学科成绩有关的信息,也有利于让他们充分了解有关自己在大学期间所有课程的学习情况,提高查询速度。学生成绩管理系统是系科综合管理信息系统中很重要的组成部分。课题设计内容:按学院的“机电系”“文法系”“经管系”三个部分设计,先要求用户密码登陆界面,能实施各系的成绩录入和查询操作,并且可以管理账户。其中系统包含学生的基本信息,各课程的成绩,也可以通过输入学号查出总成绩和平均成绩,便于学校管理,也方便查询与修改。关键使用工具与设备:一台计算机,要装有数据库软件Microsoft SQL server 或者access,用编程工具Delphi或者vb,以及画图软件visio,美工软

3、件photoshop。通过SQL server创建数据库与Delphi所实现的各界面功能相连接结合实现成绩管理系统的各操作功能。四、技术难点:掌握Delphi这个开发工具是重点也是难点,要熟悉开发工具的各函数、事件等,更要熟悉其环境并且熟练地与数据库连接。这样才能顺利的进行开发。2 系统需求分析成绩管理系统是面向各校的管理系统,其目的是提高学校对学生的科学化管理。经过充分的系统调研,发现本系统主要应包括系统管理、成绩管理、成绩查询管理,进一步还发现各需管理的信息有:添加或者删除用户,密码修改,各系学生基本信息,学生选课信息等。本系统的具体要求为:(1) 能管理学生的基本成绩信息,可录入,修改,

4、查询。(2) 通过使用计算机能方便地维护各信息表。(3) 方便同时查出总成绩和平均成绩,实现表的统计功能。(4) 需要时能即时进行输出与打印。(5) 系统具有操作方便、简捷等特点。 2.1 本系统需要管理的实体信息(1)、账户管理:用户名、密码(2)、系别:机电系、文法系、经管系(3)、成绩录入:机电系成绩录入、文法系成绩录入、经管系成绩录入(4)、成绩查询:机电系成绩查询、文法系成绩查询、经管系成绩查询(5)、学生基本信息:学号、姓名、性别、年龄、籍贯、原高中(6)、学生选课信息:学号、课程号、成绩(7)、成绩查询:总成绩、平均成绩2.2 本系统要管理的实体联系信息(1 ) 学生登陆系统时要

5、输入用户名和密码(2)学生的选课情况,信息要根据不同情况而添加、删除、修改信息,还有可以做密码修改等。3功能需求分析31系统功能的描述经过调研分析,通用成绩管理系统共可分为系统对用户的添加,删除,修改,各系成绩的录入,各系成绩的分类查询,查询学生的基本信息,选课情况。系统的维护用于用户的维护及用户权限的设置等。 32系统功能模块示意图4系统设计41数据概念结构设计411数据流程图412 E-R图4.2数据库逻辑结构设计421数据库逻辑结构设计学生信息(编号,名称,地址,电话,E-mail,拼音码);客户信息(编号,名称,地址,电话,E-mail,拼音码);车型信息(编号,名称,厂商,拼音码);

6、进货单(编号,日期,厂商,单价,数量,是否入库,车型,采购员);销售单(编号,日期,客户,单价,数量,车型,销售员);车辆信息(编号,进货单编号,销售单编号,是否销售,车型);用户清单(用户编号,用户名,密码);权限清单(用户编号,权限名称);422数据标的设计5常用的几个语句及基本语法及功能ADOQuery的用法:ADOQuery为数据库控件,在本系统中主要用来执行查询操作adoquery1.Close ; /关闭ADOQuery控件adoquery1.SQL.Clear ; /SQL语句清空adoquery1.SQL.Add(select max(编号) 最大编号 from 车辆信息);/

7、向ADO中加入SQL语句adoquery1.Open ; /打开ADO控件执行查询max:=adoquery1.fieldbyname(最大编号).AsInteger ; /将查到记录字段名为引号中字符串的值以整形赋给max变量另外,向ADO中加入SQL语句也可用 adoquery1.sql.text:=select;如果要将结果赋给字符串变量,最后一句max:=adoquery1.fieldbyname(最大编号).AsString ;ADOCommand的用法:ADOCommand也是数据库控件,在本系统中主要用来执行插入修改删除等更新操作sql1:=insert into 车辆信息(编号

8、,进货单编号,是否销售,车型) values(;sql2:=inttostr(n)+,+edit3.Text+,否,+ carstyle+); /将SQL语句赋给String类型的变量;adocommand1.CommandText :=sql1+sql2; /将SQL语句写入ADOCommandadocommand1.Execute ; /执行SQL语句ADOTable的用法:ADOTable也是数据库控件,在本系统中用于直接与表相关联,通过dbedit,dbcombobox等数据库编辑框和数据库组合框,直接将用户修改的结果写入数据库有时需要将ADOQuery的查询结果写入ADOTable中

9、,这是就可用一下语句adoquery1.Close ;adoquery1.SQL.Clear ;adoquery1.SQL.Add(select * from 进货单 where 是否入库=否);adoquery1.Open ;adotable1.Clone(adoquery1,ltUnspecified);动态向TreeView中添加节点varpnode:TTreeNode; /声明节点变量node,current:integer;if a=1 then/a的值在登录窗口中决定,若登录窗口中查询到用于具有相应权限,a的值为1 begin pnode:=treeview1.Itemscurre

10、nt; treeview1.Items.AddChild(pnode,厂商信息); node:=node+1; end ;动态创建MDI子窗体varcomp:Tcomp; /comp为变量类型,Tcomp为窗体类型if fcaption=厂商信息 then begin comp:=tcomp.create(application); /创建子窗体 comp.caption:=厂商信息; /为子窗体设置标题 end;基本语法Var 变量名:类型名 /声明变量变量名:=变量值 /为变量赋值对象。Clear /清空对象的值。号后面为对象的属性名或方法名BeginEnd内是一个语句块在public P

11、ublic declarations end; 中声明的是工程级全局变量在implementation后名声明的是窗体级全局变量在函数或过程内部声明的是局部变量若要引用其他窗体的变量或对象,在过程之前加上uses 窗体名,并用窗体名。对象名引用。6系统界面及主要程序61创建公用模块本系统有一个公用模块,FormData,内有一个Connection控件,用于连接数据库,若数据库改变,只要修改Connection控件的Connection属性即可。另外,所有的窗体都可以被其他窗体引用。62登录界面及主界面uses FormData,FormMain;procedure Tlogin.Button

12、1Click(Sender: TObject);varnum,user,pass:string;begin user:=edit1.Text ; pass:=edit2.Text ; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 用户编号 from 用户清单 where 用户名=+user+ and 密码=+pass+; adoquery1.Open ; num:=adoquery1.fieldbyname(用户编号).AsString ; if num then begin main.a:=0;main.

13、b:=0;main.c:=0; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+and 权限名称=厂商信息; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.a:=1; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+

14、and 权限名称=车型信息; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.b:=1; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+and 权限名称=客户信息; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.c:=1; adoquery1.Close ; adoquery

15、1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+and 权限名称=车辆采购; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.d:=1; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+and 权限名称=车辆入库; adoquery1.Open ; if adoquer

16、y1.FieldByName(权限名称).AsString then main.e:=1; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+and 权限名称=车辆销售; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.f:=1; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权

17、限名称 from 权限清单 where 用户编号=+num+and 权限名称=查询统计; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.g:=1; adoquery1.Close ; adoquery1.SQL.Clear ; adoquery1.SQL.Text:=select 权限名称 from 权限清单 where 用户编号=+num+and 权限名称=系统维护; adoquery1.Open ; if adoquery1.FieldByName(权限名称).AsString then main.h:

18、=1; main.use:=user; main.password:=pass; main.Show ; login.Hide ; end else begin showMessage(用户名或密码不正确!); endend;procedure Tlogin.Edit2KeyPress(Sender: TObject; var Key: Char);begin if key=#13 then button1.Click ;end;end.uses FormComp,FormCust,FormCarInfo,FormPlan,FormIn,FormSell,FormStatistics,Form

19、Sysset,FormPassch;procedure Tmain.FormShow(Sender: TObject);varpnode:TTreeNode;node,current:integer;beginnode:=0;current:=node; if a=1 then begin pnode:=treeview1.Itemscurrent; treeview1.Items.AddChild(pnode,厂商信息); node:=node+1; end ; if b=1 then begin pnode:=treeview1.Itemscurrent; treeview1.Items.

20、AddChild(pnode,车型信息); node:=node+1; end; if c=1 then begin pnode:=treeview1.Itemscurrent; treeview1.Items.AddChild(pnode,客户信息); node:=node+1; end; current:=node+1; if d=1 then begin pnode:=treeview1.Itemscurrent; treeview1.Items.AddChild(pnode,车辆采购); node:=node+1; end; if e=1 then begin pnode:=treev

21、iew1.Itemscurrent; treeview1.Items.AddChild(pnode,车辆入库); node:=node+1; end; current:=node+2; if f=1 then begin pnode:=treeview1.Itemscurrent; treeview1.Items.AddChild(pnode,车辆销售); node:=node+1; end; current:=node+3; if g=1 then begin pnode:=treeview1.Itemscurrent; treeview1.Items.AddChild(pnode,查询统计

22、); node:=node+1; end; current:=node+5; if h=1 then begin pnode:=treeview1.Itemscurrent; treeview1.items.insert(pnode,系统维护); node:=node+1; end;end;procedure Tmain.TreeView1Click(Sender: TObject);varcomp:Tcomp;cust:TCust;carinfo:Tcarinfo;plan:Tplan;fin:Tfin;sell:Tsell;statistics:Tstatistics;sysset:Tsy

23、sset;passch:Tpassch;flag,j:integer;fcaption:string;begin fcaption:=treeview1.Selected.Text ;begin flag:=0; for j:=0 to main.MDIChildCount do begin if main.MDIChildrenj.Caption =fcaption then begin mdichildrenj.Show; flag:=1; break; end; end; if flag=0 then begin if fcaption=厂商信息 then begin comp:=tco

24、mp.create(application); comp.caption:=厂商信息; end; if fcaption=客户信息then begin cust:=tcust.Create(application); cust.Caption:=客户信息; end; if fcaption=车型信息then begin carinfo:=Tcarinfo.Create(application); carinfo.Caption:=车型信息; end; if fcaption=车辆采购 then begin plan:=Tplan.Create(application); plan.Captio

25、n:=车辆采购; end; if fcaption=车辆入库 then begin fin:=Tfin.Create(application); fin.Caption :=车辆入库; end; if fcaption=车辆销售 then begin sell:=Tsell.Create(application); sell.Caption :=车辆销售; end; if fcaption=查询统计 then begin statistics:=Tstatistics.Create(application); statistics.Caption :=查询统计; end; if fcaptio

26、n=系统维护 then begin sysset:=Tsysset.Create(application); sysset.Caption :=系统维护; end; if fcaption=修改密码 then begin passch:=Tpassch.Create(application); passch.Caption :=修改密码; end; if fcaption=退出 then close; end;end;end;end.63基础信息管理64进货管理65汽车销售66收益统计67系统维护68无权限用户界面此时只有修改密码是可用的。7参考文献数据库原理及应用 钱雪忠,黄建华Delphi

27、数据库开发经典案例解析 王冕,万科8总结通过这次的课程设计,首先对Delphi这门语言有了更深的认识,新学习了Treeview等控件。本来只是打算用菜单做,但之前也用Delphi开发了一个校医院系统,觉得应该学点新的东西,所以用的是Treeview,但在Treeview在实现上显然没有菜单方便,所以主窗体的代码很长,因为需要动态创建树的节点,或许有更好的方法,但我目前想到的只有这个。另外,对数据库也有了更深的认识,进一步掌握了数据库的应用,对SQL语句也有了更好的应用。初步掌握了开发一个数据处理系统的方法。当然,本系统也还存在缺点。例如数据库设计不是很好,因为开始只考虑到数据的低冗余和实行批量

28、采购和销售,忽视了查询上的方便性,所以在后来的收益统计可能效率不是很高,好在本系统主要是用来处理数据的,统计用的相对还是少数,最多效率低点,影响应该不是很大。在此我要感谢钱雪忠老师在数据库设计方面给出的建议,因为曾经一度在这个问题上很迷惑,后经钱老师指点终于找到方向。还有就是要感谢互联网,在控件的应用和程序的语法方面给了我很大帮助。参考文献规范: (1)连续出版物序号主要责任者文献题名J 刊名,出版年份,卷号(期号) :起止页码 例如: 1毛峡,丁玉宽图像的情感特征分析及其和谐感评价J电子学报, 2001,29(12A) :1923-19272 Mao Xia, et al. Affectiv

29、e Property of Image and Fractal Dimension J. Chaos, Solitons & FractalsUK,2003:V15 905-910(2)专著序号主要责任者文献题名M出版地:出版者,出版年:起止页码 例如:3 刘国钧,王连成图书馆史研究M 北京:高等教育出版社,1979:15-18 ,31 (3)会议论文集 序号主要责任者文献题名A主编论文集名C出版地:出版者,出版年:起止页码例如:4 毛 峡绘画的音乐表现A 中国人工智能学会2001年全国学术年会论文集C 北京:北京邮电大学出版社, 2001:739-7405 Mao Xia, et al An

30、alysis of Affective Characteristics and Evaluation of Harmonious Feeling of Image Based on 1/f Fluctuation TheoryA International Conference on Industrial & Engineering Applications of Artificial Intelligence & Expert Systems (IEA/AIE ) C Austr alia:Springer Publishing House,2002:17-19(4)学位论文序号主要责任文献

31、题名D 保存地:保存单位,年份 例如:6 张和生地质力学系统理论D 太原:太原理工大学,1998(5)报告序号主要责任文献题名R 报告地:报告会主办单位,年份例如:7 冯西桥核反应堆压力容器的LBB分析R 北京:清华大学核能技术设计研究院,1997(6)专利文献 序号专利所有者专利题名P 专利国别:专利号,发布日期例如:8 姜锡洲一种温热外敷药制备方案P 中国专利:881056078,1983-08-12(7)国际、国家标准 序号标准代号,标准名称S 出版地:出版者,出版年例如:9 GB/T 161591996,汉语拼音正词法基本规则S 北京:中国标准出版社,1996(8)报纸文章 序号主要责任者文献题名N 报纸名,出版日期(版次)例如:10 毛 峡情感工学破解舒服之迷N 光明日报,2000-4-17(B1) (9)电子文献序号主要责任者电子文献题名文献类型/载体类型 电子文献的出版或可获得地址,发表或更新的期/引用日期(任选)例如:21王明亮中国学术期刊标准化数据库系统工程的EB/OL http:/ 10-2.html,1998-08-16/1998-10-04

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1