软件工程结课论文

更新时间:2023-08-13 02:15:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

题目: 数据库技术的应用

学 院:

专业名称: 计算机科学与技术

班级学号:

学生姓名:

20XX年 XX 月XX日

数据库技术应用

计算机科学与技术 专业 学生 XX 学号 1416353002

【摘要】随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,数据库在网站的建设中已经成为必不可少的重要内容。可以说数据库技术已经成为大数据存储的核心技术。本文简单介绍了数据库技术的一些基本内容,从网络和开发应用的角度展现了数据库技术对现在网络和APP等开发的重要性,同时也简单介绍了应用开发中使用的一些技术和语言。

【关键词】数据库 网络 ASP ACCESS

一、数据库技术概论

1.1 数据库的相关概念

所谓数据,通常指用符号记录下来的、可以识别的信息。信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

1.2 数据库的发展概况

数据库技术的发展,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术最初产生于20世纪60年代中期,根据数据模型的发展,可以划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。

1.2.1 第一代数据库系统

第一代的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS和70年代美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议的网状模型。层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。这两种数据库奠定了现代数据库发展的基础。这两种数据库具有如下共同点:

1.支持三级模式(外模式、模式、内模式)。保证数据库系统具有数据与程序的物理独立性和一定的逻辑独立性

2.用存取路径来表示数据之间的联系

3.有独立的数据定义语言

4.导航式的数据操纵语言

1.2.2第二代数据库系统

第二代数据库的主要特征是支持关系数据模型(数据结构、关系操作、数据完整性)。关系模型具有以下特点:

1.关系模型的概念单一,实体和实体之间的连系用关系来表示

2.以关系数学为基础

3.数据的物理存储和存取路径对用户不透明

4.关系数据库语言是非过程化的。

20世纪80年代以来,几乎所有新开发的系统均是关系型数据库。这些商用数据库技术的使用,特别是微机数据库系统的使用,使数据库技术日益广泛地应用到企业管理、办公自动化、情报检索、辅助决策等各个方面,成为实现和优化信息系统的基本技木。

关系模型建立在严格数学概念的基础上,概念简单、清晰,易于用户理解和使用,大大简化了用户的工作。正因为如此,关系模型提出以后,便迅速发展,并在实际的商用数据库产品中得到了广泛应用,成为深受广大用户欢迎的数据模型。

1.2.3 第三代数据库系统

第三代数据库产生于80年代,随着科学技术的不断进步,各个行业领域对数据库技术提出了更多的需求,关系型数据库已经不能完全满足需求,于是产生了第三代数据库。主要有以下特征:

1.支持数据管理、对象管理和知识管理

2.保持和继承了第二代数据库系统的技术

3.对其它系统开放,支持数据库语言标准,支持标准网络协议,有良好的可移植性、可连接性、可扩展性和互操作性等。第三代数据库支持多种数据模型(比如关系模型和面向对象的模型),并和诸多新技术相结合(比如分布处理技术、并行计算技术、人工智能技术、多媒体技术、模糊技术),广泛应用于多个领域(商业管理、GIS、计划统计等),由此也衍生出多种新的数据库技术。

分布式数据库允许用户开发的应用程序把多个物理分开的、通过网络互联的数据库当作一个完整的数据库看待。并行数据库通过cluster 技术把一个大的事务分散到cluster中的多个节点去执行,提高了数据库的吞吐和容错性。多媒体数据库提供了一系列用来存储图像、音频和视频对象类型,更好地对多媒体数据进行存储、管理、查询。模糊数据库是存储、组

织、管理和操纵模糊数据库的数据库,可以用于模糊知识处理。

二、网络与网络数据库

2.1 网络概况

网络是由节点和连线构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类型的实际问题中抽象出来的模型。在计算机领域中,网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。网络是人类发展史来最重要的发明,提高了科技和人类社会的发展。

互联网是由全球众多的计算机局域网互相连接组成的一个超大规模的网络系统,在这个系统中运行着多种应用系统,如上网使用的网页浏览系统——WWW(即万维网 Internet)、上传与下载用的文件传输系统——FTP、收发电子邮件所使用的电子邮件系统——E-Mail等。互联网中运行的每一种应用系统都是由互联网中相应的服务器系统、客户机系统构成,也就是说互联网从物理连接来看是由众多的计算机组成,而从逻辑上看是由多个功能子网组成。

前面所提到的几个应用系统即是一些常见的子网,其中的WWW由联入互联网的Web服务器和浏览页面的客户机构成,这种工作模式通常称为B/S模式(Browser/Server模式)。还有一种模式为C/S模式(Client/Server模式),它是通过在服务器和客户机上分别安装相应的程序,从而达到使客户机能够与服务器进行通讯的目的。

2.2 WWW网络环境下Web数据库

数据库中存储的数据可以从多种渠道加以利用。可以在单机上仅供一个人使用;可以在局域网中供小范围内的多人使用;也可以通过Intranet和Internet在非常大的范围内供广大用户使用,这就是Web数据库。

Web数据库伴随着Internet的发展而不断成长。随着网络逐渐溶入人们的工作、学习和生活,Web数据库也渐渐显示出它的重要性,数据库在网站的建设中已经成为必不可少的重要内容。会员(客户)资料管理、产品(服务)资料管理、销售资料管理和分析、访问流量统计分析等都离不开数据库系统的支持,可以说数据库技术已经成为网络的核心技术,网络就是数据库。所以各大软件厂商都纷纷加紧推出了自己的Web数据库解决方案,提供多种工具和技术供你选择。

Web数据库可以实现方便廉价的资源共享。数据信息是资源的主体,因而网络数据库技术自然而然成为互联网的核心技术。

2.3 几种常用Web数据库的比较

当前比较流行的Web数据库主要有:SQL Server、MySQL、Oracle和ACCESS。这3种数据库适应性强,性能优异,容易使用,在国内得到了广泛的应用。

2.3.1 SQL Server

SQL Server 是微软公司从Sysbase获得基本部件的使用许可后开发出的一种关系型数据库。目前最新的版本是SQL Server 2000,但SQL Server 7.0仍在广泛使用。

由于均出自微软之手,使得SQL Server和Windows、IIS等产品有着天然的联系。事实上以Windows为核心的几乎所有微软的软件产品都采用了一致的开发策略,包括界面技术、面向对象技术、组件技术等,这样在微软的软件中很多都可以相互调用,而且配合得非常密切。因此如果用户使用的是Windows操作系统,那么IIS、SQL Server就应该是最佳的选择。

2.3.2 MySQL

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

在编程方面,MySQL也提供了C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等API接口,而且提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。更重要的是,MySQL的源代码是公开的,可以免费使用,这就使得MySQL成为许多中小型网站、个人网站追捧的明星。

2.3.3 Oracle

Oracle 是是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

2.3.4 Access

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。

Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。Access的用途体现在两个:

一、用来进行数据分析:Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。 这一点体现在:会用Access,提高了工作效率和工作能力。

二、用来开发软件: Access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。(VB、.net、 C语言等开发工具对于非计算机专业人员来说太难了,而access则很容易)。 这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。

另外,在开发一些小型网站WEB应用程序时,用来存储数据。例如ASP+Access。这些应用程序都利用ASP技术在InternetInformation Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server.

三、SQL语言和应用开发语言

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

3.1 SQL的语句结构

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL):

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):

它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

3.2 SQL语言基本使用

简单的Transact-结构化查询语言查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。

3.2.1选择列表

选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。

1、选择所有列

例如,下面语句显示testtable表中所有列的数据:

SELECT * FROM testtable

2、选择部分列并指定它们的显示次序

查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。

3、更改列标题

在选择列表中,可重新指定列标题。定义格式为:

列标题=列名 列名 列标题

如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable。

4、删除重复行

SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。

5、限制返回的行数

使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。TOP命令仅针对SQL Server系列数据库,并不支持Oracle数据库。

3.2.2 FROM子句

FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。

在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:

1 SELECTusername,citytable.cityid

2 FROMusertable,citytable

3 WHEREusertable.cityid=citytable.cityid

在FROM子句中可用以下两种格式为表或视图指定别名:

表名 as 别名

表名 别名

3.2.3 WHERE子句

WHERE子句设置查询条件,过滤掉不需要的数据行。

WHERE子句可包括各种条件运算符:

比较运算符(大小比较):>;、>=、=、<;、<=、<>;、!>;、!<

范围运算符(表达式值是否在指定的范围):BETWEEN AND NOT BETWEEN…AND…

列表运算符(判断表达式是否为列表中的指定项):IN (项1,项2 )

NOT IN (项1,项2 )

模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOT LIKE

空值判断符(判断表达式是否为空):IS NULL、IS NOT NULL

逻辑运算符(用于多条件的逻辑连接):NOT、AND、OR

1、范围运算符例:age BETWEEN 10 AND 30相当于age>=10 AND age<=30

2、列表运算符例:country IN ('Germany','China')

3、模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。

可使用以下通配字符:

百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%。 下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。

方括号[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。[^]:其取值也[] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

3.2.4 查询结果排序

使用ORDER BY子句对查询返回的结果按一列或多列排序。ORDER BY子句的语法格式为:

ORDER BY {column_name [ASC|DESC]} [, n]

其中ASC表示升序,为默认值,DESC为降序。ORDER BY不能按ntext、text和image数据类型进行排序。

3.3 应用开发平台

3.3.1 ASP

ASP是动态服务器页面(Active Server Page)的英文缩写。是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是 .asp。现在常用于各种动态网站中。

ASP的主要功能是将脚本语言、HTML、组件和Web数据库访问功能有机地结合在一起,形成一个能在服务器端运行的应用程序,该应用程序可根据来自浏览器端的请求生成相应的HTML文档并回送给浏览器。使用ASP能够创建以HTML网页作为用户界面,并能够与数据库进行交互的Web应用程序。

3.3.2 PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web

开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

3.3.3 JSP

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

3.3.4

是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。

ASP .NET不能只被看做是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的优秀程序构架,而且可以运行于多种平台的WebServer之上。

开发环境

Cassini/CassiniDev

Cassini 是一个开源项目。是一个独立的ASP .NET运行环境

WebServer

Visual Studio 自带的Web Server也可以运行ASP .NET应用,Web Server是为了方便开发者快速启动及调试网站的产品,后期被IIS Express取代

IIS Express

IIS Express被集成到了Visual Studio及WebMatrix之中,方便用户以“集成模式”来调试ASP .NET应用程序

生产环境

IIS

IIS指 Internet Information Services(因特网信息服务)。IIS 是 Windows 系统的捆绑的免费组件。

Apache

经典的Web应用程序承载应用,可以通过在Windows下使用.NET或者在其它操作系统中使用Mono来使ASP .NET应用程序运行起来

XSP

XSP 是一个有着独立标准的 web server,它使用C# 编写,可以用来运行ASP .NET应用程序。XSP 可以在 Mono 以及 Microsoft .NET运行时之下正常工作。

Nginx

Nginx是一个高性能的 HTTP 服务程序,它支持ASP .NET 以及 ASP .NET MVC Web 应用程序,通过FastCGI。

Jexus

Jexus是一款基于dotNET/Mono环境,直接支持的免费的WEB服务器系统。

四、总结

在当今信息化的社会里,数据库的应用可以说已经融入到我们生活的方方面面中,如交通运输、银行金融、工商企业、电商等等。只要有大量的数据要管理或者需要有大量数据支持的工作,都要使用到数据库技术,它给我们的生活带来了便捷。

现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然很多企业可能并没有意识到数据爆炸性增长带来问题的隐患,但是随着时间的推移,人们将越来越多的意识到数据对企业的重要性。

“大数据”时代已经降临,在商业、经济及其他领域中,决策将日益基于数据和分析而作出,而并非基于经验和直觉。而这些给我们带来知识文化的大数据都存储在网络的云盘中,同时云时代的也一同降临,大数据(Big data)也吸引了越来越多的关注。著云台的分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。

就这样大数据和云计算紧密联系在一起,而数据库技术和网络也将紧密联系在一起,随着今后的发展大数据将越来越多,而数据库技术也将不断的创新和完善。

本文来源:https://www.bwwdw.com/article/s9ij.html

Top