某某大学
毕 业 设 计
中文题目:银行客户信息管理系统的设计与实现 英文题目: Design and Implementation of The Bank
Customer Information Management System
学生姓名
系 别 计算机科学与信息工程系 专业班级 指导教师 成绩评定
2046年13月
目 录
1 绪论 ................................................................ 1 1.1 开发背景 ........................................................... 1 1.2 开发目的 ........................................................... 1 1.3 设计思路 ........................................................... 2 2 系统总体说明 ........................................................ 2 2.1 使用环境 ........................................................... 2 2.2 系统主要功能 ....................................................... 3 2.3 系统主要特点 ....................................................... 4 3 开发环境与相关技术 .................................................. 4 3.1 开发环境 ........................................................... 4 3.2 开发工具的选用及介绍 ............................................... 4 3.3 设计方法与技术 ..................................................... 5 4 系统设计要点 ........................................................ 6 4.1 数据库设计 ......................................................... 6 4.2 系统整体介绍 ....................................................... 8 4.3 系统主要功能的实现 ................................................ 10 5 讨论 ............................................................... 30 5.1 设计存在的问题 .................................................... 30 5.2 进一步改进设想 .................................................... 30 5.3 经验与体会 ........................................................ 30 参考文献 .............................................................. 31 致谢 .................................................................. 32 附录1 相关英文文献 ................................................... 33 附录2 英文文献中文译文 ............................................... 38
摘 要
随着因特网的发展,传统的模式已经不能适应逐渐庞大起来的银行体系,如何管理好银行客户的信息,成为银行企业管理中的一个大问题。在这种情况下,开发一个银行客户信息管理系统就显得非常必要。该系统采用ASP.NET技术作为创建应用程序的方式,以C#作为编程语言,采用SQL Server 2005数据库作为后台数据库。前台客户通过登录可以查询个人信息,交易信息,修改密码及进行存取款交易。后台管理员能够管理客户和管理员的信息,实现对信息的增加、删除、查询、修改。该系统具有页面美观、操作便捷等优势,能为用户提供一个简单快捷的交易、查询平台。与此同时,还能够提高银行的管理效率,使银行工作人员为客户提供更为贴心的服务。
关键词: 银行客户信息;ASP.NET;SQL Server 2005
ABSTRACT
With the development of the Internet, the traditional model already can not adapt to the developing bank system, how to manage the bank customer information, become a big problem of the bank management. So the development of a bank customer information management system is necessary. This system using ASP.NET technology as the way to create application, using c# as the programming language, using SQL Server 2005 database as the backend database. Customers through the login can look up the personal information and transaction information, change the password and different trading. Administrators can manage the information of customers and administrator, and being the increasing, the deleting, the looking up and the updating for the information. The system had many advantages such as page-beautifully, operate simple, it provides a simple and quick trading and inquires platform. At the same time,it can improve efficiency of the bank management, making the bank officials provide the better services for customer.
Key Words: Bank Customer Information; ASP.NET; SQL Server 2005
银行客户信息管理系统的设计与实现
张璇滢
(天津农学院 计算机科学与信息工程系)
1 绪论 1.1 开发背景
在目前我国的银行中,尽管各银行在信息管理系统的建立方面投入规模庞大,但除少数银行外,多数银行的客户信息管理系统还处在比较低的水平,在计算机技术客户信息的管理与应用方面还与世界发达国家的银行系统有着很大差距,系统的建立不仅缺乏总体规划,而且数据的采集规范性差、真实性无有效保障同时,银行客户信息管理系统的内容还比较匮乏、滞后、缺乏科学性的分析方法和手段。
在未来的银行发展过程中,面对着中国巨大的客户群体及广阔的市场发展潜力,中国各大银行面临着前所未有的发展机遇,在经济利润不断凸显的形势下,各大银行竞争也将变得越来越激烈[1]。今后的银行客户信息管理系统建设当中,必须拥有快捷的业务办理方式和现代化的管理方式,突显出人性化设计和为客户服务的理念。
所以伴随着今后计算机网络信息技术的发展和普及,“银行客户信息管理系统”将会被国内外广泛采用,通过计算机信息技术进行客户资料管理会成为主流。因此,基于计算机网络信息技术的银行客户信息管理系统发展前景也将更加清晰。银行的客户信息管理系统可能会重新制定统一标准,方便银行对客户资料的管理。
综上所述,通过计算机网络信息技术对客户信息进行管理是大势所趋,采用先进高效的B/S结构的银行客户信息管理系统取代传统的人工管理和C/S结构方式管理是今后银行管理系统的发展趋势。 1.2 开发目的
开发银行客户信息管理系统的目的是为了使银行工作人员能够把银行客户信息加以集中分类的处理,通过它的管理,可以将分类处理后的信息,直观的提供给工作人员,加强对银行企业用人的优化分配,充分发挥人的作用。此外银行工作人员也可以方便快捷的管理客户信息,实现对客户信息数据的新增、修改、删除,进而达到提高工作效率和管理水平的目的[2]。
由于银行需即时的反映出客户信息的情况,因此是银行客户资源信息化发展的方向。银行客户信息管理系统能为银行工作人员提供一个简单、快捷的操作环境,
1
这样银行工作人员可以根据客户的实际需求来进行业务办理,从而对客户信息进行快速更新。银行工作人员也可以通过客户信息的反馈来为客户提供更为贴心的服务,制定解决银行与客户之间实际问题的方案,从而提高银行对客户信息管理的质量。
银行采用计算机对客户信息进行管理是银行信息化的重要环节,信息化建设可以成为员工提高技术素质、业务素质、文化修养、获取知识、信息的新途径,给银行带来良好的技术氛围,从而提高效益[3]。银行工作人员通过使用银行客户信息管理系统,可以清晰直观的看到客户信息;并随时对客户信息进行更新、管理,不仅能够减少员工的工作量,人工管理及C/S结构管理中常出现的失误,还可以增加员工的工作热情,有效提高效益。信息化建设给银行带来的经济效益在业务流程中较为明显,员工体力劳动向智能化发展,减轻工作强度,得以把精力集中于为业务的发展管理上,带来工作效率的提高,为银行增加收入,有效提高经济效益。 1.3 设计思路
该系统主要可以供银行客户及管理员两个使用人群来使用。
客户可以通过首页的登录功能进行登录,之后就可以使用查询模块、交易模块及修改密码模块的功能。这包括查询交易信息功能、查询个人信息功能、存款、取款和修改登录密码。客户操作完毕可以退出系统,返回主页面。
管理员通过前台的管理员登录页面进行身份验证,进入后台对整个银行客户信息及管理员信息进行管理和维护。功能方面涉及到客户信息管理和管理员信息管理两个个模块以及管理员修改密码一项功能。在每个模块都有新增、编辑、删除、查询的基本功能。
系统前台页面布局美观,通过简洁,方便的方式为客户提供服务,提高客户的满意度。后台页面简洁直观,致力于对数据进行管理,减少冗余的工作,提高管理员的工作效率。 2 系统总体说明 2.1 使用环境
为了确保系统能够运行高效可靠,需要服务器端具备较高配置,客户端达到相应的系统运行指标即可[4]。具体运行要求如下: 2.1.1 硬件配置要求
服务器端:
CPU:双核以上Pentium/AMD处理器。
2
内存:1G以上。 客户端:
CPU:600HZ以上Pentium/AMD处理器。 内存:256MB以上。 显示器: 1024*768像素。 2.1.2 软件配置要求
服务器端:
操作系统:Windows 2003操作系统。 数据库: Microsoft SQL Server 2005。 软 件: .NET FrameWork3.5。
Internet Information Server (IIS)5.1及其以上版本。
客户端:
操作系统:Windows XP操作系统。 浏览器: Internet Explorer6.0以上。 2.2 系统主要功能 2.2.1 前台服务功能
(1)查询模块:在该系统中,客户登录自己的账号后,可进行业务查询,其中包括个人信息的查询和交易信息的查询两个方面。个人信息查询可显示该客户的卡号、姓名、性别、身份证号、电话、住址、账户金额等详细信息,如信息有误,可到银行找工作人员及时修改。交易信息查询可显示最后一次交易的金额、时间等信息,以确保账户的安全。
(2)交易模块:交易模块是系统前台的主要模块,它包括存款交易和取款交易两个功能。客户在该模块可以根据自己的需求,轻松的实现存取款交易。
(3)修改密码模块:已登录的客户可以进入该模块,通过输入登录密码,新秘密,及确认密码来修改自己当前的登录密码。 2.2.2 后台管理功能
(1)客户信息管理模块:客户信息管理模块包括新增客户、删除客户、编辑客户信息及查询客户信息信四个功能,实现对客户信息的综合管理。其中查询客户信息是依据卡号查询出对应的客户信息。
(2)管理员信息管理模块:管理员信息管理模块包括新增管理员、删除管理员、编辑管理员信息及查询管理员信息信四个功能,实现对管理员信息的综合管理。其
3
中查询管理员信息是依据工号查询出对应的管理员信息。
(3)管理员修改密码模块:已登录的管理员可以进入该模块,通过输入登录密码,新秘密,及确认密码来修改自己当前的登录密码。 2.3 系统主要特点
2.3.1 人性化前台界面,操作快捷简便
该系统前台简洁明朗,操作信息一目了然,其中主要业务办理方向分为三大类,包括查询、交易、修改密码。查询功能则可实现查询个人信息及交易信息;交易功能则可实现存取款交易。这样的设计可以帮助客户进行快速的交易,节省时间。间接的提高了客户自主完成业务的办理数量,与此同时也减轻了银行工作人员的工作量。
2.3.2 后台管理简单有效
该系统的后台管理模块功能一目了然,包括客户信息、管理员信息等基本信息的新增、编辑、删除、查询功能。由于前台信息排列及展示是单独进行的,不需要管理员维护,管理员只需要修改数据库中的数据,前台就会有相应的改变。因此管理员可以专心于管理网站的数据信息,达到简化管理的目的。 3 开发环境与相关技术 3.1 开发环境
软件环境:
操作系统:Windows XP Professional。 浏览工具:IE 8.0。
开发平台:Visual Studio 2008 Team Suite。 数据库: SQL Server 2005 Express。 辅助工具:Adobe Photoshop CS4。 硬件环境:
CPU: AMD Athlon II X4 640。 内 存: 4 GB。 硬 盘 : 1 TB。 3.2 开发工具的选用及介绍 3.1.1 Microsoft Visual Studio 2008
Visual Studio是微软公司推出的开发环境,Visual Studio可以用来创建Windows
4
平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件[5]。
Visual Studio 2008包括各种增强功能,例如可视化设计器、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能[6]。Visual Studio 2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。
开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP.NET 应用程序服务和 Microsoft 平台。
为了帮助开发人员迅速创建先进的软件,Visual Studio 2008提供了改进的语言和数据功能,例如语言集成的查询(LINQ),各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息[7]。 3.2.2 SQL Server 2005
SQL(Structured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI的规定,SQL被作为关系型数据库管理系统的标准语言[8]。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
与Microsoft Visual Studio、Microsoft Office System以及新的开发工具包的紧密集成使SQL Server 2005与众不同[9]。无论是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005都可以提供创新的解决方案,帮助从数据中更多地获益。
3.3 设计方法与技术 3.3.1 设计方法
该系统遵循软件生命周期,经历可行性分析、需求分析、设计、编码、测试阶段完成。
(1)可行性分析:探究开发银行客户信息管理系统的可行性,因为不涉及实际市场销售,这里主要考虑了个人技术可行性以及社会可行性。
(2)需求分析:查阅资料及参考文献,了解当今银行客户信息管理的背景。
5
认真分析客户的功能需求以及网站的性能需求。
(3)设计:主要进行网站总体规划及数据库设计、确定网站服务人群和涵盖功能、整体部署网站基本框架并根据其使用SQL Server 2005设计合理的数据库[10]。
(4)编码:编码主要使用Microsoft Visual Studio 2008进行功能程序文件的编码及网页文件的设计。程序文件主要使用C#语言编程实现相关功能[11],网页文件的设计则使用CSS内嵌样式统一布局,美化页面。
(5)测试:网站基本完成后,调试运行网站进行测试并对其中错误逐步修改。 3.3.2 设计技术
系统运用ASP.NET 3.5技术,ASP.NET能够提供一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。
ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言创作应用程序。另外,任何ASP.NET 应用程序都可以使用整个.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等[12]。
ASP.NET可以无缝地与Microsoft Visual Studio .NET一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 4 系统设计要点 4.1 数据库设计 4.1.1 数据库的概念设计
数据库概念设计主要涉及实体-属性图的设计。 客户信息Client的实体-属性图如图1所示:
6
No Before Name ID_No Password Account Last Sex Client Information Time Tel 图1 Client实体-属性图
Address 管理员信息Administrator的实体-属性图如图2所示:
No Name Administrator Sex Tel Address Position ID_No Password 图2 Administrator实体-属性图
4.1.2 数据库的逻辑设计
数据库逻辑设计主要涉及建立各表并确定各个表的字段、数据类型、长度、是否为空等。各主要表的如下:
(1)客户表信息Client如表1所示,其中No存储客户卡号,Name存储姓名,Sex存储性别,ID_No存储身份证号,Address存储客户住址,Tel存储联系方式,Account存储当前客户账户余额, Password存储密码, Time存储客户最后一次交易时间,Information存储客户最后一次交易金额,Before存储客户交易前账户金额,Last存储客户交易后账户金额。
7
表1 Client表
字段名称 No Name Sex ID_No Address Tel Account Password Time Information Before Last
类型 varchar varchar char varchar varchar varchar numeric varchar datetime numeric numeric numeric
长度 50 10 2 50 50 50 10,2 10 10,2 10,2 10,2
是否为空 否 否 否 否 否 否 否 否 是 是 是 是
说明 主键 无 无 无 无 无 无 无 无 无 无 无
(2)管理员信息表Administrator如表2所示,其中No存储管理员工号,Name存储姓名,Sex存储性别,ID_No存储身份证号,Address存储管理员住址,Tel存储联系方式,Position存储管理员职位, Password存储密码。
表2 Administrator表
字段名称 No Name Sex ID_No Address Tel Position Password
类型 varchar varchar char varchar varchar varchar varchar varchar
长度 50 10 2 50 50 50 50 50
是否为空 否 否 否 否 否 否 否 否
说明 主键 无 无 无 无 无 无 无
4.2 系统整体介绍 4.2.1 系统前台功能结构
前台的功能结构如图3所示:
8
前台功能 用户验证 查询 交易 客户登录管理员登录个人信息交易信息存款取款客户修改密码 4.2.2 系统后台功能结构
后台的功能结构如图4所示:
后台功能 客户信息 图3 前台功能结构图
管理员信息
新增、查询、编辑、删除、用户 新增、查询、编辑、删除、管理员 管理员修改密码 图4 后台功能结构图
9
4.3 系统主要功能的实现 4.3.1 身份验证模块
身份验证模块主要是区别使用角色并判断是否允许其进入功能页面进行管理。该模块包括客户登录以及管理员登录两个功能。
身份验证模块流程图如图5所示:
图5 身份验证模块流程图
客户进入网站可以看到用客登录页面,如图6所示:
图6 客户登录页面
10
已开户的客户可以输入卡号及密码进行登录,由于系统的需要,该系统不提供客户自行注册功能,未开户的客户则需要到银行柜台,由工作人员开户后才可在登录页面进行登录。
用户登录页面的部分功能代码如下: BaseClass BaseClass1 = new BaseClass();
protected void Button1_Click(object sender, EventArgs e) {
string strsql = \"select*from Client where No='\" + TextBox1.Text + \"'and Password='\" + TextBox2.Text + \"'\"; DataSet ds = new DataSet();
ds = BaseClass1.GetDataSet(strsql, \"username\"); if (ds.Tables[\"username\"].Rows.Count == 0) {
string scriptString = \"alert('\" + \"该客户不存在或密码错误,请确认后再登录!\" + \"');\";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true); } else {
Session[\"no\"] = TextBox1.Text; Session[\"password\"] = TextBox2.Text; Response.Redirect(\"Client.aspx\"); }
}
11
登录后客户可以看到客户功能选项,如图7所示:
图7 客户功能选项
4.3.2 客户功能模块设计
客户的主要功能包括查询模块和交易模块及修改密码功能。 客户功能模块流程如图8所示:
图8 用户功能模块流程图
(1)查询模块:查询模块包括查询个人信息和交易信息两个功能。
12
查询个人信息页面如图9所示:
图9 查询个人信息页面图
查询交易信息页面如图10所示:
图10 查询交易信息页面图
13
查询个人信息页面的部分功能实现代码如下: BaseClass BaseClass1 = new BaseClass();
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"no\"] != null) {
if (!Page.IsPostBack) {
string strsql = \"select No,Name,Sex,ID_No,Address,Tel,Account from Client where No ='\" + Session[\"no\"].ToString() + \"'\"; DataTable dt = new DataTable(); dt = BaseClass1.ReadTable(strsql);
Label8.Text = dt.Rows[0].ItemArray[0].ToString(); Label9.Text = dt.Rows[0].ItemArray[1].ToString(); Label10.Text = dt.Rows[0].ItemArray[2].ToString(); Label11.Text = dt.Rows[0].ItemArray[3].ToString(); Label12.Text = dt.Rows[0].ItemArray[4].ToString(); Label13.Text = dt.Rows[0].ItemArray[5].ToString(); Label14.Text = dt.Rows[0].ItemArray[6].ToString(); } } else {
Response.Redirect(\"Home.aspx\"); }
}
查询交易信息页面的部分功能实现代码如下: BaseClass BaseClass1 = new BaseClass();
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"no\"] != null)
14
{
if (!Page.IsPostBack) {
string strsql = \"select Time,Information,Account from Client where No ='\" + Session[\"no\"].ToString() + \"'\";
DataTable dt = new DataTable(); dt = BaseClass1.ReadTable(strsql);
Label1.Text = dt.Rows[0].ItemArray[0].ToString(); Label2.Text = dt.Rows[0].ItemArray[1].ToString(); Label6.Text = dt.Rows[0].ItemArray[2].ToString(); string aa = \"select Before,Last from Client where No ='\" + Session[\"no\"].ToString() + \"'\";
DataTable dt1 = new DataTable(); dt1 = BaseClass1.ReadTable(aa);
double a = Convert.ToDouble(dt1.Rows[0].ItemArray[0]); double b = Convert.ToDouble(dt1.Rows[0].ItemArray[1]); if (a < b) {
Label3.Text = \"您的账户存款:\"; }
else if (a > b) {
Label3.Text = \"您的账户取款:\"; } else {
string scriptString = \"alert('\" + \"无近期交易记录!\" + \"');\"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true);
Label1.Visible = false; Label2.Visible = false; Label3.Visible = false;
15
Label4.Visible = false; Label5.Visible = false; Label6.Visible = false; } } } else {
Response.Redirect(\"Home.aspx\"); }
}
(2)交易模块:交易模块包括存款功能和取款功能。用户可以在这里进行存取款交易。
存款页面如图11所示:
图11 存款页面图
取款页面如图12所示:
图12 取款页面图
存取款页面代码较为类似,以存款页面为例: 存款页面部分功能实现代码如下:
16
BaseClass BaseClass1 = new BaseClass();
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"no\"] != null) {
if (!IsPostBack) {
string strsql = \"select Account from Client where No='\" + Session[\"no\"].ToString() + \"'\";
DataTable dt = new DataTable(); dt = BaseClass1.ReadTable(strsql); } } else {
Response.Redirect(\"Home.aspx\"); } }
protected void Button3_Click(object sender, EventArgs e) {
if (TextBox1.Text == \"\") {
string scriptString = \"alert('\" + \"您尚未输入金额!\" + \"');\";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true); } else {
string strsql;
strsql = \"update Client set Before = (Client.Account) where No ='\" + Session[\"no\"].ToString() + \"'\";
BaseClass1.execsql(strsql);
17
strsql = \"update Client set Client.Last = (Client.Before +'\" + TextBox1.Text + \"'),Time = (convert(datetime,'\" + DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\") + \"',120)),Information='\" + TextBox1.Text + \"' where No ='\" + Session[\"no\"].ToString() + \"'\";
BaseClass1.execsql(strsql);
strsql = \"update Client set Client.Account=(Client.Last) where No ='\" + Session[\"no\"].ToString() + \"'\";
BaseClass1.execsql(strsql);
string scriptString = \"alert('\" + \"您的存款金额为\" + \"'+'\"+TextBox1.Text+\"'+'!');\";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true); }
}
(3)客户修改密码功能:点击客户功能选项中的修改密码,客户需要输入旧的密码,然后重复输入新密码。点击确认修改完成修改密码操作。这里首先要验证原密码输入是否与登录密码一致,然后再使用CompareValidator控件实现确认新密码是否输入一致。客户修改密码页面如图13所示:
图13 客户修改密码页面图
修改密码页面部分功能实现代码如下: BaseClass BaseClass1 = new BaseClass();
protected void Page_Load(object sender, EventArgs e) {
18
if (Session[\"no\"] == null) {
Response.Redirect(\"Home.aspx\"); } }
protected void Button1_Click(object sender, EventArgs e) {
if (TextBox1.Text == Session[\"password\"].ToString()& TextBox2.Text != \"\") {
string strsql;
strsql = \"update Client set Password='\" + TextBox2.Text + \"'where No ='\" + Session[\"no\"].ToString() + \"'\";
BaseClass1.execsql(strsql);
string scriptString = \"alert('\" + \"修改成功!\" + \"');\";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true);
Session[\"password\"] = TextBox2.Text; }
else if (TextBox2.Text == \"\")
{
string scriptString = \"alert('\" + \"尚未输入新密码!\" + \"');\";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true); } else {
string scriptString = \"alert('\" + \"原密码输入错误!\" + \"');\";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scriptString, true); }
}
19
4.3.3 管理员功能模块设计
管理员功能主要包括客户信息管理模块、管理员信息管理模块和管理员修改密码功能。
管理员功能模块流程如图14:
图14 管理员功能模块流程图
(1)客户信息管理模块:客户信息管理模块包括新增客户、查询客户信息、编辑客户信息、删除客户四个功能,实现对客户信息的综合管理。
其中删除用户与编辑用户界面使用GridView控件配合SqlDataSource控件进行用户信息的删除与编辑、使用PagerSettings属性进行分页设置;查询用户信息则可通过输入相应的卡号进行查询。客户信息页面如图15所示:
20
图15 客户信息页面图
客户信息页面部分功能实现代码如下: BaseClass BaseClass1 = new BaseClass();
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"name\"] == null) {
Response.Redirect(\"Administrator_H.aspx\"); }
else if (!Page.IsPostBack) bindgrid(); }
void bindgrid() {
string sqlconnstr =
ConfigurationManager.ConnectionStrings[\"ConnectionString\"].ConnectionString; ; DataSet ds = new DataSet();
using (SqlConnection sqlconn = new SqlConnection(sqlconnstr)) {
SqlDataAdapter sqld = new SqlDataAdapter(\"select No,Name,Sex,ID_No,Address,Tel,Account from Client\", sqlconn); sqld.Fill(ds, \"tabClient\");
21
}
//与数据集中名为tabClient的DataTable作为数据源,为控件绑定数据 GridView1.DataSource = ds.Tables[\"tabClient\"].DefaultView; GridView1.DataBind(); }
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {
GridView1.EditIndex = -1; bindgrid(); }
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {
//设置数据库连接 string sqlconnstr =
ConfigurationManager.ConnectionStrings[\"ConnectionString\"].ConnectionString; ; SqlConnection sqlconn = new SqlConnection(sqlconnstr); sqlconn.Open(); //删除行处理
String sql = \"delete from Client where No='\" + GridView1.DataKeys[e.RowIndex].Value.ToString() + \"'\"; SqlCommand Comm = new SqlCommand(sql, sqlconn); Comm.ExecuteNonQuery(); sqlconn.Close(); sqlconn = null; Comm = null;
GridView1.EditIndex = -1; bindgrid(); }
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {
GridView1.EditIndex = e.NewEditIndex;
22
bindgrid(); }
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {
String sqlconnstr =
ConfigurationManager.ConnectionStrings[\"ConnectionString\"].ConnectionString; ; SqlConnection sqlconn = new SqlConnection(sqlconnstr); //提交行修改 try {
sqlconn.Open();
SqlCommand Comm = new SqlCommand(); Comm.Connection = sqlconn;
Comm.CommandText = \"update Client set
Name=@Name,Sex=@Sex,ID_No=@ID_No,Address=@Address,Tel=@Tel,Account=@Account where No=@No\";
Comm.Parameters.AddWithValue(\"@No\", GridView1.DataKeys[e.RowIndex].Value.ToString()); Comm.Parameters.AddWithValue(\"@Name\", ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text); Comm.Parameters.AddWithValue(\"@Sex\",
((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text); Comm.Parameters.AddWithValue(\"@ID_No\", ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text); Comm.Parameters.AddWithValue(\"@Address\", ((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text); Comm.Parameters.AddWithValue(\"@Tel\",
((TextBox)GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text); Comm.Parameters.AddWithValue(\"@Account\", ((TextBox)GridView1.Rows[e.RowIndex].Cells[6].Controls[0]).Text); Comm.ExecuteNonQuery();
23
sqlconn.Close(); sqlconn = null; Comm = null; }
catch (Exception ex) {
Response.Write(\"数据库更新出错\" + ex.ToString()); }
GridView1.EditIndex = -1; bindgrid(); }
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) {
//设置要显示的页的索引并重新绑定数据 GridView1.PageIndex = e.NewPageIndex; bindgrid(); }
protected void GridView1_DataBound(object sender, EventArgs e) {
//分页数据绑定前设置当前页信息
Label2.Text = \"共\" + (GridView1.PageCount).ToString() + \"页\"; Label1.Text = \"第\" + (GridView1.PageIndex + 1).ToString() + \"页\"; }
protected void Button1_Click(object sender, EventArgs e) {
DataSet dd = new DataSet(); string sqlconnstr =
ConfigurationManager.ConnectionStrings[\"ConnectionString\"].ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand comm = new SqlCommand(); comm.Connection = sqlconn;
24
comm.CommandText = \"select * from Client where No=@No\"; comm.Parameters.AddWithValue(\"@No\", TextBox1.Text); SqlDataAdapter sqld = new SqlDataAdapter(comm); sqld.Fill(dd, \"ss\");
GridView1.DataSource = dd.Tables[\"ss\"].DefaultView; GridView1.DataBind(); }
其中新增客户信息页面,为了保证数据的有效规范,新增客户页面加入很多验证控件,例如:用CompareValidator验证密码与确认密码是否一致以及使用CustomValidator验证卡号是否已存在,以确保卡号的唯一性。新增客户信息页面如图16所示:
图16 新增客户信息页面
新增客户信息页面部分功能实现代码如下: protected void Page_Load(object sender, EventArgs e) {
if (Session[\"name\"] == null) {
Response.Redirect(\"Administrator_H.aspx\");
25
} }
protected void Button1_Click(object sender, EventArgs e) {
if (CustomValidator1.IsValid == true) {
string sqlconnstr =
ConfigurationManager.ConnectionStrings[\"ConnectionString\"].ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); //建立Command对象
SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; //把SQL语句赋给Command对象 sqlcommand.CommandText = \"insert into
Client(No,Name,Sex,ID_No,Address,Tel,Account,Password,Before,Last) values (@No,@Name,@Sex,@ID_No,@Address,@Tel,@Account,@Password,@Before,@Last)\";
sqlcommand.Parameters.AddWithValue(\"@No\", TextBox1.Text); sqlcommand.Parameters.AddWithValue(\"@Name\", TextBox2.Text); sqlcommand.Parameters.AddWithValue(\"@Sex\", DropDownList1.Text); sqlcommand.Parameters.AddWithValue(\"@ID_No\", TextBox3.Text); sqlcommand.Parameters.AddWithValue(\"@Address\", TextBox4.Text); sqlcommand.Parameters.AddWithValue(\"@Tel\", TextBox5.Text); sqlcommand.Parameters.AddWithValue(\"@Account\", TextBox6.Text); sqlcommand.Parameters.AddWithValue(\"@Password\", TextBox7.Text); sqlcommand.Parameters.AddWithValue(\"@Before\", TextBox6.Text); sqlcommand.Parameters.AddWithValue(\"@Last\", TextBox6.Text); if (TextBox1.Text == \"\" || TextBox2.Text == \"\" || TextBox3.Text == \"\" || TextBox4.Text == \"\" || TextBox5.Text == \"\" || TextBox6.Text == \"\" || TextBox7.Text == \"\" || TextBox8.Text == \"\") {
string scripString = \"alert('信息不全!请重新填写!');\";
26
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\", scripString, true); } else {
sqlconn.Open();
sqlcommand.ExecuteNonQuery();
Response.Redirect(\"Administrator_CliInformation.aspx\"); }
sqlcommand = null; sqlconn.Close(); sqlconn = null; } }
BaseClass BaseClass1 = new BaseClass();
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) {
//arg.Value为需要验证的用户名
string strsql = \"select*from Client where No='\" + args.Value.ToString() + \"'\"; DataSet ds = new DataSet();
ds = BaseClass1.GetDataSet(strsql, \"username\"); //args.IsValid是否通过验证的返回值 if (ds.Tables[\"username\"].Rows.Count > 0) {
args.IsValid = false; } else {
args.IsValid = true; }
}
27
(2)管理员信息模块:管理员信息模块包括新增管理员、查询管理员信息、编辑管理员信息、删除管理员四个功能,实现对管理员信息的综合管理。
其中删除管理员与编辑管理员信息界面使用GridView控件配合SqlDataSource控件进行用户信息的删除与编辑、使用PagerSettings属性进行分页设置;查询管理员信息则可通过输入相应的工号进行查询。管理员信息页面如图17所示:
图17 管理员信息页面图
其中新增管理员信息页面,为了保证数据的有效规范,新增管理员页面加入很多验证控件,例如:用CompareValidator验证密码与确认密码是否一致以及使用CustomValidator验证工号是否已存在,以确保工号的唯一性。新增管理员信息页面如图18所示:
28
图18 新增管理员页面
(3)管理员修改密码功能:管理员需要输入旧的密码,然后重复输入新密码。点击确认修改完成修改密码操作。这里首先要验证原密码输入是否与登录密码一致,然后再使用CompareValidator控件实现确认新密码是否输入一致。管理员修改密码页面如图19所示:
图19 管理员修改密码页面图
29
5 讨论
5.1 设计存在的问题
该系统着重于向客户提供简单、易操作的页面、实现客户快速办理业务和用户修改密码的相关功能,忽略了用户或管理员异地同时登录的问题。两地同时对数据库数据进行操作时,数据库容易出错,系统数据库安全性有待提高。 5.2 进一步改进设想
通过分析,针对系统数据库的安全性问题,可当客户在一处登录后,再没有注销的情况下异地不可登录,且此时管理员也不得对该客户信息进行操作。从而达到完善系统数据库安全性的目的。. 5.3 经验与体会
经过为期三个月的设计和两个多月的修改最终完成本次设计。在此期间,我逐步温习了书本上的相关知识并且把它们应用到实际系统开发当中。不仅深化了对项目开发的理解。也对各项技术使用有了质的飞跃。
设计完成首先要深深感谢我的指导教师老师。在设计开发和论文撰写过程中给予我悉心的指导,同时也离不开同学们的支持,同学们相互讨论和研究各自设计的优点与不足,就如一种鞭策与鼓励。此外还要感谢在网上热心帮助过我的老师和朋友们。在大家的帮助下我顺利完成了最初的设计目标,也理解到这种亦师亦友的技术扶持和相互帮助才是计算机技术学习与团队项目开发的真谛。
30
【参 考 文 献】
[1] 舒志军.中国网络银行的现状、问题及前景[J].中国金融电脑,2002,(09):25-27. [2] 黄丽.银行客户信息系统设计思路[J].中国金融电脑,2004,(02):12-15. [3] 赵娟萍.我国网络银行的发展战略探析[J].华南金融电脑,2001,(02):52-59.
[4] 陈伟,卫琳,唐国良,周飞菲.ASP.NET 3.5网站开发实例教程[M].北京:清华大学出版社,2009.56-59.
[5] 张孝祥,徐明华,易巍,张新颖.ASP.NET基础与案例开发详解[M].北京:清华大学出版社,2009.101-110.
[6] 尚俊杰,秦卫中. ASP.NET 程序设计案例教程[M].北京:清华大学出版社,2005.71-73. [7] Matthew,MacDonald,Mario,Szpuszta.ASP.NET高级程序设计[M].北京:人民邮电出版社,2009.13-17.
[8] 王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,2007.10-59.
[9] 陈伟.SQL Server 2005数据库应用与开发教程[M].北京:清华大学出版社,2007.56-59. [10] Abraham,Korth.Database System Concepts[M]. American: McGraw-Hill College,2005.25-52. [11] Bill Wagner.Effective C#: 50 Specific Ways to Improve Your C#[M].北京:人民邮电出版社,2003.35-38.
[12] 沃尔瑟,谭振林,黎志,朱兴林. ASP.NET3.5揭秘[M].北京:人民邮电出版社,2009.67-69.
31
致 谢
在这几个月的毕业设计中,我受益匪浅。我学会了如何去学习一种新的知识,还有对于自己的课题调查研究的方法,如何将理论与具体实践结合,如何认识和对待理论与实际间的差距。作品虽然还很不成熟,却是我今后更加努力的完善自身技术水平的不竭动力。
在这里首先要感谢的是我的导师王梅老师,王老师严谨的治学态度、精益求精的工作态度、积极进取的科研精神以及诲人不倦的师者风范是我毕生的学习楷模,并将积极影响我今后的学习和工作。正是您的督促和教授,为网站许多关键问题的解决指明了方向。网站的完成与您的悉心帮助密不可分。
其次,我还要借此机会向教导过我帮助过我的所有老师表示由衷的谢意,感谢他们的辛勤栽培,正是各位任课老师认真负责的教学态度,使得我能够很好的掌握专业知识,并在设计中得以运用,顺利完成毕业论文。
再次,感谢那些和我一路走来的各位同学,在毕业设计的这段时间里,她们给了我很多的启发,提出了很多宝贵的意见。对于他们热心的帮助和支持,在此我表示深深地感谢。
最后,还要感谢在百忙之中抽出时间来审批我的论文的各位老师们!
32
附录1:相关英文文献
SQL Server Overview1
Microsoft SQL Server 2005 is a database platform for large-scale online transaction processing (OLTP), data warehousing, and e-commerce applications; it is also a business intelligence platform for data integration, analysis, and reporting solutions.
SQL Server 2005 introduces \"studios\" to help you with development and management tasks: SQL Server Management Studio and Business Intelligence Development Studio. In Management Studio, you develop and manage SQL Server Database Engine and notification solutions, manage deployed Analysis Services solutions, manage and run Integration Services packages, and manage report servers and Reporting Services reports and report models. In BI Development Studio, you develop business intelligence solutions using Reporting Services projects to create reports; the Report Model project to define models for reports; and Integration Services projects to create packages.
Both of these studios are closely integrated with Microsoft Visual Studio and the Microsoft Office System.
In the studios, SQL Server 2005 provides the graphical tools you need to design, develop, deploy, and administer relational databases, analytic objects, data transformation packages, replication topologies, reporting servers and reports, and notification servers. Additionally, SQL Server 2005 includes command prompt utilities to perform administrative tasks from the command prompt.
SQL Server 2005 provides a number of ways to submit feedback about the product and the documentation, as well as ways to send error reports and feature usage data automatically to Microsoft.
Database Engine:
The Database Engine is the core service for storing, processing, and securing data. The Database Engine provides controlled access and rapid transaction processing to meet
1http://msdn.microsoft.com/en-US/library/ms166352(v=SQL.90).aspx
33
the requirements of the most demanding data consuming applications within your enterprise.
Use the Database Engine to create relational databases for online transaction processing or online analytical processing data. This includes creating tables for storing data, and database objects such as indexes, views, and stored procedures for viewing, managing, and securing data. You can use SQL Server Management Studio to manage the database objects, and SQL Server Profiler for capturing server events.
Analysis Services:
Analysis Services is the core service for supporting rapid analysis of business data, delivering online analytical processing (OLAP) and data mining functionality in business intelligence applications.
OLAP:
Analysis Services allows you to design, create, and manage multidimensional structures that contain detail and aggregated data from multiple data sources, such as relational databases, in a single unified logical model supported by built-in calculations. Analysis Services provides fast, intuitive, top-down analysis of large quantities of data built on this unified data model, which can be delivered to users in multiple languages and currencies. Analysis Services works with data warehouses, data marts, production databases and operational data stores, supporting analysis of both historical and real time data.
Integration Services:
SQL Server 2005 Integration Services (SSIS) is the extract, transform, and load (ETL) component of SQL Server 2005. It replaces the earlier SQL Server ETL component, Data Transformation Services (DTS).
Integration Services is a platform for building enterprise-level data integration and data transformations solutions. You use Integration Services to solve complex business problems by copying or downloading files, sending e-mail messages in response to events, updating data warehouses, cleaning and mining data, and managing SQL Server objects and data. The packages can work alone or in concert with other packages to address complex business needs. Integration Services can extract and transform data from
34
a wide variety of sources such as XML data files, flat files, and relational data sources, and then load the data into one or more destinations.
Integration Services includes a rich set of built-in tasks and transformations; tools for constructing packages; and the Integration Services service for running and managing packages. You can use the graphical Integration Services tools to create solutions without writing a single line of code; or you can program the extensive Integration Services object model to create packages programmatically and code custom tasks and other package objects.
Replication:
Replication is a set of technologies for copying and distributing data and database objects from one database to another, and then synchronizing between databases to maintain consistency. Using replication, you can distribute data to different locations and to remote or mobile users over local and wide area networks, dial-up connections, wireless connections, and the Internet. SQL Server provides three types of replication, each with different capabilities: transactional replication, merge replication, and snapshot replication.
Transactional replication is typically used in server-to-server scenarios that require high throughput, including: improving scalability and availability; data warehousing and reporting; integrating data from multiple sites; integrating heterogeneous data; and offloading batch processing. Merge replication is primarily designed for mobile applications or distributed server applications that have possible data conflicts. Common scenarios include: exchanging data with mobile users; consumer point of sale (POS) applications; and integration of data from multiple sites. Snapshot replication is used to provide the initial data set for transactional and merge replication; it can also be used when complete refreshes of data are appropriate. With these three types of replication, SQL Server provides a powerful and flexible system for synchronizing data across your enterprise.
Reporting Services:
SQL Server 2005 Reporting Services (SSRS) is a server-based reporting platform that provides comprehensive data reporting from relational and multidimensional data sources. Reporting Services includes processing components, a complete set of tools that
35
you can use to create and manage reports, and an application programming interface (API) that allows developers to integrate or extend data and report processing in custom applications. The reports that you build can be based on relational or multidimensional data from SQL Server, Analysis Services, Oracle, or any Microsoft .NET Framework data provider, such as ODBC or OLE DB.
With Reporting Services, you can create interactive, tabular, or free-form reports that retrieve data at scheduled intervals or on-demand when the user opens a report. Reporting Services also enables users to create ad hoc reports based on predefined models, and to interactively explore data within the model. All reports can be rendered in both desktop and Web-oriented formats. You can choose from a variety of viewing formats to render reports on demand in preferred formats for data manipulation or printing.
Reporting Services is a server-based solution, and thus provides a way to centralize report storage and management, provide secure access to reports, models, and folders, control how reports are processed and distributed, and standardize how reports are used in your business.
Notification Services:
SQL Server 2005 Notification Services is a platform for developing applications that generate and send notifications, and it is also an engine that runs those applications. You can use Notification Services to generate and send timely, personalized messages to thousands or even millions of subscribers, and deliver the messages to a wide variety of applications and devices.
The Notification Services platform enables the development of rich notification applications. Subscriptions, which express subscribers' interest in specific information (called events), can be evaluated based on the arrival of events or based on a schedule. The event data itself can originate from within the database, from other databases, or from external sources. Notifications, which result from the matching of events and subscriptions, can be richly formatted before being sent to the subscriber.
The Notification Services engine works in concert with the SQL Server Database Engine. The Database Engine stores the application data and performs the matching between events and subscriptions. The Notification Services engine controls the flow and
36
processing of data, and can be scaled-out across multiple computers. This can improve the performance of very large and demanding applications.
Full-Text Search:
SQL Server contains the functionality you need to issue full-text queries against plain character-based data in SQL Server tables. Full-text queries could include words and phrases or multiple forms of a word or phrase. Full-Text Search allows fast and flexible indexing for keyword-based query of text data stored in a Microsoft SQL Server database. In SQL Server 2005, Full-Text Search delivers enterprise-level search functionality.
Use Full-Text Search to search for plain, character-based data, in multiple fields in multiple tables at the same time. The performance benefit of using Full-Text Search can be best realized when querying against a large amount of unstructured text data. For example, a Transact-SQL LIKE query against millions of rows of text data can take minutes to return; whereas a full-text query may take only seconds or less against the same data, depending on the number of rows that are returned. You can build full-text indexes on data stored in a char, varchar or nvarchar column or formatted binary data, such as Microsoft Word documents, stored in a varbinary(max) or image column.
Service Broker:
SQL Server 2005 Service Broker provides the SQL Server Database Engine native support for messaging and queuing applications. This makes it easier for developers to create sophisticated applications that use the Database Engine components to communicate between disparate databases. Developers can use Service Broker to easily build distributed and reliable applications.
Application developers who use Service Broker can distribute data workloads across several databases without programming complicated communication and messaging internals. This reduces development and test work because Service Broker handles the communication paths within the context of a conversation. It also improves performance. For example, front-end databases supporting Web sites can record information and send process intensive tasks to queue in back-end databases. Service Broker ensures that all tasks are managed in the context of transactions to ensure reliability and technical consistency.
37
附录2:英文文献中文译文
SQL Server 概述
微软SQL Server 2005是一个为大规模在线事务处理(OLTP)、数据仓库,以及电子商务应用程序的数据库平台;它也是一个对于数据集成、分析和报告解决方案的商业智能平台。
SQL Server 2005引入了“工作室”来帮助你开发和管理任务:SQL Server管理和商业智能工作室开发工作室。在管理工作室,你可以开发和管理SQL Server数据库引擎和通知的解决方案,管理部署分析服务解决方案、管理和运行集成服务包,以及管理报表服务器、报表服务报告和报告模型。在BI开发工作室,你可以开发商业智能解决方案,使用报告服务项目来创建报告,该报告模型项目用来定义模型报告;和利用集成服务项目来创建包。
这两种“工作室”正在紧密地与微软Visual Studio和微软办公系统集成。 在“工作室”,SQL Server 2005提供了你需要设计、开发、部署和管理数据库关系,分析对象,数据转换包,复制拓扑,报告服务器和报告,以及通知服务器的图形化的工具。此外,SQL Server 2005包括命令提示符,通过命令提示符使实用程序来执行管理任务。
SQL Server 2005提供了许多方法来提交关于产品和文档的反馈,以及自动给微软发送错误报告和特性的使用数据的方法。
数据库引擎:
该数据库引擎是以存储、处理和保护数据为核心服务的。数据库引擎提供了控制访问和快速的事务处理,来满足在企业内部使用的应用程序要求最高数据的需求。
使用数据库引擎创建在线事务处理或在线分析处理数据的关系数据库。这包括创建表来存储数据和数据库对象,如索引、视图和存储过程,用于浏览、管理和保护数据。您可以使用SQL Server管理工作室来管理数据库对象和SQL Server分析器捕获服务器事件。
分析服务:
分析服务是核心服务以支持快速分析的业务数据,提供在商业智能应用程序里的在线分析处理(OLAP)和数据挖掘功能。
OLAP:
分析服务允许您设计、创建和管理多维结构,包含细节和聚合来自多个数据源的
38
数据,例如关系数据库,在一个统一的逻辑模型支持内置的计算。分析服务建立在这个统一的数据模型上提供快速、直观的、自顶向下的分析大量数据,它可以提供给用户以多种语言和货币。分析服务可以处理数据仓库、数据集市、生产数据库和操作性数据存储,支持历史和实时数据的分析。
集成服务:
SQL Server 2005集成服务(ssi)是提取、转换和加载(ETL)组件的SQL Server 2005。它取代了之前的SQL服务器ETL组件、数据转换服务(DTS)。
集成服务是一个平台,用于构建企业级数据集成和数据转换解决方案。你使用集成服务,通过复制或下载文件,发送电子邮件消息以响应事件,更新数据仓库、清洁和挖掘数据,以及管理SQL Server对象和数据来解决复杂的业务问题。这个包可以独自工作或与其他包结合,来处理复杂的业务需求。集成服务可以从各种各样的来源提取和转换数据,如XML数据文件、文本文件、数据和关系型数据来源,并将数据加载到一个或多个目的地。
集成服务包括一组丰富的内置的任务和转换;构建工具包,和集成服务的服务运行和管理软件包。您可以使用图形化的集成服务工具来创建解决方案,而无需编写一行代码;或者你可以编辑大量的集成服务对象模型,来创建编程方式和代码定制任务及其他对象包。
复制:
复制是一种从一个数据库到另一个数据库拷贝、分发数据和数据库对象的技术, 且维护同步数据库之间的一致性。使用复制,您可以将数据分布到不同的位置,并对远程或移动用户提供地方和广泛的区域的网络,拨号连接,无线连接和互联网。SQL Server提供了三种类型的复制,每个都有不同的功能:事务复制、合并复制和快照复制。
事务复制通常用到服务器场景,需要高吞吐量,包括:提高可伸缩性和可用性;数据仓库和报告;整合来自多个站点的数据;整合异构数据;卸批处理。合并复制是为移动应用程序或分布式服务器应用程序有可能的数据冲突而设计的。常见的场景包括: 与移动用户交换数据;消费者的POS应用程序;和集成来自多个站点的数据。快照复制通常为事务和合并复制提供初始数据集;也通常用来完成刷新实时数据。与这三种类型的复制,SQL Server为在你企业的同步数据提供了一个强大且灵活的系统,。
报告服务:
SQL Server 2005的服务报告 (SSRS)是一个基于服务器的报告平台,提供从关
39
系和多维数据来源的全面的数据报告。报告服务包括处理组件和一套完整的工具,您可以使用它来创建和管理报告,及一个应用程序编程接口(API),它允许开发人员在定制应用程序整合或扩展数据和处理报告。您的报告可以在SQL Server,分析服务, Oracle,或一些微软 .NET Framework数据提供商,的基础上创建关系型或多维数据,如ODBC或OLE DB。
在预定时间间隔或需求,当用户打开一个报告,通过报告服务,您可以创建交互式表格、或自由报道,检索数据,。报告服务还允许用户根据预定义的模式和交互式的内部数据模型创建临时报告。所有报告都可以呈现在桌面和面向web格式。你可以选择各种不同的格式呈现或查看报告需求的首选格式进行数据操作或印刷。
报告服务是一个基于服务器的解决方案,并且提供了一种方法来集中存储和管理报告,提供安全接入到报告、模型、文件夹,控制如何对报表进行分布式处理和如何在你的企业使用标准化报表。
通知服务:
SQL Server 2005通知服务是一个开发应用程序的平台 ,生成并发送通知,它也是一个引擎,这个引擎运行这些应用程序。您可以使用通知服务来生成并发送及时、个性化的信息到成千上万甚至上百万的用户,并将消息发送到各种各样的应用程序和设备。
通知服务平台开发了丰富的通知应用程序。订阅,表达用户感兴趣的特定信息(称为事件),可以基于事件的到来,或者是基于一个时间表进行评估。事件数据本身都可以在数据库中,从其他数据库,或从外部来源。通知,它源于匹配的事件和订阅,可以在发送给订阅者之前丰富格式。
通知服务引擎的工程集中在SQL Server数据库引擎。数据库引擎存储应用程序数据和执行匹配与订阅事件之间。通知服务引擎控制,他和数据处理,可以在多台计算机上具有伸缩性。这可以非常大地提高性能和应用需求。
全文搜索:
SQL Server包含的功能为在存在SQL Server中基于字符的数据表中进行全文查询。全文查询可能包括单词和短语或多种形式的一个词或短语。在一个Microsoft SQL Server数据库中,全文搜索允许对于关键字查询的文本数据存储快速和灵活的索引。SQL Server 2005中,全文本搜索提供企业级搜索功能。
使用全文本搜索在同一时间来搜索简单的,基于字符的数据,在多个表中的多个字段。该性能的优势是使用全文搜索可以在查询时最佳实现对大量非结构化文本数
40
据的查询。例如,一个sql查询一样,对上百万行文本的数据可以分钟返回;而一个全文查询可能只需数秒或更少的对相同的数据,这取决于返回的行数。您可以构建全文索引的数据存储在一个char,varchar或nvarchar列或格式化二进制数据,比如微软的Word文档,存储在一个varbinary(最高)或图像列。
服务代理:
SQL Server 2005服务代理为消息传递和应用程序提供了SQL Server数据库引擎的本地支持。这使得开发者更容易的创建复杂的应用程序,使用数据库引擎组件在完全不同的数据库之间通信。开发人员使用服务代理可以轻松地构建分布式和可靠的应用程序。
应用程序开发人员使用服务代理可以跨多个数据库数据分发工作,不编程复杂内部通信和消息。这减少了开发和测试工作,因为服务代理在对话的语境处理通信路径。它还可以提高性能。例如,前端数据库支持的Web站点可以记录信息并发送过程密集型任务到队列的后端数据库。服务代理确保在上下文中的管理事务中的所有任务,以确保可靠性和一致性的技术。
41
因篇幅问题不能全部显示,请点此查看更多更全内容