Access数据库与SQL Server数据库的区别及应用

时间:2022-06-23 09:35:56

Access数据库与SQL Server数据库的区别及应用

摘要:本文分析了Access与SQL Server数据库的引擎、数据访问模型、数据类型及表设计,并探讨了它们在应用领域上各自的优缺点。

关键词:Access;SQL Server;数据库;应用

中图分类号:TP311.13 文献标识码:A文章编号:1007-9599 (2010)05-0000-02

Differences&Application Between Access Database and SQL Server Database

Liao Haiyan

(Conghua Vocational School,Conghua510900)

Abstract:This paper analyzes the Access and SQL Server database engine,data access model,data types and table design and discusses their applications on their

advantages and disadvantages.

Keywords:Access;SQL Server;Database;Application

一、Access与SQL Server的区别

(一)数据库引擎

Access是由微软的关联式数据库管理系统。它结合了Microsoft Jet Database Engine和图形用户界面两项特点Microsoft Office的成员之一。Access数据库是一种关系式数据库,也是最简单的一种数据库,Access数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。

SQL是Structured Query Language(结构化查询语言)的缩写,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。SQL Server是一个关系数据库管理系统。安全性高,真正的客户机/服务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户进行程序设计提供了更大的选择余地。

(二)数据访问模型

Access是只适用于客户端的关系型数据库管理系统(RDBMS)。这意味着所有数据处理(例如排序和筛选)都是在一台计算机上完成的。Access开发人员通过拆分数据库来模拟客户端/服务器方法。通常,在多个并发用户使用Access的环境中,将在每台客户端计算机上设置一个Access数据库。此数据库包含窗体、报表、保存的查询和Microsoft Visual Basic for Applications (VBA)窗体代码。所有数据都存储在中央服务器的Access数据库中,而在请求时才发送给客户端计算机。此方案需要大量网络资源和客户端资源。

在这种模式中,服务器上不执行任何数据处理。当客户端请求数据时,将把整个数据集通过网络发送给客户端,任何处理都是在客户端计算机上完成的。

例如,某学校学生数据库中有一个成绩表(.mdb文件),其中存储了10万条记录。某个Access应用

程序要显示所有学生的英语平均成绩。要完成此操作,Access必须通过网络传输整个表,而在工作站上执行计算。

这将给服务器和网络带来严重的性能问题。多次请求大量数据将占用大量服务器资源,而通过网络连接传输整个数据集将大大降低网络速度。

SQL Server是一个纯客户端/服务器RDBMS。这意味着客户端和服务器可以共同分担处理负载。客户端使用参数发送数据请求,服务器执行排序和筛选操作,然后只将经过筛选的数据集返回客户端。

(三)数据类型

Access数据类型和SQL Server数据类型之间有几点不同之处。这些数据类型中的大多数会在升级时自动转换,但升级之后,您需要在SQL Server数据库中进行验证,这一点很重要。表1显示了Access数据类型和SQL Server数据类型之间的不同之处。

表1 Access数据类型和SQL Server数据类型

(四)表设计

这两个数据库管理系统(DBMS)都是关系型的,也就是说,相关数据都存储在通过唯一标识符链接的逻辑表中。表的设计界面在Access和SQL Server中也是相似的。在Access中,可以为表中的字段指定规则,这样,当一个表中的值发生变化时,相关表中的值将自动更新(级联更新)。在SQL Server中,可以通过企业管理器中的关系图设计器创建相同的规则。

Access与SQL Server应用的比较

1.实现过程

SQL Server用于小型应用程序,其数据库引擎是Microsoft的SQL Server数据库引擎的一部分。该版本支持很多完整SQL Server的高级功能,如存储过程、视图、函数、CLR集成、打印及XML支持等。然而,它仅仅是一个数据库引擎,而不像Microsoft Access集成了接口开发工具。任何前台应用程序的开发都需要开发程序来处理。此外,微软还创建一个很好的SQL Server,可以用来管理SQL Server数据库引擎。

Access拥有内置的窗体、报表及其他功能项。你可以使用它为后台数据库表格构建用户接口。Access大部分可编程对象都拥有一个很好的向导,这对初学者来说十分方便。最重要的是用它开发一个小系统的时间相当短。因为使用Access开发的应用程序通常都很小,并且有很多内置工具可供使用。

2.可靠性

SQL Server允许你将系统及时地恢复,同时还保持任务的连贯性以确保数据保存在一个连续的内存中。该产品可供很多用户同时访问和更新。Access在可靠性方面性能并非最佳,当多用户同时访问时可能会出现问题。此外,它几乎不支持事务的连贯性,也不支持事务日志。因此,你只能将数据库文件恢复到你上一次备份时的状态。此外,Access文件有时可能忽然变为乱码,这也十分令人头疼。

3.安全性

SQL Server提供相同的企业级安全性机制。你可以完全控制用户访问你的数据库的情况。在Access中也有一些安全方面的配置,但其性能根本无法与SQL Server相媲美。

四、结束语

通过对比发现Access数据库是小型关系型数据库,适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但在网络应用方面有明显的不足,它同时被访问的客户端不能过多,Access数据库有一定的极限,如果数据量过大,很容易造成服务器假死,或者消耗掉服务器的内存导致服务器崩溃。Access数据库优点是:操作灵活、转移方便、运行环境简单,对于小型网站的数据库处理能力效果还不错。缺点是:不支持并发处理、数据库易被下载存在安全隐患、数据存储量相对较小、数据量过大时严重影响网站访问速度和程序处理速度。

SQL Server是基于服务器端的大型企业级数据库,可以适合大容量数据的应用,在功能、管理方面也要比access数据库强得多。在处理海量数据的效率、后台开发的灵活性、可扩展性等方面强大。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。SQL Server适合大容量数据和大流量网站的应用,在性能、安全、功能管理、可扩展性上要比Access强很多,两者并非同级别的数据库,有些功能Access甚至无法做到。缺点是:一般用户无法直接对SQL Server进行远程管理、空间租用的成本比Access高。

上一篇:串行通信与重叠I/O 下一篇:10S管理在高职高专实验室管理中的应用