
1.4 常见数据库
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。目前主流关系型数据库管理系统有Oracle、Access和SQL Server等。本节根据选择数据库管理系统的依据比较分析这几种主流数据库管理系统的优势和不足。
1.4.1 Access
Microsoft Office Access是由微软(Microsoft)公司发布的一款关系数据库管理系统。它结合了Microsoft Jet Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一。
1.优势
Microsoft Office Access提供了一个丰富的开发环境。这个开发环境给了用户足够的灵活性和对Microsoft Windows应用程序接口的控制,同时保护用户免遭用高级或低级语言开发环境开发时所碰到的各种麻烦。图1.9所示为Microsoft Office Access数据库的主界面。

图1.9 Microsoft Access数据库
Microsoft Office Access是一个把数据库引擎的图形用户界面和软件开发工具结合在一起的数据库管理系统,其主要优势表现在如下几个方面:
(1)存储方式单一。Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。
(2)面向对象。Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象都定义一组方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作。Access是一个可视化工具,风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
(4)集成环境、处理多种数据信息。Access是基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
(5)Access支持ODBC(开放数据库连接,Open Database Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的连接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相连接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
2.缺陷
尽管Microsoft Office Access具有许多的优点,但它毕竟是一个小型数据库,不可避免地存在一些缺陷,主要表现在:
(1)数据库过大时性能下降明显。一般来说,当Access数据库达到100MB左右的时候,数据库性能会显著下降。例如,当访问使用Access作为数据库的网站时,人数过多时容易造成IIS假死,过多消耗服务器资源。
(2)容易出现各种因数据库刷写频率过快而引起的数据库问题。
(3)Access数据库安全性比不上其他类型的数据库。
1.4.2 SQL Server
SQL Server也是Microsoft公司推出的关系型数据库管理系统,具有使用方便、可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98的PC到运行Microsoft Windows 2012的服务器等多种平台使用。图1.10所示为Microsoft SQL Server数据库的Management Studio主界面。

图1.10 Microsoft SQL Server数据库
Microsoft SQL Server是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server的主要特点如下:
(1)真正的客户机/服务器体系结构。
(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。
(3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
(4)SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接收消息、管理登录安全性等,SQL Server也可以很好地与Microsoft Office产品集成。
(5)具有很好的伸缩性,可跨越多种平台使用。
(6)对Web技术的支持度高,使用户能够很容易地将数据库中的数据发布到Web页面上。
(7)SQL Server新版本提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
(8)内存在线事务处理(OLTP)引擎,内存OLTP整合到SQL Server的核心数据库管理组件中,它不需要特殊的硬件或软件就能够无缝整合现有的事务过程,允许将SQL Server内存缓冲池扩展到固态硬盘(SSD)或SSD阵列上。这一点对于支持繁重读负载的OLTP操作特别好,能够降低延迟、提高吞吐量和可靠性,消除IO瓶颈。
(9)云整合,引入了智能备份(Smart Backups)概念,能自动决定要执行完全备份还是差异备份,以及何时执行备份。还允许将本地数据库的数据和日志文件存储到Azure上。此外,SQL Server Management Studio提供了一个部署向导,它可以帮助用户轻松地将现有本地数据库迁移到Azure虚拟机上。
1.4.3 Oracle
Oracle数据库系统是美国甲骨文(Oracle)公司提供的以分布式数据库为核心的一组软件产品,是目前流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。图1.11所示为Oracle 10g数据库的Developer主界面。

图1.11 Oracle数据库
Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库,它实现了分布式处理功能。只要在一种机型上学习了Oracle知识,便能在各种类型的机器上使用。
编写本书时,Oracle数据库的最新版本为Oracle Database 12c。Oracle 12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的增强,使得Oracle 12c成为私有云和公有云部署的理想平台。
Oracle的特点如下。
(1)名副其实的大型数据库:由Oracle建立的数据库,最大数据量可达几百吉字节。
(2)共享SQL和多线索服务器体系结构:这两个特性的结合可减少Oracle的资源占用,增强处理能力,支持成百甚至上千用户。
(3)跨平台能力:Oracle数据库管理系统可以运行在100多个硬件和软件平台上。这一点是其他PC平台上的数据库产品所不及的。
(4)分布式数据库:可以使物理分布不同的多个数据库上的数据被看成是一个完整的逻辑数据库。尽管数据操纵的单个事务可能要运行于多处地点,但这对应用程序却是透明的,就好像所有的数据都是物理地存储在本地数据库中。
(5)卓越的安全机制:包括对数据库的存取控制、决定可以执行的命令、限制单一进程可用的资源数量以及定义数据库中数据的访问级别等。
(6)支持客户机/服务器方式,支持多种网络协议。
除上面讲解的Microsoft Office Access、SQL Server和Oracle三个典型数据库外,还有许多关系型数据库也较为常见,如IBM DB2、Informix、Sybase、MySQL等,有兴趣的读者可自行了解,此处不再赘述。