教务管理系统数据库(SQL Server 2008 + delphi7)
实验报告
班级:
姓名:
学号:
指导教师:
完成日期:
目录
第一章系统概述 (3)
第二章系统分析 (3)
第三章系统设计 (4)
第四章系统功能 (9)
第五章系统实现 (9)
第六章源程序附录 (15)
第七章参考文献 (73)
第一章系统概述
学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System).它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
本系统是以delphi7编辑用户界面,以SQL server 2008为数据源后台而成的学生信息管理系统。本系统是以计算机为基础,由人和计算机结合的对信息进行收集、存储、维护、加工、传递和使用的一种管理系统,其目的是使人流、物流、资金流和信息流处于最佳状态,以最少的资源投入获得最佳的综合效益。本系统主要包括学生信息管理模块、教师信息管理模块、课程信息管理模块、成绩信息管理模块和系统维护模块等部分。在校务管理中,为有关部门提供完整、综合、共享的信息,对于学校的教育管理、教务和科研等
都有很大的实用价值。
第二章系统分析
1、问题定义
随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的学生信息管理平台。为了更好地管理学生和教职工的资料文档,我开发一个软件工程学生信息管理系统.教师和学生可以应用该系统实现如下功能:
1、可随时查询出不同系及各系教师与各系学生情况,系、教师与学生各反映如下情况:系:系号、系名、系负责人、专业数等。
教师:工号、姓名、性别、职称、工龄、出生年月、基本工资等.
学生:学号、姓名、性别、年龄等。
2、为简单起见教师与学生区分系别,而课程不分系,课程需反映如下信息:
课程代号、课程名、课时数、必修课、学分.
3、学生入学时新生需录入登记,登记后即可选课学习课程(一学期约20学分)。
4、一门只由一位教师上,一位教师可上多门课,满30人才开课。
5、学生选每门课有个成绩,若成绩不及格则补考后还需记录补考成绩。
1)在某数据库管理系统中建立各关系模式对应的库表,并设计所需的视图、索引等。2)能对各库表进行输入、修改、删除、添加、查询、打印等基本操作。
3)新生入校登记后可即时选课,老生每学期开始前可选课或作选课调整,一般要选共约20学分的若干门课程.
4)能明细查询某学生的选课情况及某课程的选修学生情况。
5)能统计查询出某学生的成绩单(包括总成绩、平均成绩、不及格门数等)及某门课的选课人数、最高分、最低分、平均成绩等统计信息。
6)能分析出某教师的教学质量情况(可根据该教师所任所有课优良数平均超过一定百分比来粗略评定)。
7)其他你认为子系统应有的查询、统计功能。
8)要求子系统设计得界面友好,功能选择方便合理,并适当考虑子系统在其安全性、完整性、备份、恢复等方面的功能要求
2、可行性分析
1.项目目标:学生和老师可以方便的进行各自所需要的信息管理活动,同时可以查询和修改各自的信息,以便学校管理.
2.运行环境:
(1)以Windows98 以上/ME/2000/XP作为学生选课管理系统的后台操作系统.
(2)前台开发程序为DELPHI,SQL Server 2008。
(3)后台数据SQL Server 2008.
(4)主要硬件设备:PC机一台.。
3.技术可行性:本系统仅仅简单的实现了教务管理系统的基本功能和需求,具有一定的实用性.但真正意义上的大型信息管理存储还是不太现实.对于大量信息的维护也不具有很强的稳定性。
但是操作简单,适合小型的学生信息管理,维护也更为方便.技术要求也不是很高,有一点delphi和SQL server 技术基础就行了。
4.总体分析:成本低,出错率低,使学校实现现代化网络教学管理。
第三章系统设计
根据该系统的需求,数据库采用Microsoft SQL Server 2008 ,它完全设和本系统的工作需求,它所支持的字段数据类型包括数值、字符、日期时间及二进制和图片等类型,是当前的主流数据库产品之一。它还具有性能稳定、便于操作维护和具有较好的安全可靠性等特点,是作为服务器端数据库平台的理想选择.根据系统的需求,系统用到的各种数据表如下图所示.
学生信息表
教师信息表
课程信息表
管理信息表
教师课程表
成绩信息表
表与表之间的关系如下图所示:
E—R 关系图
此模块为教职工操作模块.教职工可以通过此模块实现查看个人信息、修改密码、查看课程信息、输入学生平时成绩和期末成绩诸多功能。
3.系统管理员模块
此模块为系统管理员操作模块。系统管理员可以通过此模块实现查看管理员信息、修改密码、查看、新增、修改、删除学生信息、查看、新增、删除、修改教职工信息、查看、新增、删除、修改课程信息、开通、关闭选课诸多功能。
第五章系统实现
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;
uses
Windows,Messages,SysUtils,Variants,Classes, Graphics,Controls, Forms,Dialogs, ExtCtrls,StdCtrls,Unit2,jpeg,DB, ADODB;
type
TForm1 = class(TForm)
Button1:TButton;
Button2: TButton;
Panel1:TPanel;
Image1:TImage;
Label1:TLabel;
Label2:TLabel;
ADOConnection1: TADOConnection;
Timer1:TTimer;
procedure Button1Click(Sender:TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{Private declarations }
public
{ Public declarations }
end;
var
Form1:TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2。ManualDock(Form1.Panel1,nil,alNone);
Form2。Show;
Panel1。Visible :=True;
end;
procedure TForm1。Button2Click(Sender: TObject);
begin
if MessageDlg(’确认退出整个系统吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
Application.Terminate;
end;
end;
procedure TForm1.Timer1Timer(Sender:TObject);
begin
Label2.Caption:=DateTimeToStr(Now);
end;
unit Unit2;
interface
uses
Windows, Messages,SysUtils,Variants, Classes, Graphics, Controls,Forms, Dialogs,StdCtrls,DB,ADODB,Unit3;
type
TForm2 = class(TForm)
Label1:TLabel;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2:TEdit;
Button1:TButton;
Button2: TButton;
ADOConnection1: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);
procedure FormShow(Sender:TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form2:TForm2;
implementation
uses
Unit1,Unit8,Unit12;
{$R *.dfm}
procedure TForm2。ComboBox1Change(Sender:TObject);
begin
case ComboBox1.ItemIndex of
0:Label2.Caption:=’账号';
1:Label2.Caption:=’工号';
else
Label2.Caption:=’学号’;
end;
end;
procedure TForm2。Button1Click(Sender: TObject);
begin
if Edit3。Text=Label4.Caption then
begin
case ComboBox1.ItemIndex of
0:begin
ADOQuery1。Close;
ADOQuery1。SQL。Clear;
ADOQuery1。SQL。Text:='select * from 管理信息表where 账号=’'’+Edit1。Text+’'’AND 密码=’’’+Edit2.Text+’'' AND 用户名=’’'+ComboBox1。Text+''’’;
ADOQuery1.Open;
if ADOQuery1.RecordCount=0 then
begin
ShowMessage('用户名或密码错误,请重新登录’);
end
else
begin
Form12。Show;
Form2.Close;
Form1。Panel1.Visible:=False;
end;
end;
1:begin
ADOQuery1。Close;
ADOQuery1.SQL.Clear;
ADOQuery1。SQL。Text:=’select *from 管理信息表where 账号='’’+Edit1。Text+'’’and 密码=’’'+Edit2。Text+’’’and 用户名=’’’+ComboBox1.Text+’’’';
ADOQuery1。Open;
if ADOQuery1。RecordCount=0 then
begin
ShowMessage('用户名或密码错误,请重新登录');
end
else
begin
Form8。Show;
Form2。Close;
Form1.Panel1.Visible:=False;
end;
end;
2:begin
ADOQuery1.Close;
ADOQuery1。SQL.Clear;
ADOQuery1。SQL.Text:=’select *from 管理信息表where 账号=’’’+Edit1。Text+’’'and 密码='''+Edit2。Text+’’’and 用户名=’’'+ComboBox1。Text+’’'’;
ADOQuery1。Open;
if ADOQuery1。RecordCount=0 then
begin
ShowMessage(’用户名或密码错误,请重新登陆');
end
else
begin
Form3。Show;
Form2。Close;
Form1.Panel1。Visible:=False;
end;
end;
else
ShowMessage('请选择身份’);
end;
end
else
ShowMessage(’验证码错误');
end;
procedure TForm2。Button2Click(Sender:TObject);
begin
Form2。Close;
Form1。Panel1。Visible:=False;
end;
procedure TForm2。FormCreate(Sender: TObject);
begin
Randomize;
end;
procedure TForm2。Button3Click(Sender: TObject);
var
i,j:Integer;
c:Char;
begin
Label4.Caption:='’; //这个是标签
for j:=0 to 3 do //随机生成4个a到z的字符串
begin
i:=Random(24);
c:=chr(ord('a')+ i);
Label4。Caption:=Label4。Caption + c;
end;
begin
Randomize;
end;
end;
procedure TForm2.FormShow(Sender: TObject);
var
i,j:Integer;
c:Char;
begin
Label4。Caption:=’'; //这个是标签
for j:=0 to 3 do //随机生成4个a到z的字符串
begin
i:=Random(24);
c:=chr(ord(’a’)+ i);
Label4.Caption:=Label4。Caption + c;
end;
end;
end。
unit Unit3;
interface
uses
Windows,Messages,SysUtils,Variants, Classes,Graphics,Controls,Forms,Dialogs, StdCtrls, ExtCtrls, jpeg,DB,ADODB, DBCtrls;
type
TForm3 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3:TButton;
Button4:TButton;
Panel1:TPanel;
Image1: TImage;
DBText1: TDBText;
DataSource1: TDataSource;
ADOQuery1:TADOQuery;
ADOConnection1: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);private
{Private declarations }
public
{ Public declarations }
end;
var
Form3:TForm3;
implementation
uses
Unit4,Unit5,Unit6,Unit7,Unit19,Unit2;{$R *。dfm}
procedure TForm3。Button1Click(Sender:TObject);begin
Form5。Close;
Form6.Close;
Form7。Close;
Form4。ManualDock(Form3。Panel1,nil,alNone);
Form4。Show;
Panel1.Visible:=True;
end;
procedure TForm3.Button3Click(Sender:TObject);begin
Form4.Close;
Form6.Close;
Form7.Close;
Form5.ManualDock(Form3。Panel1,nil,alNone);
Form5.Show;
Panel1。Visible:=True;
end;
procedure TForm3.Button2Click(Sender:TObject);begin
Form4。Close;
Form5。Close;
Form7.Close;
Form6。ManualDock(Form3。Panel1,nil,alNone);
Form6.Show;
Panel1.Visible:=True;
end;
procedure TForm3。Button4Click(Sender: TObject);begin
if Form19。Label11.Caption='已开通选课' then
begin
Form4。Close;
Form5。Close;
Form6。Close;
Form7。ManualDock(Form3.Panel1,nil,alNone);
Form7。Show;
Panel1.Visible:=True;
end
else
ShowMessage(’选课系统已关闭!’);
end;
procedure TForm3。Image1Click(Sender: TObject);
begin
ADOQuery1。Close;
ADOQuery1。SQL。Clear;
ADOQuery1.SQL.Add(’select 姓名from 学生信息表where 学号='’'+Form2。Edit1。Text+’’’’);
ADOQuery1。Open;
end;
procedure TForm3。Timer1Timer(Sender:TObject);
begin
Label1.Caption:=DateTimeToStr(Now);
end;
end.
unit Unit4;
interface
uses
Windows, Messages,SysUtils, Variants, Classes,Graphics,Controls, Forms,Dialogs,Grids,DBGrids,DB,ADODB,StdCtrls;
type
TForm4 = 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;
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(Sender:TObject);
private
{Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses
Unit2;
{$R *。dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
GroupBox1。Visible:=False;
DBGrid1。Visible:=True;
ADOQuery1.Close;
ADOQuery1。SQL。Clear;
begin
ADOQuery1。SQL。Add(’select *from 学生信息表where 学号=’''+Form2.Edit1.Text+'’’’);
ADOQuery1。Open;
end;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
ADOQuery1.Close;
DBGrid1.Visible:=False;
GroupBox1。Visible:=False;
end;
procedure TForm4。Button2Click(Sender:TObject);
begin
DBGrid1。Visible:=False;
GroupBox1。Visible:=True;
end;
procedure TForm4。GroupBox1Click(Sender: TObject);
var
i,j:Integer;
c:Char;
begin
Label5。Caption:='’;//这个是标签
for j:=0 to 3 do //随机生成4个a到z的字符串
begin
i:=Random(24);
c:=chr(ord(’a’) + i);
Label5。Caption:=Label5。Caption + c;
end;
begin
Randomize;
end;
end;
procedure TForm4。Button6Click(Sender:TObject);
begin
GroupBox1。Visible:=False;
end;
procedure TForm4.Button4Click(Sender:TObject);
var
i,j:Integer;
c:Char;
begin
Label5。Caption:=’’;//这个是标签
for j:=0 to 3 do //随机生成4个a到z的字符串
begin
i:=Random(24);
c:=chr(ord(’a')+ i);
Label5.Caption:=Label5。Caption + c;
end;
begin
Randomize;
end;
end;
procedure TForm4。Button5Click(Sender: TObject);
begin
if MessageDlg('确认修改吗?’,mtConfirmation,[mbYes,mbNO],0)=mrYes then
begin
if Edit4.Text=Label5。Caption then
begin
ADOQuery1。Close;
ADOQuery1。SQL。Clear;
ADOQuery1.SQL.Text:=’select * from 管理信息表where 账号=’'’+Form2。Edit1。Text+'’’and 密码='’'+Edit1。Text+'’’';
ADOQuery1。Open;
if ADOQuery1。RecordCount=1 then
begin
if Edit2.Text=Edit3。Text then
begin
ADOQuery1.Close;
ADOQuery1。SQL.Clear;
ADOQuery1。SQL。Add('Update 管理信息表SET 密码=:A where 账号=’’’+Form2。Edit1。Text+''’’);
ADOQuery1。Parameters。ParamByName('A').Value:=Edit2。Text;
ADOQuery1。ExecSQL;
ShowMessage(’修改成功’);
end
else
ShowMessage(’新密码不一致’)
end
else
ShowMessage('原密码错误’);
end
else
ShowMessage(’验证码错误’);
end;
Edit1。Text:='’;
Edit2。Text:=’’;
Edit3。Text:='';
Edit4。Text:=’';
end;
end。
unit Unit5;
interface
uses
Windows,Messages,SysUtils, Variants, Classes,Graphics,Controls,Forms,Dialogs,DB,ADODB,StdCtrls,Grids, DBGrids;
type
TForm5 = class(TForm)
DBGrid1: TDBGrid;
Button2:TButton;
ADOQuery1:TADOQuery;
DataSource1: TDataSource;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender:TObject);
private
{Private declarations }
public
{ Public declarations }
end;
var
Form5:TForm5;
implementation
uses
Unit2;
{$R *。dfm}
procedure TForm5。Button1Click(Sender:TObject);
begin
DBGrid1.Visible:=True;
ADOQuery1.Close;
ADOQuery1。SQL。Clear;
begin
ADOQuery1。SQL。Add(’select *from 成绩信息表where 学号=’''+Form2。Edit1。Text+’''');
ADOQuery1。Open;
end;
end;
procedure TForm5。Button2Click(Sender:TObject);
begin
ADOQuery1.Close;
DBGrid1。Visible:=False;
end;
end.
unit Unit6;
interface
uses
Windows,Messages,SysUtils, Variants,Classes,Graphics,Controls,Forms, Dialogs, DB, ADODB,StdCtrls, Grids, DBGrids;
type
TForm6 = class(TForm)
DBGrid1: TDBGrid;
Button1:TButton;
ADOQuery1: TADOQuery;
DataSource1:TDataSource;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender:TObject);
private
{ Private declarations }
public
{Public declarations }
end;
var
Form6: TForm6;
implementation
uses
Unit2;
{$R *。dfm}
procedure TForm6.Button1Click(Sender:TObject);
begin
DBGrid1。Visible:=True;
ADOQuery1。Close;
ADOQuery1.SQL。Clear;
begin
ADOQuery1.SQL.Add(’select * from 课程信息表where 学号='’'+Form2.Edit1。Text+''’’);
ADOQuery1。Open;
end;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
ADOQuery1。Close;
DBGrid1.Visible:=False;
end;
end。
unit Unit7;
interface
uses
Windows, Messages,SysUtils,Variants, Classes, Graphics,Controls, Forms, Dialogs, StdCtrls,Grids,DBGrids,DB,ADODB;
type
TForm7 = class(TForm)
Button1:TButton;
ADOQuery1:TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label1:TLabel;
Edit1:TEdit;
Button2: TButton;
Button3: TButton;
DBGrid2:TDBGrid;
Button4:TButton;
ADOQuery2: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
{ Public declarations }
end;
var
Form7:TForm7;
implementation
uses
Unit2;
{$R *。dfm}
procedure TForm7。Button1Click(Sender:TObject);
begin
ADOQuery3.Close;
ADOQuery3。SQL.Clear;
ADOQuery3.SQL。Add(’select * from 教师课程表’);
ADOQuery3。Open;
end;
procedure TForm7.Button2Click(Sender: TObject);
begin
ADOQuery1。Close;
ADOQuery1。SQL.Clear;
ADOQuery1。SQL。Text:=’select *from 教师课程表where 课程号=’’’+Edit1.Text+'’'’;
ADOQuery1.Open;
if ADOQuery1.RecordCount=0 then
begin
ShowMessage(’此课程不存在’);
end
else
ADOQuery1。Close;
ADOQuery1。SQL。Clear;
ADOQuery1。SQL.Text:='select *from 课程信息表where 课程号=’’'+Edit1。Text+’''and 学号=’’’+Form2.Edit1.Text+'’'';
ADOQuery1。Open;
if ADOQuery1。RecordCount=0 then
begin
if MessageDlg('确认选课吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
ADOQuery2。Close;
ADOQuery2。SQL。Clear;
ADOQuery2.SQL.Add(’select * from 教师课程表where 课程号=’’’+Edit1.Text+'’’');
ADOQuery2。Open;
ADOQuery1。Close;
ADOQuery1。SQL。Clear;
ADOQuery1.SQL。Add(’insert into 课程信息表values(:A,:B,:C,:D,:E,:F,:G,:H,:I)');
ADOQuery1。Parameters。ParamByName('A').Value:=Form2。Edit1.Text;
ADOQuery1。Parameters。ParamByName('B’).Value:=ADOQuery2。FieldByName('课程号’)。AsString;
ADOQuery1。Parameters.ParamByName(’C’).Value:=ADOQuery2。FieldByName(’课程名’).AsString;
ADOQuery1.Parameters.ParamByName('D’)。Value:=ADOQuery2。FieldByName(’学时’)。AsString;
ADOQuery1。Parameters。ParamByName('E’)。Value:=ADOQuery2.FieldByName('学分')。AsString;
ADOQuery1.Parameters.ParamByName('F')。Value:=ADOQuery2.FieldByName ('开课时间’).AsString;
ADOQuery1。Parameters.ParamByName(’G')。Value:=ADOQuery2.FieldByName('教师工号’).AsString;
ADOQuery1。Parameters。ParamByName(’H’)。Value:=ADOQuery2.FieldByName(’教师姓名').AsString;
ADOQuery1。Parameters.ParamByName(’I’).Value:=ADOQuery2.FieldByName (’备注')。AsString;
ADOQuery1。ExecSQL;
ADOQuery5.Close;
ADOQuery5。SQL.Clear;
ADOQuery5。SQL。Add(’select *from 学生信息表where 学号=’’’+Form2。Edit1.Text+’'’’);
ADOQuery5。Open;
ADOQuery1.Close;
ADOQuery1。SQL。Clear;
ADOQuery1.SQL。Add('insert into 成绩信息表values(:J,:K,:L,:M,:N,:O,:P,:Q,:R,:S)’);
ADOQuery1。Parameters。ParamByName('J')。Value:=Form2。Edit1。Text;
ADOQuery1.Parameters。ParamByName('K')。Value:=ADOQuery5。FieldByName(’姓名’)。AsString;
ADOQuery1.Parameters。ParamByName(’L')。Value:=ADOQuery2.FieldByName('课程号’)。AsString;
ADOQuery1.Parameters.ParamByName(’M’)。Value:=ADOQuery2。FieldByName(’课程名')。AsString;
ADOQuery1。Parameters。ParamByName('N’)。Value:=ADOQuery2.FieldByName(’学时')。AsString;
ADOQuery1.Parameters。ParamByName(’O')。Value:=ADOQuery2。FieldByName('学分')。AsString;
ADOQuery1.Parameters.ParamByName('P')。Value:=’’;
ADOQuery1。Parameters.ParamByName('Q’).Value:=’';
ADOQuery1。Parameters。ParamByName('R’)。Value:=’’;
ADOQuery1.Parameters.ParamByName('S’)。Value:=ADOQuery2。FieldByName('备注’)。AsString;
ADOQuery1.ExecSQL;
ShowMessage(’选课成功’);
Edit1。Text:='';
end;
end
else
ShowMessage(’已选过此课程’);
end;
procedure TForm7.Button4Click(Sender: TObject);
begin
ADOQuery4。Close;
ADOQuery4.SQL.Clear;
ADOQuery4.SQL。Add(’select *from 课程信息表where 学号=’’’+Form2.Edit1。Text+'’'’);
ADOQuery4.Open;
end;
procedure TForm7。Button3Click(Sender:TObject);
begin
ADOQuery1。Close;
ADOQuery1。SQL。Clear;
ADOQuery1.SQL。Text:=’select *from 课程信息表where 课程号=’''+Edit1。Text+’’'';
ADOQuery1.Open;
if ADOQuery1.RecordCount=0 then
begin
ShowMessage('未选此课程’);
end
else
begin
if MessageDlg(’删除后无法恢复,确认删除吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
ADOQuery1.Close;
ADOQuery1。SQL.Clear;
ADOQuery1。SQL.Add(’DELETE FROM 课程信息表where 课程号=:T');
ADOQuery1。Parameters。ParamByName(’T')。Value:=Edit1。Text;
ADOQuery1。ExecSQL;
ADOQuery1。Close;
ADOQuery1.SQL。Clear;
ADOQuery1.SQL。Add('DELETE FROM 成绩信息表where 课程号=:U');
ADOQuery1.Parameters.ParamByName(’U’)。Value:=Edit1。Text;
ADOQuery1.ExecSQL;
Edit1.Text:='’;
ShowMessage(’成功删除!');
end;
end;
end;
end。
unit Unit8;
interface
uses
Windows,Messages, SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,StdCtrls,jpeg, ExtCtrls,DB,ADODB, DBCtrls;
type
TForm8 = class(TForm)
Image1:TImage;
Button1:TButton;
Button2:TButton;
Button3:TButton;
Panel1: TPanel;
DBText1:TDBText;
ADOQuery1:TADOQuery;
DataSource1: TDataSource;
ADOConnection1:TADOConnection;
Label1:TLabel;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender:TObject);
学号: 课程设计 题目教学管理信息系统—教师数据库设计 学院计算机科学与技术学院 专业 班级 姓名 指导教师唐祖锴 2013 年01 月09 日
课程设计任务书 学生姓名:专业班级: 指导教师:唐祖锴工作单位:计算机学院 题目:教学管理信息系统——教师数据库设计 初始条件: 大学有多个学院,每个学院有多名教师(教授,讲师,等)。每一门课的主讲教师都应提前获得该课的主讲资格证,一个教师能具有多门课程的主讲资格证;一门课程的主讲资格证也可能颁发给多名教师。一个教师可能已主讲过多门课,或多次主讲同一门课。要求完成的主要任务: 1.根据上述的初始条件,进行调查分析并设计适当的属性。设计一个教师数据库,记 录教师的基本信息,主讲资格,讲课经历等,DBMS可选Ms SQL Server、Access、VFP等。 2.完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析, 概念设计,逻辑设计,物理实现等。 3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工 具)任选。这一项是选作,不作硬性要求。 时间安排: 本学期第18周: 1.消化资料、系统调查1天 2.系统分析1天 3.总体设计,实施计划2天 4.撰写报告1天 指导教师签名:年月日 系主任(或责任教师)签名:年月日
1.引言 1.1项目开发背景 本系统作为大三第一学期《数据库技术》课程的作业。要求采用Borland Delphi 7 和Microsoft SQL Server 2000 做为开发工具开发一个中南大学教学管理系统。 1.2.项目开发的目标 建立一个教务信息管理系统,主要功能为实现对学生,教师,班级,系部,选修,课程,授课和用户等基本信息的添加,修改,删除和查询。因为时间不足,而且第一次接触Borland Delphi 7和Mircosoft SQL Server 2000这两个开发工具,所以并没有设立权限,也没有建立索引和视图等来优化系统功能。只是实现了对信息的基本处理功能。 1.4.数据库系统的选择原则 (1)数据库系统采用易于集成的,开放的技术。 (2)产品质量优异,可靠性高,适于长期运行,能支持关键应用。 (3)数据安全,保安型高。 (4)能提供分布式数据库功能。 (5)支持多种开发环境,软件开发容易。 (6)扩充性和升级能力强。
高校教务管理系统设计与实现 在进行高校教务管理系统设计之前,首先需要了解系统的需求。具体来说,应该从以下几个方面进行需求分析: 功能需求:明确教务管理系统应该具备哪些功能,例如课程管理、学生选课、考试管理、成绩管理、学籍管理等。 数据需求:确定教务管理系统需要处理哪些数据,例如学生信息、教师信息、课程信息、成绩信息等。 性能需求:确定系统的响应速度、稳定性、可扩展性等方面的要求。用户需求:了解用户对系统的期望和需求,包括用户界面设计、操作流程简化等方面。 在明确系统需求之后,可以进行高校教务管理系统的设计。以下是具体的设计步骤: 数据库设计:根据需求分析的结果,设计数据库表结构,包括学生表、教师表、课程表、成绩表等。确定表之间的关系,如学生与课程之间的关系、学生与成绩之间的关系等。 功能模块设计:根据需求分析中的功能需求,设计教务管理系统的各
个功能模块。例如,课程管理模块应包括课程信息的添加、修改、删除和查询等功能;学生选课模块应包括选课申请、审核、退选等功能;考试管理模块应包括考试安排、监考安排等功能;成绩管理模块应包括成绩录入、修改、查询等功能;学籍管理模块应包括学生基本信息的录入、修改、查询等功能。 用户界面设计:根据用户需求分析的结果,设计系统的用户界面。应该注重界面美观大方、操作简单直观、提示信息准确易懂等方面。系统流程设计:根据功能模块设计,确定系统的具体操作流程。例如,选课流程应包括学生申请选课、教师审核选课、教务处最终审核等环节;考试流程应包括命题、组卷、考试安排、监考安排、考试成绩录入等环节。 在设计完成后,就可以开始实现高校教务管理系统。以下是具体的实现步骤: 前端开发:根据用户界面设计和系统流程设计,使用前端开发技术实现系统的各个功能模块。前端开发应该注重与后端开发相配合,确保数据的正常传输和交互。 后端开发:根据数据库设计和功能模块设计,使用后端开发技术实现
华北科技学院计算机系综合性实验 实验报告 课程名称《数据库原理与应用》 实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机学院 年级 2010 专业班级计算机B10-3班 学生姓名学号 任课教师郭红 实验成绩 计算机系制
《数据库原理与应用》综合性实验报告 开课实验室:软件开发实验室(一) 2012 年 12月 7 日
Course(Cno,Cn, Cs,Ct) (2)设计合适的视图 视图v1: create view v1(Sno,Sn,总学分,未修学分) as select,,sum(Cs),24-sum(Cs) from SC,Course,Student where=and=and>=60 group by, 统计学生得到学分的情况,这样学生可以很清楚的看到自己所得到的学分的情况,能够时刻提醒自己还差多少分才修完课程,能够保证自己毕业前完成学业。 视图AvgS:学生可以直接查询自己的各科平均成绩。 create view AvgS(Sno,Sn,AvgScore) as select,,avg(Score) from SC,Student where= group by, 4.物理设计 create unique index SCI on SC(Sno,Cno) 执行此命令后,为SC表建立一个索引名为SCI的唯一索引,此索引为Sno和Cno两列的复合索引,即对SC表中的行先按Sno的递增顺序索引,对于相同的Sno,又按Cno的递增顺序索引。系统本身已经有的索引是Student表是按照学号升序建立的唯一索引,Teacher表是按照职工号序建立的唯一索引,Course表是按照课程号的升序建立的唯一索引。 5.数据库的实现 (1)创建库、表 应包括参照完整性、实体完整性、自定义完整性的定义
1 引言 为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。 1.1项目背景 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求[1];信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视。 1.2编写目的 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。[2]例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的软件。[3]在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。 2 系统分析 2.1 需求分析 1.需求分析的任务 需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分
数据库教务管理系统设计方案 1.1背景 伴随着网络的不断发展,便捷化,高效化的办公需求不断的摆在我们的面前,而教务管理也不例外,传统的手工式的操作已经远远不能满足日益增强的操作需求,所以步入20世纪以来,随着网络化的普及,开发出一款适用于校园办公的网络化办公软件一直是人们所致力于研究的产品,当然在这么多年的摸索与实践中教务管理系统也日趋成熟,似乎教务管理也无需完善,然而,网络应用不同于传统的手工应用,网络应用的宗旨是:满足于客户。所以我选择了教务管理这一课题,希望能在前人的肩膀上对教务管理进行进一步的完善。 通过查阅资料以及到同类型的高校去浏览访问,我发现了一个问题,就是高校的教务管理系统强调的是其办公的便捷性而往往忽略了办公的趣味性以及资源平台的共享性,这在许多高校中是存在,当然,我们不否认办公的高效性与便捷性是一个教务管理系统最主要的功能实现,然而我们也不能否认一款网络应用最能吸引人眼球的是其趣味性的存在。当然有人会怀疑作为一款办公性的软件其实用性往往要比他的趣味性重要,当然,这点也是不能否认的,可是我所说的趣味性指的是用户的参与度,我们不能把教务管理系统做成一款学生与学校之间的平台,而要做成一款联系学生与学校之间的纽带,让学生真正参与进教务管理这一项工作里来。 该套系统的主要功能包括:学籍管理、课程管理、成绩管理、教学管理以及“学”“校”易通等功能,能够最大程度上满足学生与学校以及学校对学生的管理。 1.2功能概述 使用该系统可以使用一下的功能 浏览校园热点信息;
用户登录与注销; 对自身信息的修改; 留言; 各类权限的操作; 用户在使用时需要进行登录,如果不需要使用此功能,用户可以进行登出的操作,登出的用户不影响网页的使用。 1.3用户环境 硬件环境 处理器:Pentium3以上; 存:大于512MB; 硬盘:大于40G; 软件环境 操作系统:windows xp及以上; 数据库:MySQL; Web容器:Tomcat 6.0; 开发环境:Myeclipse 8.5 + JDK 1.7 + MySQL + Firefox + PhotoShop
数据库教学管理系统系统设计 1.系统概述 2.功能需求 2.1学生管理 -学生信息的录入、查看、修改和删除 -学生课程的选取和退选 -学生成绩的录入和查询 2.2教师管理 -教师信息的录入、查看、修改和删除 -教师课程的安排和调度 -教师学生的分配和管理 2.3课程管理 -课程信息的录入、查看、修改和删除 -课程教材的管理 -课程时间的调度和安排 2.4成绩管理 -学生成绩的录入、查看、修改和删除 -成绩统计和分析 -成绩报表的生成和导出
2.5登录和权限管理 -用户登录和身份验证-用户权限的分配和管理3.数据库设计 3.1学生表 -学生ID -学生姓名 -学生年龄 -学生性别 3.2教师表 -教师ID -教师姓名 -教师年龄 -教师性别 3.3课程表 -课程ID -课程名称 -课程时间 -课程教材
3.4成绩表 -学生ID -课程ID -成绩 4.系统界面设计 系统界面应简洁、易用,包括以下主要界面: -登录界面:用户输入用户名和密码登录系统。 -学生管理界面:教务管理员可以对学生信息进行管理。 -教师管理界面:教务管理员可以对教师信息进行管理。 -课程管理界面:教务管理员可以对课程信息进行管理。 -成绩管理界面:教务管理员和教师可以录入、查看和修改学生成绩。-学生选课界面:学生可以选择课程进行学习。 -学生成绩查询界面:学生可以查看自己的成绩。 5.系统实现 5.1前端技术 - 使用HTML、CSS和JavaScript实现系统界面的设计和交互。 - 使用Bootstrap等前端框架提供界面的响应式设计。 5.2后端技术 - 使用Java、Python或其他后端语言实现系统的业务逻辑。
教务管理系统数据库设计 目录 1.1项目背景 (2) 1.2开发目的 (2) 1.3定义 (3) 2.1系统功能 (3) 2.2系统结构 (4) 3.1需求分析 (4) 3.1.1流程图 (4) 3.2概念结构设计 (5) 3.2.1 E-R图 (5) 4.1系统关系模型 (7) 4.2系统数据库表结构 (7) 4.3源码 (9) 4.3.1 主程序 (9) 4.3.1 管理员操作 (10) 4.3.2 教师操作 (10) 4.3.3 学生操作 (11)
第一章:项目计划 1.1项目背景 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。 学校为方便教务管理,需开发一个教务管理系统。为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。 1.2开发目的 本项目旨在开发一套简单易用,能够对学校教务提供便利的应用系统。通过对需求的分析,以及利用所学数据库设计的基础理论,进行底层数据表的创建,上层语言使用当今比较流行的python语言,前期实现一套可视化的终端操作系统。
1.3定义 系统分为管理员、教师和学生三类角色,管理员可以进行增删改查操作,教师和学生都只能进行查看个人相关的信息,不能做增加、修改和删除操作。 第二章:详细分析 2.1系统功能 角色划分:系统分为不同的用户体系,主要分为管理员、教师和学生。三种用户都需要系统完成登录后才可以进行对应的菜单操作。 管理员:管理员可以进行学生的增删改查,由于时间原因,暂未实现对教师的和其他对象的操作。 教师:教师可以查看自己个人的信息、自己负责的班级信息、班级的学生信息、以及自己的课程排期信息。 学生:学生可以查看个人信息、自己所在班级的信息以及班级的课程排期信息。
洛阳理工学院课程设计报告 课程名称数据库课程设计 设计题目教务管理系统 专业计算机科学与技术 班级 学号 姓名 完成日期
课程设计任务书 设计题目:教务管理系统 设计内容与要求: 设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。课程分两类,必修课和选修课。系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。 要求: 1.完成本系统的需求分析,写出功能需求和数据需求描述; 2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计; 3.完成本系统的部分功能模块的程序界面设计。 指导教师: 2017 年12 月29 日 课程设计评语 成绩: 指导教师:_______________
年月日
目录 一、概述 (2) 1.1、本设计的目的与意义 (2) 1.2、数据库开发工具和应用程序开发工具 (2) 二、需求分析 (2) 2.1功能需求 (2) 2.2数据需求 (2) 三、概念结构设计 (2) 3.1、E-R模型设计 (2) 3.2、总体E-R图描述 (4) 四、逻辑结构设计 (4) 4.1、关系模型 (4) 4.2、关系模式的优化与说明 (4) 五、物理结构设计 (5) 5.1建立数据库 (5) 5.2表与表结构 (5) 六、应用程序设计 (6) 6.1、系统总体结构 (6) 6.2、系统界面与源代码 (7) 6.2.1、界面 (8) 6.2.2、功能描述 (9)
教务管理系统数据库 (SQL Server 2008 + delphi7) 实验报告 班级: 姓名: 学号: 指导教师: 完成日期: 目录 第一章系统概述 (3) 第二章系统分析 (3) 第三章系统设计 (4) 第四章系统功能 (9) 第五章系统实现 (9) 第六章源程序附录 (15) 第七章参考文献 (73)
第一章系统概述 学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。 本系统是以delphi7编辑用户界面,以SQL server 2008为数据源后台而成的学生信息管理系统。本系统是以计算机为基础,由人和计算机结合的对信息进行收集、存储、维护、加工、传递和使用的一种管理系统,其目的是使人流、物流、资金流和信息流处于最佳状态,以最少的资源投入获得最佳的综合效益。本系统主要包括学生信息管理模块、教师信息管理模块、课程信息管理模块、成绩信息管理模块和系统维护模块等部分。在校务管理中,为有关部门提供 完整、综合、共享的信息,对于学校的教育管理、教务和科研等都有很大的实用价值。 第二章系统分析 1、问题定义 随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的学生信息管理平台。为了更好地管理学生和教职工的资料文档,我开发一个软件工程学生信息管理系统。教师和学生可以应用该系统实现如下功能:1、可随时查询出不同系及各系教师与各系学生情况,系、教师与学生各反映如下情况: 系:系号、系名、系负责人、专业数等。 教师:工号、姓名、性别、职称、工龄、出生年月、基本工资等。 学生:学号、姓名、性别、年龄等。 2、为简单起见教师与学生区分系别,而课程不分系,课程需反映如下信息: 课程代号、课程名、课时数、必修课、学分。 3、学生入学时新生需录入登记,登记后即可选课学习课程(一学期约20学分)。 4、一门只由一位教师上,一位教师可上多门课,满30人才开课。 5、学生选每门课有个成绩,若成绩不及格则补考后还需记录补考成绩。 1)在某数据库管理系统中建立各关系模式对应的库表,并设计所需的视图、索引等。 2)能对各库表进行输入、修改、删除、添加、查询、打印等基本操作。 3)新生入校登记后可即时选课,老生每学期开始前可选课或作选课调整,一般要选共约20学分的若干门课程。 4)能明细查询某学生的选课情况及某课程的选修学生情况。 5)能统计查询出某学生的成绩单(包括总成绩、平均成绩、不及格门数等)及某门课的选课人数、最高分、最低分、平均成绩等统计信息。 6)能分析出某教师的教学质量情况(可根据该教师所任所有课优良数平均超过一定百分比来粗略评定)。 7)其他你认为子系统应有的查询、统计功能。 8)要求子系统设计得界面友好,功能选择方便合理,并适当考虑子系统在其安全性、完整性、备份、恢复等方面的功能要求 2、可行性分析 1.项目目标:学生和老师可以方便的进行各自所需要的信息管理活动,同时可以查询和修改各自的信息,以便学校管理。
目录 错误 ! 未定义书签。 需求描述 . ................................................... 错误 ! 未定义书签。 需求分析 . ................................................... 错误 ! 未定义书签。 目标用户 . ............................................. 错误 ! 未定义书签。 平台的选择 . ........................................... 错误 ! 未定义书签。 逻辑要求 . ............................................. 错误 ! 未定义书签。 定义用例 . ............................................. 错误 ! 未定义书签。 错误 ! 未定义书签。 数据库设计 . ................................................ 错误 ! 未定义书签。 概念设计 . ............................................. 错误 ! 未定义书签。 逻辑设计 . ............................................. 错误 ! 未定义书签。 物理实现 . ............................................. 错误 ! 未定义书签。 生成建库脚本 . .................................... . 错误 ! 未定义书 错误 ! 未定义书签。 错误 ! 未定义书签。 错误 ! 未定义书签。 1 需求设计 2 实现设计 3 代码实现 4 程序截图 5 总结与体会
教务系统数据库设计 课题的研究背景与意义 课题的研究背景 目前我国各行各业的信息化建设开展得如火如荼,这种信息化的发展已经影响到了各学校。学校在对学生进行管理时,学生学籍的管理一直都是很麻烦的事情,不仅仅管理起来不易修改和更新,而且学生需要了解本人的信息时,也需要去学校教务处找专门人员。由于这些操作的繁琐性,教务管理系统的开发成为各学校必须的事情,特别是各个高校。 一个成功的教务管理系统,应该能够有效地辅助教务人员工作,提高学校学生的学籍、成绩等管理能力,并且不断完善系统,以便更好的帮助学生、教师、系统管理人员等管理成绩、课程、学籍等。 然而目前许多教务管理系统在使用时,效率低下容易出错,学生、教师资料不易整理,大量丢失,这些无疑都已成为管理学生学籍、教师信息的障碍。这就要求学校能够建立高效的教务管理系统,对学生的选课、查询等操作及流程进行规范化管理,简化业务流程,提高工作效率并防止中间的漏洞;迅速、准确地捕捉用户要求,并加以高效回应。同时需要不断完善系统,增加模块,更好的满足用户需求,简化教务人员的管理工作,尽量做到一切信息化。 课题的研究意义 对于学校教务处而言,最主要的是管理学生的学籍、管理教师的课程教授。如果使用一般的方法来管理,会比较繁琐,管理起来也很有可能出错。为了方便教务人员的管理工作,提高工作效率,同时为了更好地为学生、教师提供服务,有必要开发教务管理系统,使学校的教务管理走上信息化之路,克服人为的种种弊端。 教务管理系统的开发不仅可以减少人力、物力和财力资源的浪费,更重要的是有助于提高教务管理的效率。教务管理人员管理学生学籍、管理教师课程教授时是一项复杂的组织工作,这种复杂性不仅仅指学生学籍变更快,变更人数众多,更突出地表现在教务管理主要对象(即学生)的数据量大,管理起来带来不便,所以开发一个实用、高效
学校教务管理的数据库设计 I.需求分析: 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长.面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。 学校为方便教务管理,需开发一个教务管理系统。为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求系统界面要简单明了,易于操作,程序利于维护。 一、信息分析: (1)学校教务管理的数据库,包含以下信息: 学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。 (2)学校的教务管理的信息包括:
学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。学生如果课程及格,可以取得该课程的学分。学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。根据成绩高低,可以计算学分积。及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。 二、功能分析: (1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的 查询。对于查询要实现比较强大的功能,包括精确查询、 模糊查询以及统计查询。 (2)具体查询在数据库中要实现以下的功能: 1)所有来自某省的男生 2)所有某课程成绩〉90的同学 3)教授某课程的老师 4)某班年龄最大的5名同学 5)某年以后出生的男同学 6)选修某课程的学生及其成绩 7)没有授课的教师 8)某学生所选课程的总学分
目录 第一章:项目计划 (2) 1。1项目背景: (2) 1。2系统开发目的: (2) 1。3定义: (3) 第二章:详细分析 (3) 2.1、系统功能 (3) 2。2、系统结构 (4) 2.3、数据流图 (4) 2。4、户类型与职能 (5) 2.5、系统环境需求 (6) 第三章:系统概念设计 (6) 第四章:逻辑设计 (7) 4.1系统关系模型 (7)
4。2系统数据库表结构 (8) 第五章:源码 (12) 第六章:小结 (24) 第一章:项目计划 1。1项目背景: 教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个账号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。1。2系统开发目的: 提高学生,老师管理和操作事务的运作效率。
1。3定义: 学生选课和老师评分必须在管理员的设置条件下进行. 第二章:详细分析 2。1、系统功能 设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其他角色例如老师,才能做某些事情。学期时间只能由角色管理员操作:包括对学期时间表的增加,删除,对某个学期时间状态的改变。 学生选课:当管理员设置为学期开始时,学生可以选课,学生选课受学分影响,只能选择总学分为多少的课程。 老师评分:当管理员设置为学期评分时,老师才可以评分。 个人信息管理:对自己个人信息进行添加和修改. 成绩查询:学生可以对自己成绩进行查询。 个人课表查询:按时间的不同,每个角色都有自己不同的课表。
高校教务管理系统数据库模型 一、需求分析 设计数据库,需求分析是关键;需求分析就是作文的提纲,而文章的正文就是我们接下来要设计的数据库;数据库以需求分析来进行总体布局、设计、建立。需求分析的质量决定你数据库的价值,所以这是数据库设计的核心,也是最耗时、最复杂的阶段。 对教务管理系统进行模块划分,分步进行设计和管理: 1、学生信息管理 该模块是教务工作人员进行对学生信息的管理,进行学生信息的添加、修改、删除。在进行信息的添加时,首先在新的窗口进行学生信息的录入,在保存的时候要进行学生学号是否有重复的检查,如果添加的学生编号有重复就要对用户进行提示。只有在不重复的情况下才能进行信息的添加。在进行信息的删除时,要首先打开提示窗口让用户确认是否要删除,只有在用户确认的情况下才能进行信息的删除。在进行信息的修改时,要根据用户选定的学生进行修改,即列出用户选定的学生的所有信息,在这个基础上进行学生信息的修改。 2、教师信息管理 教务工作人员通过此模块来管理教师信息,包括教师信息的添加、修改、删除等。信息的添加时,需要验证教师的编号是否重复;删除和和修改学生信息,和学生信息管理模块相同。 3、院系管理 此模块是用来管理院系的信息,包括班级院系的添加,修改,删除等。在进行信息的添加时,需要进行班级的编号是否重复的检查,如院系编号重复则对用户进行提示,不重复则添加成功。院系管理模块的删除和修改和学生信息管理模块相同。 4、课程信息管理 教务工作人员通过该模块来管理课程的基本信息,包括课程信息的添加,修改,删除和班级课程的设置等,具体做法同前面的模块。 5、成绩管理 教务工作人员通过该模块来进行学生成绩的管理,在进行学生成绩的添加时,可用它来为学生设置所在班级的课程表来直接输入成绩。
教学管理数据库设计(总38页) --本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--
实验报告 课程名称:数据库原理 实验项目名称:数据库设计 班级与班级代码: 实验室名称(或课室): 专业: 任课教师: 学号: 姓名: 实验日期:年月日 广东商学院教务处制
姓名实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。
实验六教学管理数据库设计 一、实验目的 1、数据库设计就是要使学生采用本课程中学习的数据库设计方法,运用其基本思路与主要图表工具完成一个自己所了解的业务的数据库应用系统信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计 2、熟悉数据库管理系统、SQL语言开发和实现该数据库,并测试、评价、优化改进。 3、通过本设计进一步弄懂数据库系统及其相关的基本概念,理解数据库系统的系统结构、主要特点,掌握数据库设计的原理、方法及其基本过程,初步具备数据库应用设计的能力,形成对数据库设计在处理实际问题的基本素质。 二、实验原理 根据数据库设计的方法和步骤,进行需求分析、概念结构设计、逻辑结构设计、物理设计以及进行规范化、无损连接和优化改进等处理,再根据数据操作的原理和语法测试数据库的功能。 三、实验要求 完成对教学管理数据库的以下操作 1、需求分析:功能分析、总框架图、业务流程图、数据流图、数据字典 2、概念模型设计(E-R图) 3、逻辑设计(表、要验证函数依赖、规范化、无损连接) 4、物理设计
5、数据库实施和执行阶段(数据库的建立、数据录入、插入、删除、查询、更新、查询优化等) 四、实验设备 微型计算机一台、WinXP和Microsoft SQL Server 2000软件 五、结果预测 成功完成教学管理数据库的设计过程,各种操作顺利执行。 六、实验内容和步骤 1、需求分析阶段 1·1教学管理数据库的功能分析:教学管理数据库要实现对学生基本信息、学生选课信息、课程基本信息、教师基本信息、学生课程成绩及教师教务信息的管理 1·2教学管理系统的总框架图如下图1-1所示:
教务管理 数据库系统课程设计
目录 1、需求分析 (2) 1.1 信息要求: (2) 1.2 处理要求: (2) 1.3 安全性与完整性要求: (2) 1.4 系统功能的设计和划分 (2) 第一部分:用户管理部分 (3) 第二部分:管理员管理部分 (3) 2、概念设计 (3) 2。1概念模型(E-R图): (3) 2。2数据字典: (5) a.数据项 (5) b、数据结构 (5) c、数据流 (5) d、数据存储 (6) e、处理过程 (6) 2.3 数据流图 (7) 3、逻辑结构设计 (7) 3。1 E-R图向关系模型的转换(关系的码用下横线表出) (7) 3。2 设计用户子模式 (8) 4、物理设计 (8) 4.1 选择存取方法 (8) 4.2 确定数据库的存储结构 (8) 4.3 评价物理结构 (9) 5、系统实施 (9) 6、运行维护 (10)
1、需求分析 1.1 信息要求: 教务管理系统涉及的实体有: ●教师——工作证号、姓名、职称、电话等; ●学生—-学号、姓名、性别、出生年月等; ●班级-—班号、最低总学分等; ●系-—系代号、系名和系办公室电话等; ●课程-—课序号、课名、学分、上课时间及名额等。 这些实体之间的联系如下: ●每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 ●每个班的班主任都由一名教师担任。 ●一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同 的(课序号是唯一的)。 ●一名同学可以选多门课,一门课可被若干同学选中. ●一名同学选中的课若已学完,应该记录有相应成绩。 ●本单位学生、教师都有重名,工作证号、学号可以作为标识。 1.2 处理要求: 教学系统主要提供数据维护、选课和信息查询。其中常见的查询有:系统中各对象的基本信息查询。查询指定班、系的学生信息(名单、人数等)。查询学生的成绩、学分情况。查询教师授课情况和学生选课情况……。 1.3 安全性与完整性要求: ●安全性要求: 1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用; 2。系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容; 3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员. ●完整性要求: 1.各种信息记录的完整性,关键信息记录内容不能为空; 2。各种数据间相互的联系的正确性; 3。相同的数据在不同记录中的一致性。 1.4 系统功能的设计和划分 根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分: