数据库课程设计报告书

时间:2024.3.31

数据库系统概论

题目:   干部信息管理系统  

学院(系): 电子与信息工程学院

专业班级:     

学    号:           

学生姓名:                 

指导教师:              

教师职称:              

起止时间:    

大学课程设计(论文)任务书

院(系):电子与信息工程学院                       教研室:   软件工程          

说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。

20##年 7 月 8


                                  目录

第一章 概述... 4

第二章 问题定义... 4

第三章 需求分析... 4

第四章 数据库设计... 6

第五章 界面设计... 7

第六章 代码... 9

第一章 概述

本系统本着一切为用户着想的设计指导思想,力求做到界面美观大方,操作简捷明了,而且具备一个实用的操作系统的良好容错性,在用户出现误操作时能尽量及时地给出警告,以便用户能够及时进行改正。

由于不同用户所使用的计算机资源总是会受到不同条件的限制,因此,我们就要充分利用的功能,在设计出自己的功能强大的软件的同时,尽可能地减少对系统资源的占用,并且还要力求做到通过使用本干部信息管理系统,尽量使单位的干部信息管理工作系统化、自动化和规范化,从而达到提高企、事业单位效率的目的。

本系统开发的总体设计目标是使企、事业单位的办公人员能够轻松、快捷地完成本单位的干部信息管理任务。

第二章 问题定义

工作人员:系统的录入人员,主要指管理各种档案的工作人员,需要通过密码才能进入。他们拥有对系统数据的录入、修改、查询、删除等操作权限。但不可以更改系统密码。

查询人员:权限最低的登入人员,他们拥有对相关数据的查询权限,但不能对数据进行修改和删除。

系统管理人员:指干部信息管理系统的管理人员,他们拥有所有权限,包括对系统数据的录入、修改、查询、删除等操作权限。可以对系统密码进行更改,可以管理用户信息、权限。

第三章 需求分析

一、主要功能:

本系统主要用于企事业单位的干部信息管理,采用面向对象的设计思想,以菜单和表单的形式进行各表单的调用,其系统功能分析是在系统开发的总体任务的基础上完成的。因此,本系统应该主要完成和实现如下功能:

初始化系统数据;录入干部的基本信息数据;干部基本信息数据的修改和删除;

干部信息的基本设定;浏览干部的信息;查询干部的具体参数;

干部信息: 在该项内容中将包括的数据库项有干部编号、干部姓名、职务、行政级别、年龄、性别、出生日期、政治面貌。

干部信息的基本设定:通过该模块可以设定干部编号、干部姓名、职务、行政级别、年龄、性别、出生日期、政治面貌。

二、数据流图(DFD):(略)

三、数据字典(DD):

干部信息=干部编号干部姓名+职务+行政级别+年龄+性别+出生日期+政治面貌;

应用在了:干部信息维护管理界面,干部信息录入界面

四、程序流程图

 

五、功能结构图:

立方体: 部门工资干部管理系统模块

干部信息设定模块

第四章 数据库设计

一、概念设计:系统ER图

 

二、逻辑设计:

下面列出主要的数据库表设计:

干部信息表:

三、物理设计

建立索引是加快查询速度的有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。

一般说来,建立与删除索引由数据库管理员DBA或表的属主(owner),即建立表的人,负责完成。系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能显示地选择索引。

在RDBMS中索引一般采用B+树、HASH索引来实现。B+树索引具有动态平衡的优点。HASH索引具有查找速度快的特点。索引是关系数据库的内部实现技术,属于内模式范畴。

用户使用CREATE INDEX语句定义索引时,可以定义索引是唯一索引、非唯一索引或聚簇索引。至于某一个索引是采用B+树,还是HASH索引则由具体的RDBMS来决定。

第五章 界面设计

一、登陆窗口如下所示:

若输入的密码不符合,即弹出对话框,提示该用户无法进入系统。

登陆界面

密码错误

                                 

密码正确

二、干部信息管理系统主界面

单击主菜单上的各个按钮,可以进入相应的界面中。

三、添加干部信息

先点击干部信息录入->录入新信息进行新干部信息的录入

然后输入添加的信息后点击“提交”

数据提交成功

四、查询干部信息

五、删除干部信息

六.更新干部信息

第六章 代码与注释

一、登录窗口代码

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, DB,unit2,unit3, jpeg, ExtCtrls;

type

  TForm1 = class(TForm)

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Button1: TButton;

    Button2: TButton;

    DataSource1: TDataSource;

    Edit3: TEdit;

    Edit4: TEdit;

    Image1: TImage;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

Var

strSQL:string;

begin

if (edit1.Text='')or(edit2.Text='') then

begin

showmessage('用户名或者密码不能为空');

end;

strSQL:='select 用户 from admin ';//查询用户

dm.admin_query.SQL.Clear;

dm.admin_query.SQL.Add(strSQL);

dm.admin_query.Open;

Form1.Edit3.Text:=dm.admin_query.FieldByName('用户').AsString;

strSQL:='select 密码 from admin ';//查询密码

dm.admin_query.SQL.Clear;

dm.admin_query.SQL.Add(strSQL);

dm.admin_query.Open;

Form1.Edit4.Text:=dm.admin_query.FieldByName('密码').AsString;

if (edit1.Text=edit3.Text)and(edit2.Text=edit4.Text) then

begin

showmessage('您是合法用户,欢迎进入!');

form1.Hide;

form3.Show;

end

else if(edit1.Text<>'')and(edit2.Text<>'') then

showmessage('用户名或密码错误!');

edit1.Text:='';

edit2.Text:='';

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

end.

二、干部信息录入代码

unit Unit4;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls,unit2, DB;

type

  TForm4 = class(TForm)

    GroupBox1: TGroupBox;

    Button1: TButton;

    Button2: TButton;

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    Edit3: TEdit;

    Label4: TLabel;

    Edit4: TEdit;

    Label5: TLabel;

    Edit5: TEdit;

    Label6: TLabel;

    Edit6: TEdit;

    Label7: TLabel;

    Edit7: TEdit;

    Label8: TLabel;

    Edit8: TEdit;

    DataSource1: TDataSource;

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button2Click(Sender: TObject);

begin

close;

end;

procedure TForm4.Button1Click(Sender: TObject);

var

str:string;

begin

if (edit1.Text='')or(edit2.Text='') then

begin

showmessage('干部编号或干部姓名不能为空!');

end;

if (edit1.Text<>'')and(edit2.Text<>'') then

begin

str:='select * from officer_info where 干部编号 = '+''''+edit1.Text;

str:=str+'''';

dm.information_query.SQL.Clear;

dm.information_query.SQL.Add(str);

dm.information_query.Open;

if(dm.information_query.RecordCount>0) then

begin

showmessage('数据库中已经有该人的信息,请核对后重新输入!');

end;

if(dm.information_query.RecordCount=0) then

begin

    str:= 'insert into officer_info values(' ;

    str:= str+''''+edit1.Text+''''+',';

    str:= str+''''+edit2.Text+''''+',';

    str:= str+''''+edit6.text+''''+',';

    str:= str+''''+edit7.Text+''''+',';

    str:= str+''''+edit3.Text+''''+',';

    str:= str+''''+edit4.Text+''''+',';

    str:= str+''''+edit5.Text+''''+',';

    str:= str+''''+edit8.Text+'''';

    str:= str+')';

    dm.information_query.SQL.Clear;

    dm.information_query.SQL.Add(str);

    dm.information_query.ExecSQL();

    showmessage('数据提交成功!');

    edit1.Text:='';

    edit2.Text:='';

    edit3.Text:='';

    edit4.Text:='';

    edit5.Text:='';

    edit6.Text:='';

    edit7.Text:='';

    edit8.Text:='';

  end;

  end;

end;

end.

三、干部信息维护(包括查询、修改、删除)代码

unit Unit5;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs,unit2, Grids, DBGrids, StdCtrls, DB;

type

  TForm5 = class(TForm)

    GroupBox1: TGroupBox;

    GroupBox2: TGroupBox;

    DataSource1: TDataSource;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    GroupBox3: TGroupBox;

    DBGrid1: TDBGrid;

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    Edit3: TEdit;

    Label4: TLabel;

    Edit4: TEdit;

    Label5: TLabel;

    Edit5: TEdit;

    Label6: TLabel;

    Edit6: TEdit;

    Label7: TLabel;

    Edit7: TEdit;

    Label8: TLabel;

    Edit8: TEdit;

    Button4: TButton;

    procedure DBGrid1CellClick(Column: TColumn);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure FormShow(Sender: TObject);

    procedure Button4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.DBGrid1CellClick(Column: TColumn);

begin

edit1.Text:=dm.information_query.FieldByName('干部编号').AsString;

edit2.Text:=dm.information_query.FieldByName('干部姓名').AsString;

edit3.Text:=dm.information_query.FieldByName('职务').AsString;

edit4.Text:=dm.information_query.FieldByName('行政级别').AsString;

edit5.Text:=dm.information_query.FieldByName('年龄').AsString;

edit6.Text:=dm.information_query.FieldByName('性别').AsString;

edit7.Text:=dm.information_query.FieldByName('出生日期').AsString;

edit8.Text:=dm.information_query.FieldByName('政治面貌').AsString;

end;

procedure TForm5.Button1Click(Sender: TObject);

Var

strSQL:string;

begin

if (edit1.Text<>'') then

begin

strSQL:='select * from officer_info where 干部编号='+'''';

strSQL:=strSQL+Edit1.Text+'''';

dm.information_query.SQL.Clear;

dm.information_query.SQL.Add(strSQL);

dm.information_query.Open;

end;

if (edit1.Text='') then

strSQL:='select * from officer_info';

dm.information_query.SQL.Clear;

dm.information_query.SQL.Add(strSQL);

dm.information_query.Open;

end;

procedure TForm5.Button2Click(Sender: TObject);

Var

strSQL:string;

begin

if (edit1.Text<>'') then

begin

strSQL:='delete * from officer_info where 干部编号='+'''';

strSQL:=strSQL+Edit1.Text+'''';

dm.information_query.SQL.Clear;

dm.information_query.SQL.Add(strSQL);

dm.information_query.ExecSQL;

showmessage('删除成功!');

edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

edit5.Text:='';

edit6.Text:='';

edit7.Text:='';

edit8.Text:='';

end;

if (edit1.Text='') then

showmessage('请输入要删除人员的干部编号!');

end;

procedure TForm5.Button3Click(Sender: TObject);

var

strSQL:string;

begin

if(edit1.Text='') then

begin

showmessage('请输入要更新人员的干部编号!');

end;

if(edit1.Text<>'') then

begin

strSQL:='update  officer_info set 干部编号='+'''';

strSQL:=strSQL+edit1.Text+''''+',';

strSQL:=strSQL+'干部姓名 = '+''''+edit2.Text+''''+',';

strSQL:=strSQL+'职务 = '+''''+edit3.Text+''''+',';

strSQL:=strSQL+'行政级别 = '+''''+edit4.Text+''''+',';

strSQL:=strSQL+'年龄 = '+''''+edit5.Text+''''+',';

strSQL:=strSQL+'性别 = '+''''+edit6.Text+''''+',';

strSQL:=strSQL+'出生日期= '+''''+edit7.Text+''''+',';

strSQL:=strSQL+'政治面貌 = '+''''+edit8.Text+'''';

strSQL:=strSQL+' where 干部编号 = '+''''+edit1.Text+'''';

dm.information_query.SQL.Clear;

dm.information_query.SQL.Add(strSQL);

dm.information_query.ExecSQL;

showmessage('更新成功!');

edit1.Text:='';

edit2.Text:='';

edit3.Text:='';

edit4.Text:='';

edit5.Text:='';

edit6.Text:='';

edit7.Text:='';

edit8.Text:='';

end;

end;

procedure TForm5.FormShow(Sender: TObject);

var

i:integer;

begin

for i:=0 to 7 do

    begin

       DBGrid1.Columns.Items[i].Width:=90;

    end;

end;

procedure TForm5.Button4Click(Sender: TObject);

begin

    edit1.Text:='';

    edit2.Text:='';

    edit3.Text:='';

    edit4.Text:='';

    edit5.Text:='';

    edit6.Text:='';

    edit7.Text:='';

    edit8.Text:='';

end;

end.

六、设计总结

本系统可完成基本的干部信息查询和添加删除其的相关信息,在登录系统的安全性方面也有着一定的保证,实现了干部信息的管理,包括添加,查询,删除等。

1)在界面设计方面,某些设计不是很合理,整个系统的界面设计不够美观,简洁;

2)在功能实现方面,比如信息修改等,由于时间原因,没有完善。

3)对表的设计很不完善,并且只有两个个表,所以表间的关系也没有实现。

总而言之,本系统基本上实现了干部信息管理的功能,但是附加功能没有,系统很不完善,其他细节可以逐步完善。这次课设中学到了不少东西,无论是编程还是数据库设计,受益匪浅。

参考文献:

[1]张世明主编.《Delphi程序设计基础——教程、试验、习题》.电子工业出版社,20##-3

[2]王珊 萨师煊主编《数据库系统概论》第四版.高等教育出版社,2006.5

[3]《数据库原理及应用》  钱雪忠主编  北京邮电大学出版社   2007,8 第二版

[4] 《数据库技术与联机分析处理》  王珊主编    北京科学出版社 1998

[5] 张龙祥.数据库原理与设计[M].成都:西南交通大学出版社,1994

[6] 张龙祥等.数据库原理与设计.北京:人民邮电出版社,2002

[7] 刘方鑫等.数据库原理与技术.北京:电子工业出版社,2002

[8] 韩庆兰.数据库技术.长沙:湖南科学技术出版社,2001

更多相关推荐:
数据库课程设计报告书

课程设计报告书单位房产管理系统班级方10052学号20xx5869姓名许晓飞指导教师郭建方石家庄铁道大学四方学院20xx年6月23日一设计思想首先在SQLServerManagementStudio中建立程序运...

数据库课程设计报告范例

数据库课程设计报告课题名称:图书管理统专业:信息与计算科学班级:信计071班小组人员:***一.背景资料在高校中,学生的数量较多,图书的数量也比较多,每天图书的借阅量比较大,采用手工的处理方式已经不能满足这种需…

数据库课程设计报告书模版

河北科技大学课程设计报告学生姓名学号专业班级课程名称学年学期2020学年第学期指导教师20年月课程设计成绩评定表目录一引言二系统概要设计三系统详细设计四设计效果五结论六存在的不足和下一步的改进建议参考文献一引言...

数据库课程设计报告

南京理工大学泰州科技学院计算机科学与技术系信管专业10信管2班级大型数据库课程设计报告书姓名赵敏学号指导老师职称讲师设计地点起讫时间完成报告书时间20xx年12月5日第1页课程设计要求各专业学生应根据课程任教老...

数据库课程设计实验报告

中南大学本科生课程设计实践任务书设计报告数据库技术与应用题目学生姓名指导教师学院专业班级学生学号诗歌管理系统胡毅王小玲湘雅医学院临床医学八年制220xx30505计算机基础教学实验中心20xx年6月3日诗歌管理...

图书管理系统数据库课程设计报告书

图书管理系统一背景资料1图书馆有各种图书若干万册2每种图书都有书名图书编号作者译者出版社定价和内容简介3借书证记录有借阅者的姓名工作单位住址联系电话等4凭借书证借书每次最多能借5本书借书期限最长为60天二系统功...

数据库课程设计报告04

数据库系统原理及其应用教程课程设计报告题目名称图书出版管理系统姓名央宗学号20xx年12月29日目录一需求分析2二系统功能分析2三ER图3四数据库设计6五详细设计9六运行效果13七总结与体会17八参考文献181...

图书管理系统数据库课程设计报告书

河南理工大学图书管理系统一背景资料1图书馆有各种图书若干万册2每种图书都有书名图书编号作者译者出版社定价和内容简介3借书证记录有借阅者的姓名工作单位住址联系电话等4凭借书证借书每次最多能借5本书借书期限最长为6...

数据库课程设计报告格式 电子版

西安邮电大学数据库课程设计报告学院名称专业名称班级学号题目选课系统课程设计计算机学院软件工程软件110404113125郭亚涛乔平安20xx年6月17日学生姓名指导教师时间至20xx年6月30日一课程设计目的1...

网上书店数据库课程设计报告

数据库课程设计报告题目网上书店专业班级学号姓名指导老师1前言网上售书是信息社会发展的必然要求国际互联网的开通为信息社会的飞速发展创造了条件因此网上售书成为各国发展电子商务的首选目标随着网络的发展网上售书的发展就...

图书管理系统数据库课程设计报告书-刘娜

课程设计报告课程设计名称PHP图书管理系统系部名称软件学院学生姓名刘娜班级11软1学号20xx01080011成绩指导教师董晓刚开课时间课程设计任务书院系中印计算机软件专业软件技术班级11软1学号20xx010...

解析图书管理系统数据库课程设计报告书

河南理工大学图书管理系统一背景资料1图书馆有各种图书若干万册2每种图书都有书名图书编号作者译者出版社定价和内容简介3借书证记录有借阅者的姓名工作单位住址联系电话等4凭借书证借书每次最多能借5本书借书期限最长为6...

数据库课程设计报告书(19篇)