教务管理系统数据库设计.docx

上传人:罗晋 文档编号:11757126 上传时间:2021-09-04 格式:DOCX 页数:54 大小:151.80KB
返回 下载 相关 举报
教务管理系统数据库设计.docx_第1页
第1页 / 共54页
教务管理系统数据库设计.docx_第2页
第2页 / 共54页
教务管理系统数据库设计.docx_第3页
第3页 / 共54页
教务管理系统数据库设计.docx_第4页
第4页 / 共54页
教务管理系统数据库设计.docx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《教务管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《教务管理系统数据库设计.docx(54页珍藏版)》请在三一文库上搜索。

1、教务管理系统数据库(SQL Server 2008 + delphi7)实验报告班级:姓名:学号:指导教师:完成日期:目录第一章系统概述 3第二章系统分析 3第三章系统设计 4第四章系统功能 9第五章系统实现 9第六章源程序附录 15第七章参考文献 73第一章 系统概述学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件, 是典型的管理信息系统( Management Information System) 。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生

2、提供成绩跟课程方面的查询。本系统是以 delphi7 编辑用户界面,以 SQLserver 2008 为数据源后台而成的学生信息管理系统。 本系统是以计算机为基础, 由人和计算机结合的对信息进行收集、 存储、 维护、 加工、传递和使用的一种管理系统,其目的是使人流、物流、资金流和信息流处于最佳状态,以最少的资源投入获得最佳的综合效益。本系统主要包括学生信息管理模块、教师信息管理模块、课程信息管理模块、成绩信息管理模块和系统维护模块等部分。在校务管理中,为有关部门提供 完整、综合、共享的信息,对于学校的教育管理、教务和科研等都有很大的实用价值第二章 系统分析1、问题定义随着科学技术的不断提高,计

3、算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的学生信息管理平台。 为了更好地管理学生和教职工的资料文档, 我开发一个软件工程学生信息管理系统。 教师和学生可以应用该系统实现如下功能:1、可随时查询出不同系及各系教师与各系学生情况,系、教师与学生各反映如下情况:系:系号、系名、系负责人、专业数等。教师:工号、姓名、性别、职称、工龄、出生年月、基本工资等。学生:学号、姓名、性别、年龄等。2、为简单起见教师与学生区分系别,而课程不分系,课程需反映如下信息:课程代号、课程名、课时数

4、、必修课、学分。3、学生入学时新生需录入登记,登记后即可选课学习课程( 一学期约 20 学分 ) 。4、一门只由一位教师上,一位教师可上多门课,满30 人才开课。5、学生选每门课有个成绩,若成绩不及格则补考后还需记录补考成绩。1)在某数据库管理系统中建立各关系模式对应的库表,并设计所需的视图、索引等。2) 能对各库表进行输入、修改、删除、添加、查询、打印等基本操作。3) 新生入校登记后可即时选课,老生每学期开始前可选课或作选课调整,一般要选共约 20 学 分的若干门课程。4) 能明细查询某学生的选课情况及某课程的选修学生情况。5) 能统计查询出某学生的成绩单( 包括总成绩、 平均成绩、 不及格

5、门数等) 及某门课的选课人数、最高分、最低分、平均成绩等统计信息。6) 能分析出某教师的教学质量情况( 可根据该教师所任所有课优良数平均超过一定百分比来粗略评定 ) 。7) 其他你认为子系统应有的查询、统计功能。8) 要求子系统设计得界面友好,功能选择方便合理,并适当考虑子系统在其安全性、完整性、备份、恢复等方面的功能要求2、可行性分析1项目目标:学生和老师可以方便的进行各自所需要的信息管理活动,同时可以查询和修改各自的信息,以便学校管理。2 .运行环境:(1)以Windows98以上/ME/2000/XP作为学生选课管理系统的后台操作系统。(2)前台开发程序为 DELPHI, SQL Ser

6、ver 2008 。(3)后台数据 SQL Server 2008 。(4)主要硬件设备:PC机一台。3 .技术可行性:本系统仅仅简单的实现了教务管理系统的基本功能和需求,具有一定的实用性但真正意义上的大型信息管理存储还是不太现实。对于大量信息的维护也不具有很强的稳定性。但是操作简单,适合小型的学生信息管理,维护也更为方便。技术要求也不是很高,有一点 delphi和SQL server技术基础就行了。4 .总体分析:成本低,出错率低,使学校实现现代化网络教学管理。第三章系统设计根据该系统的需求,数据库采用Microsoft SQL Server 2008,它完全设和本系统的工作需求,它所支持的

7、字段数据类型包括数值、字符、日期时间及二进制和图片等类型,是当前 的主流数据库产品之一。它还具有性能稳定、便于操作维护和具有较好的安全可靠性等特点, 是作为服务器端数据库平台的理想选择。根据系统的需求,系统用到的各种数据表如下图所示。学生信息表 教师信息表 课程信息表管理信息表教师课程表成绩信息表表与表之间的关系如下图所示:E-R关系图第四章系统功能卜;*匕0应询此模块为学妫。学生可以海看成绩信息、网上选课(在管理员开通选课前提下)诸多功能看个人信息、修改密码:2.职工模块况查看个责和期术成绩诸多功能操作模块。型信息、开通、0理M可以须此模块实现查看管理员擀息、段曲密日、邂课、杳家修改教什出I

8、查看、j第五章 系统实现1. 主界面2. 登陆界面3. 学生界面( 1)查看个人信息( 2)修改密码( 3)成绩查询( 4)课程查询( 5)网上选课选课提示选课界面已选提示成功提示删除提示4. 教职工界面( 1) 个人信息(同学生界面)( 2) 修改密码(同学生界面)( 3) 课程查询(同学生界面)( 4) 成绩评定5. 管理员界面( 1) 个人信息(同学生界面)( 2) 修改密码(同学生界面)( 3) 学生查询管理( 4) 学生信息修改( 5) 教师信息查询( 6) 教师信息修改( 7) 课程信息查询( 8) 课程信息修改( 9) 成绩查询第六章 源程序附录unit Unit1;interf

9、aceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls,Unit2, jpeg, DB, ADODB;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;Panel1: TPanel;Image1: TImage;Label1: TLabel;Label2: TLabel;ADOConnection1: TADOConnection;Timer1: TTimer;pr

10、ocedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Timer1Timer(Sender: TObject);private Private declarations public Public declarations end;varForm1: TForm1;implementation$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);beginForm2.ManualDock(Form1.Panel1,ni

11、l,alNone);Form2.Show;Panel1.Visible :=True;end;procedure TForm1.Button2Click(Sender: TObject);beginif MessageDlg( 确 认 退 出 整 个 系 统 吗 ? ,mtConfirmation,mbYes,mbNo,0)=mrYes thenbeginApplication.Terminate;end;end;procedure TForm1.Timer1Timer(Sender: TObject);beginLabel2.Caption:=DateTimeToStr(Now);end;e

12、nd.unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, DB, ADODB,Unit3;typeTForm2 = class(TForm)Label1: TLabel;Label2: TLabel;Label3: TLabel;ComboBox1: TComboBox;Edit1: TEdit;Edit2: TEdit;Button1: TButton;Button2: TButton;ADOConnection

13、1: TADOConnection;ADOQuery1: TADOQuery;Label4: TLabel;Button3: TButton;Label5: TLabel;Edit3: TEdit;procedure ComboBox1Change(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure Button3Click(Sender: TObject);

14、procedure FormShow(Sender: TObject);private Private declarations public Public declarations end;varForm2: TForm2;implementationusesUnit1,Unit8,Unit12;$R *.dfmprocedure TForm2.ComboBox1Change(Sender: TObject); begincase ComboBox1.ItemIndex of0:Label2.Caption:=账号;1:Label2.Caption:=工号;elseLabel2.Captio

15、n:=学号;end;end;procedure TForm2.Button1Click(Sender: TObject);beginif Edit3.Text=Label4.Caption thenbegincase ComboBox1.ItemIndex of0:beginADOQuery1.Close;管理信息表where 账号 =+Edit1.Text+ AND=+ComboBox1.Text+;ADOQuery1.Open;if ADOQuery1.RecordCount=0 then beginShowMessage( end else beginForm12.Show;Form2.

16、Close;end;end;1:beginADOQuery1.Close;管理信息表where 账号 =+Edit1.Text+and=+ComboBox1.Text+;ADOQuery1.Open;if ADOQuery1.RecordCount=0 then beginShowMessage( end else beginForm8.Show;Form2.Close; end;end;2:beginADOQuery1.Close;管理信息表where 账号 =+Edit1.Text+and=+ComboBox1.Text+;ADOQuery1.Open;if ADOQuery1.Recor

17、dCount=0 then beginShowMessage( end else密码 =+Edit2.Text+ AND 用户名用户名或密码错误,请重新登录 );密码 =+Edit2.Text+and 用户名用户名或密码错误,请重新登录 );密码 =+Edit2.Text+and 用户名用户名或密码错误,请重新登陆);beginForm3.Show;Form2.Close;end;end;elseShowMessage( 请选择身份 );end;endelseShowMessage( 验证码错误 );end;procedure TForm2.Button2Click(Sender: TObje

18、ct);beginForm2.Close;end;procedure TForm2.FormCreate(Sender: TObject);beginRandomize;end;procedure TForm2.Button3Click(Sender: TObject); vari,j:Integer;c:Char;beginLabel4.Caption:=; /这个是标签for j:=0 to 3 do / 随机生成 4 个 a 到 z 的字符串 begini:=Random(24);c:=chr(ord(a) + i);Label4.Caption:=Label4.Caption + c;

19、end;beginRandomize;end;end;procedure TForm2.FormShow(Sender: TObject);vari,j:Integer;c:Char;beginLabel4.Caption:=; /这个是标签for j:=0 to 3 do / 随机生成 4 个 a 到 z 的字符串 begini:=Random(24);c:=chr(ord(a) + i);Label4.Caption:=Label4.Caption + c;end;end;end.unit Unit3;interfaceusesWindows, Messages, SysUtils, Va

20、riants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg, DB, ADODB, DBCtrls;typeTForm3 = class(TForm)Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;Panel1: TPanel;Image1: TImage;DBText1: TDBText;DataSource1: TDataSource;ADOQuery1: TADOQuery;ADOConnection1:

21、TADOConnection;Label1: TLabel;Timer1: TTimer;Label2: TLabel;procedure Button1Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Image1Click(Sender: TObject);procedure Timer1Timer(Sender: TObject);pr

22、ivate Private declarations public Public declarations end;varForm3: TForm3;implementationusesUnit4,Unit5,Unit6,Unit7,Unit19,Unit2;$R *.dfmprocedure TForm3.Button1Click(Sender: TObject); beginForm5.Close;Form6.Close;Form7.Close;Form4.ManualDock(Form3.Panel1,nil,alNone);Form4.Show;Panel1.Visible:=True

23、;end;procedure TForm3.Button3Click(Sender: TObject); beginForm4.Close;Form6.Close;Form7.Close;Form5.ManualDock(Form3.Panel1,nil,alNone);Form5.Show;Panel1.Visible:=True;end;procedure TForm3.Button2Click(Sender: TObject);beginForm4.Close;Form5.Close;Form7.Close;Form6.ManualDock(Form3.Panel1,nil,alNone

24、);Form6.Show;Panel1.Visible:=True;end;procedure TForm3.Button4Click(Sender: TObject); begin已开通选课 thenbeginForm4.Close;Form5.Close;Form6.Close;Form7.ManualDock(Form3.Panel1,nil,alNone);Form7.Show;Panel1.Visible:=True;endelseShowMessage( 选课系统已关闭! );end;procedure TForm3.Image1Click(Sender: TObject); be

25、ginADOQuery1.Close;姓名 from 学生信息表where 学号ADOQuery1.Open;end;procedure TForm3.Timer1Timer(Sender: TObject);beginLabel1.Caption:=DateTimeToStr(Now);end;end.unit Unit4;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;typ

26、eTForm4 = class(TForm)DBGrid1: TDBGrid;ADOQuery1: TADOQuery;DataSource1: TDataSource;Button1: TButton;Button2: TButton;Button3: TButton;GroupBox1: TGroupBox;Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;Edit1: TEdit;Edit2: TEdit;Edit3: TEdit;Edit4: TEdit;Label5: TLabel;Button4: TButton

27、;Button5: TButton;Button6: TButton;procedure Button1Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure GroupBox1Click(Sender: TObject);procedure Button6Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Button5Click(

28、Sender: TObject);private Private declarations public Public declarations end;varForm4: TForm4;implementationusesUnit2;$R *.dfmprocedure TForm4.Button1Click(Sender: TObject);beginGroupBox1.Visible:=False;DBGrid1.Visible:=True;ADOQuery1.Close;begin学生信息表where 学号ADOQuery1.Open;end;end;procedure TForm4.B

29、utton3Click(Sender: TObject);beginADOQuery1.Close;DBGrid1.Visible:=False;GroupBox1.Visible:=False;end;procedure TForm4.Button2Click(Sender: TObject);beginDBGrid1.Visible:=False;GroupBox1.Visible:=True;end;procedure TForm4.GroupBox1Click(Sender: TObject); vari,j:Integer;c:Char;beginLabel5.Caption:=;

30、/这个是标签for j:=0 to 3 do / 随机生成 4 个 a 到 z 的字符串 begini:=Random(24);c:=chr(ord(a) + i);Label5.Caption:=Label5.Caption + c;end;beginRandomize;end;end;procedure TForm4.Button6Click(Sender: TObject);beginGroupBox1.Visible:=False;end;procedure TForm4.Button4Click(Sender: TObject);vari,j:Integer;c:Char;begin

31、Label5.Caption:=; / 这个是标签for j:=0 to 3 do / 随机生成 4 个 a 到 z 的字符串begini:=Random(24);c:=chr(ord(a) + i);Label5.Caption:=Label5.Caption + c;end;beginRandomize;end;end;procedure TForm4.Button5Click(Sender: TObject);beginif MessageDlg( 确认修改吗? ,mtConfirmation,mbYes,mbNO,0)=mrYes then beginif Edit4.Text=Lab

32、el5.Caption thenbeginADOQuery1.Close;管理信息表where 账号密码 =+Edit1.Text+;ADOQuery1.Open;if ADOQuery1.RecordCount=1 then beginif Edit2.Text=Edit3.Text thenbeginADOQuery1.Close;管理信息表SET 密码 =:A where 账号ADOQuery1.ExecSQL;ShowMessage(修改成功 );end elseShowMessage(新密码不一致)endelseShowMessage(原密码错误 );endelseShowMessa

33、ge( 验证码错误 );end;Edit1.Text:=;Edit2.Text:=;Edit3.Text:=;Edit4.Text:=;end;end.unit Unit5;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids;typeTForm5 = class(TForm)DBGrid1: TDBGrid;Button1: TButton;Button2: TButton;ADOQ

34、uery1: TADOQuery;DataSource1: TDataSource;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);private Private declarations public Public declarations end;varForm5: TForm5;implementationusesUnit2;$R *.dfmprocedure TForm5.Button1Click(Sender: TObject);beginDBGrid1.Visible:=

35、True;ADOQuery1.Close;begin成绩信息表where 学号ADOQuery1.Open;end;end;procedure TForm5.Button2Click(Sender: TObject);beginADOQuery1.Close;DBGrid1.Visible:=False;end;end.unit Unit6;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, Grids, DBG

36、rids;typeTForm6 = class(TForm)DBGrid1: TDBGrid;Button1: TButton;Button2: TButton;ADOQuery1: TADOQuery;DataSource1: TDataSource;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);private Private declarations public Public declarations end;varForm6: TForm6;implementationus

37、esUnit2;$R *.dfmprocedure TForm6.Button1Click(Sender: TObject);beginDBGrid1.Visible:=True;ADOQuery1.Close;begin课程信息表where 学号ADOQuery1.Open;end;end;procedure TForm6.Button2Click(Sender: TObject);beginADOQuery1.Close;DBGrid1.Visible:=False;end;end.unit Unit7;interfaceusesWindows, Messages, SysUtils, V

38、ariants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;typeTForm7 = class(TForm)Button1: TButton;ADOQuery1: TADOQuery;DataSource1: TDataSource;DBGrid1: TDBGrid;Label1: TLabel;Edit1: TEdit;Button2: TButton;Button3: TButton;DBGrid2: TDBGrid;Button4: TButton;ADOQuery2

39、: TADOQuery;ADOQuery3: TADOQuery;ADOQuery4: TADOQuery;DataSource2: TDataSource;ADOQuery5: TADOQuery;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Button3Click(Sender: TObject);private Private declarations public Publ

40、ic declarations end;varForm7: TForm7;implementationusesUnit2;$R *.dfmprocedure TForm7.Button1Click(Sender: TObject);beginADOQuery3.Close;教师课程表);ADOQuery3.Open;end;procedure TForm7.Button2Click(Sender: TObject);beginADOQuery1.Close;教师课程表where 课程号 =+Edit1.Text+;ADOQuery1.Open;if ADOQuery1.RecordCount=

41、0 thenbeginShowMessage( 此课程不存在 );endelseADOQuery1.Close;课程信息表where 课程号 =+Edit1.Text+and 学号ADOQuery1.Open;if ADOQuery1.RecordCount=0 thenbeginif MessageDlg( 确认选课吗? ,mtConfirmation,mbYes,mbNo,0)=mrYes thenbeginADOQuery2.Close;教师课程表where 课程号 =+Edit1.Text+);ADOQuery2.Open;ADOQuery1.Close;课程信息表values(:A,

42、:B,:C,:D,:E,:F,:G,:H,:I);课程号).AsString;课程名).AsString;学时 ).AsString;学分 ).AsString;开课时间).AsString;教师工号).AsString;教师姓名).AsString;备注 ).AsString;ADOQuery1.ExecSQL;ADOQuery5.Close;学生信息表where 学号ADOQuery5.Open;ADOQuery1.Close;成绩信息表values(:J,:K,:L,:M,:N,:O,:P,:Q,:R,:S);姓名 ).AsString;课程号).AsString;课程名).AsStri

43、ng;学时 ).AsString;学分 ).AsString;备注 ).AsString;ADOQuery1.ExecSQL;ShowMessage( 选课成功 );Edit1.Text:=;end;endelseShowMessage( 已选过此课程);end;procedure TForm7.Button4Click(Sender: TObject);beginADOQuery4.Close;课程信息表where 学号ADOQuery4.Open;end;procedure TForm7.Button3Click(Sender: TObject);beginADOQuery1.Close;课程信息表where 课程号 =+Edit1.Text+;ADOQuery1.Open;if ADOQuery1.RecordCount=0 thenbeginShowMessage( 未选此课程);endelsebeginif MessageDlg( 删 除 后 无 法 恢 复 , 确 认 删 除 吗 ? ,mtConfirmation,mbYes,mbNo,0)=mrYes thenbeginADOQuery1.Close;课程信息表where 课程号 =:T);ADOQuery1.ExecSQL;AD

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

当前位置:首页 > 科普知识


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