数据库综合实践报告.docx

上传人:b****6 文档编号:5380712 上传时间:2022-12-15 格式:DOCX 页数:34 大小:203.27KB
下载 相关 举报
数据库综合实践报告.docx_第1页
第1页 / 共34页
数据库综合实践报告.docx_第2页
第2页 / 共34页
数据库综合实践报告.docx_第3页
第3页 / 共34页
数据库综合实践报告.docx_第4页
第4页 / 共34页
数据库综合实践报告.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

数据库综合实践报告.docx

《数据库综合实践报告.docx》由会员分享,可在线阅读,更多相关《数据库综合实践报告.docx(34页珍藏版)》请在冰豆网上搜索。

数据库综合实践报告.docx

数据库综合实践报告

 

数据库应用课程设计

名片管理系统的设计

专业

计算机科学与技术

学生姓名

杨蓓蕾

班级

D计算机121

学号

1220704135

指导教师

张静林

完成日期

2014年6月29日

目录

1概述1

2课题研究背景与意义1

2.1课题研究背景1

2.2课题研究意义2

3开发工具名介绍2

3.1开发平台及环境介绍2

3.2数据库介绍3

4系统功能介绍3

4.1主要功能3

4.2数据库设计4

5详细设计6

5.1基本模块的设计6

5.2删除模块的设计6

5.3修改模块的设计7

5.4查询模块的设计7

6结束语7

附录8

附录1基本模块代码8

附录2修改模块代码13

附录3其他操作模块代码20

名片管理系统的设计

1概述

随着社会发展的日新月异,商业来往日渐广泛,人们之间的交往也日益频繁,于是,人们手中便出现了名目繁多的通讯录、名址录、名片夹等对交友或客户进行管理的工具,但是一张张名片上的信息虽然不多,却占据了很大的空间;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而建立自己的电子文档对名片进行管理虽然克服了以上的缺点,但查询效率低下,特别是当数据量十分庞大时,劣势更加明显.随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及.因此开发一个既可以存储信息,又可以进行更新、查询等功能,同时价格又能为广大消费者接受的多功能电子通讯录就显得十分必要.名片管理系统是为了实现办公自动化管理而设计的,它完全取代了原来一直用人工处理的工作方式,并且避免了由于用户的工作疏忽以及管理质量问题所造成的各种错误,为及时,准确,高效的完成名片管理工作提供了强有力的工具和管理手段。

名片管理系统是一个小型数据库管理系统,采用C#开发而成的,界面美观,操作简单,安全性高,基本满足了用户的要求。

整个系统由系统设置,类别设置,查询管理,输入管理,打印管理等模块组成。

2课题研究背景与意义

名片管理系统广泛应用于以数据库系统为核心的办公自动化系统、管理信息系统和决策支持系统等。

伴随着人们社会活动和人际交往的日益频繁,人们手中出现了名目繁多的名片夹、通讯录等交友或者客户进行管理的工具。

而计算机科学技术的日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对各项信息进行管理,具有手工管理所无法比拟的优点。

2.1课题研究背景

随着社会发展的日新月异,商业往来日渐广泛,人们之间的交往日益频繁,于是,人们手中便出现了越来越多的名片、名片录、名片夹等对交友或客户进行管理的工具,虽然一张张名片上的信息虽然不多,却占据了很大的空间;同时,这些传统的手动管理方式存在着不易更新、不易存放、容易丢失、难以备份等重大缺陷;而建立自己的电子文档对名片进行管理虽然克服了以上的缺点,但查询效率低下,特别是当数据量十分庞大时,劣势更加明显。

随着商务通的出现,虽然实现了可构造查询条件的名片电子化管理,但价格昂贵,难以在广大客户中进行全面普及。

因此开发一个既可以存储信息,又可以进行更新、查询等功能,同时价格又能为广大消费者接受的多功能名片就显得十分必要。

2.2课题研究意义

作为整个办公自动化系统的一部分,名片管理系统要实现的目标是:

将用户目前在处理名片管理工作时所采用的手工处理方式进行计算机化,从而与整个办公自动化系统的数字化趋势相协调,以求为用户提供更为专业和高效的管理服务。

名片管理系统是用于辅助个人完成其名片有序管理的计算机软件系统,系统实施的目的旨在帮助用户完成其私人名片管理的数字化,以提供较手工方式下更高的工作效率和更低的出错率。

3开发工具名介绍

3.1开发平台及环境介绍

MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。

MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

MicrosoftSQLServer2005数据引擎是该企业数据管理解决方案的核心。

此外MicrosoftSQLServer2005结合了分析、报表、集成和通知功能。

这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域。

与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包(包括BusinessIntelligenceDevelopmentStudio)的紧密集成使MicrosoftSQLServer2005与众不同。

无论您是开发人员、数据库管理员、信息工作者还是决策者,MicrosoftSQLServer2005都可以为您提供创新的解决方案,帮助您从数据中更多地获益。

MicrosoftSQLServer2005是用于大规模联机事务处理(OLTP)、数据仓库和电子商务应用的数据库平台;也是用于数据集成、分析和报表解决方案的商业智能平台。

SQLServer2005引入了一些“Studio”帮助实现开发和管理任务:

SQLServerManagementStudio和BusinessIntelligenceDevelopmentStudio。

在ManagementStudio中,可以开发和管理SQLServer数据库引擎与通知解决方案,管理已部署的AnalysisServices解决方案,管理和运行IntegrationServices包,以及管理报表服务器和ReportingServices报表与报表模型。

在BIDevelopmentStudio中,可以使用以下项目来开发商业智能解决方案:

使用AnalysisServices项目开发多维数据集、维度和挖掘结构;使用ReportingServices项目创建报表;使用报表模型项目定义报表的模型;使用IntegrationServices项目创建包。

3.2数据库介绍

SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。

SQL语言的主要功能就是同各种数据库建立联系,进行沟通。

按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。

SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。

绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。

虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。

数据库引擎是用于存储、处理和保护数据的核心服务。

利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内要求极高而且需要处理大量数据的应用需要。

使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。

这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。

可以使用SQLServerManagementStudio管理数据库对象,使用SQLServerProfiler捕获服务器事件。

4系统功能介绍

4.1主要功能

1.系统功能需求分析:

系统开发的总体任务是各种信息的系统化、规范化和自动化。

主要完成的功能:

按客户编号、姓名或者职业查询客户的基本信息;

可以添加,修改或删除客户信息;

按客户信息编号查询名片的基本信息;

对名片信息进行添加、删除、修改、查询

2.系统性能需求分析:

(1)数据精确度

进行操作请求时,如:

名片添加、名片删除、名片修改、名片查询时,应保证输入数据与数据库数据的相匹配性。

而在满足用户请求时,系统应保证所响应数据的正确性和全面性。

(2)时间特性

为满足用户高效要求,数据的响应时间、更新处理时间、数据转换与传输时间、运行时间都应在可接受范围之内。

3.实体_关系

E_R图如下:

4.2数据库设计

数据字典如下:

名称

操作请求

别名

用途

更新名片管理系统

描述

操作请求=添加|修改|删除|查询

名称

名片信息

别名

名片资料

用途

查找名片、更新名片

描述

名片信息=卡号+姓名+性别+生日+工作单位+职务+电话+家庭地址+邮编+电子邮件

名称

用户信息

别名

用途

确认用户身份

描述

用户信息=用户名+用户登陆密码

名称

查询结果

别名

用途

对用户操作进行响应、查询处理

描述

查询结果=名片信息

名片表:

序号

字段名

类型及长度

是否为空

含义

1

carid

int

Not

卡号

2

tpid

int

Not

类别编号

3

frdname

Char(10)

Not

姓名

4

sex

Char

(2)

Yes

性别

5

birthday

datetime

Yes

生日

6

depart

vachar(50)

Yes

工作单位

7

power

vachar(50)

Yes

职务

8

homephone

char(10)

Yes

家庭电话

9

officephone

char(10)

Yes

办公电话

10

mobil

char(10)

Yes

移动电话

11

address

char(20)

Yes

家庭地址

12

number

char(10)

Yes

邮编

13

email

varchar(30)

Yes

电子邮件

表名:

名片主键:

carid

类别表

序号

字段名

类型及长度

是否为空

含义

1

tpid

int

Not

类别编号

2

tpname

Char(20)

Yes

类别

表名:

类别主键:

lbbh

用户表

序号

字段名

类型及长度

是否为空

含义

1

uername

Char(10)

Not

用户名

2

password

Char(10)

Not

密码

表名:

用户主键:

username

5详细设计

5.1基本模块的设计

5.2删除模块的设计

5.3修改模块的设计

5.4查询模块的设计

6结束语

两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。

在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。

学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。

同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。

在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。

从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。

亲身体验了一回系统的设计开发过程。

真正需要自己想办法去设计一个系统的时候才发现其中的难度。

经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。

按照要求,我们做的是名片管理系统。

在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。

我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解。

最后,很感激学校给了我们这次动手实践的机会,让我们学生有了一个共同学习,增长见识,开拓视野的机会。

附录

附录1基本模块代码

/*

*Tochangethistemplate,chooseTools|Templates

*andopenthetemplateintheeditor.

*/

packagenewpackage;

importjava.awt.event.ComponentAdapter;

importjava.awt.event.ComponentEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.IOException;

importjavax.swing.JFrame;

publicclassWindowOperate

{

privateJFramejf;

privateJFramejf2;

privateintlimitewidth=0;

privateintlimiteheight=0;

publicvoidgetAddComponentListener(finalJFramejf,finalintlimitewidth,

finalintlimiteheight)

{

this.jf=jf;

this.limitewidth=limitewidth;

this.limiteheight=limiteheight;

jf.addComponentListener(newComponentAdapter()

{

publicvoidcomponentResized(ComponentEvente)

{

intwidth=e.getComponent().getWidth();

intheight=e.getComponent().getHeight();

if(width

{

width=limitewidth;

}

if(height

{

height=limiteheight;

}

jf.setSize(width,height);

}

});

}

publicvoidgetaddWindowListener(finalJFramejf)

{

this.jf=jf;

jf.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

System.exit(0);

}

});

}

publicvoidgetaddWindowListener(finalJFramejf,finalJFramejf2)

{

this.jf=jf;

this.jf2=jf2;

jf.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

jf.setVisible(false);

jf2.setVisible(true);

}

});

}

publicvoidrefreshWindow(finalJFramejf)

{

jf.setVisible(false);

jf.setVisible(true);

}

}

/*

*Tochangethistemplate,chooseTools|Templates

*andopenthetemplateintheeditor.

*/

packagenewpackage;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.ResultSetMetaData;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.Map;

importjava.util.Vector;

importjavax.swing.JTable;

publicclassUserModel

{

StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";

StringdbURL="jdbc:

sqlserver:

//localhost:

1433;DatabaseName=";

Stringuser="sa";

Stringpwd="123456";

Connectionconnection=null;

Statementstatement=null;

ResultSetresultSet=null;

PreparedStatementpstmt=null;

JTablejtable=null;

VectorrowDate=null;

VectorcolumnNames=null;

publicbooleanconnect()

{

try

{

Class.forName(driverName);

connection=DriverManager.getConnection(dbURL,user,pwd);

System.out.println("连接数据库成功");

statement=connection.createStatement();

returntrue;

}catch(Exceptione)

{

e.printStackTrace();

returnfalse;

}

}

publicbooleanclose()

{

try

{

resultSet.close();

statement.close();

connection.close();

pstmt.close();

returntrue;

}catch(Exceptione)

{

e.printStackTrace();

returnfalse;

}

}

publicJTableexecuteQuery(JTablejtable,Stringstr)

{

this.jtable=jtable;

Stringsql="select*fromemp";

try

{

resultSet=statement.executeQuery(sql);

columnNames=newVector();

columnNames.add("编号");

columnNames.add("姓名");

columnNames.add("职位");

columnNames.add("工资");

columnNames.add("部门编号");

rowDate=newVector();

while(resultSet.next())

{

if(str.equals("all"))

{

Vectorrow=newVector();

row.add(resultSet.getString

(1));

row.add(resultSet.getString

(2));

row.add(resultSet.getString(3));

row.add(resultSet.getString(4));

row.add(resultSet.getString(5));

rowDate.add(row);

jtable=newJTable(rowDate,columnNames);

}

if(str.equals(resultSet.getString

(1)))

{

Vectorrow=newVector();

row.add(resultSet.getString

(1));

row.add(resultSet.getString

(2));

row.add(resultSet.getString(3));

row.add(resultSet.getString(4));

row.add(resultSet.getString(5));

rowDate.add(row);

jtable=newJTable(rowDate,columnNames);

}

}

}catch(SQLExceptione)

{

e.printStackTrace();

}

returnjtable;

}

publicVectorexecuteQuery(Vectorvector,Stringstr)

{

Stringsql="select*fromemp";

vector=newVector();

try

{

resultSet=statement.executeQuery(sql);

while(resultSet.next())

{

if(str.equals(resultSet.getString

(1)))

{

vector.add(resultSet.getString

(1));

vector.add(resultSet.getString

(2));

vector.add(resultSet.getString(3));

vector.add(resultSet.getString(4));

vector.add(resultSet.getString(5));

}

}

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

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1