数据库系统:原理、设计与编程(MOOC版)
上QQ阅读APP看书,第一时间看更新

1.4 典型的数据库管理系统

数据库管理系统是一种运行与管理数据库的软件系统。该类软件系统与计算机操作系统一样,都属于系统软件。目前,大部分数据库DBMS软件产品都是关系数据库管理系统(Relational DataBase Management System, RDBMS),它们具有技术成熟、产品丰富、使用广泛等特点。

扫码预习

1.4.1 Microsoft SQL Server

Microsoft SQL Server是美国微软公司推出的通用关系数据库管理系统产品,广泛应用于电子商务、互联网应用系统、企业信息系统和办公自动化系统等领域。Microsoft SQL Server早期初始版本(如SQL Server 2000、SQL Server 2005、SQL Server 2008、Server 2012等)适用于中小规模机构的数据库管理与数据分析处理,近年来推出的版本(SQL Server 2014、SQL Server 2016、SQL Server 2017)应用范围有所扩展,适合大型机构的数据库管理和数据分析处理。

Microsoft SQL Server提供全面的、集成的、端到端的数据管理解决方案,它为用户提供了一个安全可靠、处理高效的数据库平台,可用于机构数据管理与数据分析应用。Microsoft SQL Server为用户提供了功能强大、操作方便的数据库管理工具,同时降低了在从移动设备到企业数据库系统平台上创建、部署、管理、使用数据库的复杂性。

Microsoft SQL Server软件主要提供如下功能服务。

(1)关系数据库:提供一种安全可靠、可伸缩强且具有高可用性的关系数据库引擎,支持结构化和XML数据管理。

(2)复制服务:用于数据分发或移动数据处理的数据复制,实现系统高可用性与异构系统集成等。

(3)通知服务:用于开发和部署可伸缩应用程序的通知功能,能够向不同的连接和移动设备发布个性化的、及时的信息更新。

(4)集成服务:用于数据仓库和企业范围内数据集成的数据提取、转换和加载(ETL)。

(5)分析服务:可用于对使用多维存储的大量复杂数据集进行快速高级分析。

(6)报表服务:提供全面的报表解决方案,可创建、管理和发布传统的、可打印的报表,以及交互的、基于Web的报表。

(7)管理工具:SQL Server 包含的集成管理工具可用于高级数据库管理和优化,它也与其他工具如Microsoft Operations Manager(MOM)和Microsoft Systems Management Server (MSMS)紧密集成在一起。所采用的标准数据访问协议可大大减少SQL Server与现有系统之间进行数据集成所花费的时间。此外,构建于SQL Server本机Web Service的支持,确保了和其他应用程序及平台的互操作能力。

(8)开发工具:SQL Server 为数据库引擎、数据抽取、转换和装载、数据挖掘、OLAP和报表处理提供了与Microsoft Visual Studio相集成的开发工具。该开发工具可实现端到端的应用程序开发能力。SQL Server 中每个主要的组件系统都有自己的对象模型和应用程序接口(API),能够将数据库系统扩展到任何独特的商业环境中。

1.4.2 Oracle DataBase

Oracle 数据库管理系统是由美国甲骨文公司发布的企业级关系数据库管理系统软件产品。该产品可用于众多领域的大型数据库管理及数据分析处理。Oracle 数据库管理系统是目前数据库领域主流的企业级DBMS产品之一,它在数据库系统的集群技术、高可用性、商业智能、安全性、系统管理等技术方面都处于领先地位,并占据企业级数据库产品大部分市场份额。

在许多大型机构的业务系统中,各类业务每天需要大量数据处理,每个数据库中都有大量数据库表,不少数据表中有上百万数据行,需要支持数千个并发用户访问。此外,一些大型机构的下属部门跨越不同地区或不同国家,业务数据分布在不同地方,其数据需要分布处理,同时也需要数据共享与交换。所有这些数据管理活动需要有大型的企业级数据库管理系统来支持。Oracle数据库管理系统作为功能最强大的企业级数据库产品,适合于各类大型数据管理和构建复杂的分布式数据库应用系统。

Oracle数据库管理系统的主要技术特点如下。

支持多用户、大吞吐量的业务处理。

系统稳定性、可用性、伸缩能力强。

具有数据安全性和完整性的有效控制。

支持分布式数据处理。

跨平台、可移植性强。

1.4.3 MySQL

MySQL是最流行的开源关系数据库管理系统。它最早由瑞典MySQL AB公司开发研制,后被Sun公司所收购,目前是Oracle公司旗下的开源软件。MySQL数据库软件具有体积小、速度快、可靠性好、适应性强、软件免费使用、源代码开放等特点。MySQL广泛使用于Internet应用的Web数据库,同时也被许多中小企业信息系统所采用。

MySQL是一个支持多用户、多线程SQL数据库管理系统。该数据库管理系统软件采用标准SQL(结构化查询语言)对数据库进行操作。同时,MySQL数据库管理系统采用客户/服务器结构,它由一个服务器守护程序mysqld和很多不同的客户程序、库组成。通过使用复制、集群技术方案,MySQL也可支持大规模的数据库管理。

MySQL数据库管理系统的主要技术特点如下。

(1)代码使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

(2)支持AIX、FreeBSD、HP-UX、Linux、macOS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

(3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、.NET和Tcl等。

(4)支持多线程,充分利用CPU资源。

(5)优化SQL查询算法,有效地提高查询速度。

(6)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

(7)提供用于管理、检查、优化数据库操作的管理工具。

(8)支持大型的数据库管理能力,可以处理拥有上千万条记录的大型数据表。

(9)MySQL是可以定制的,采用了GPL协议,可以修改源码来开发自己的MySQL系统。

1.4.4 PostgreSQL

PostgreSQL是一种开源的对象-关系数据库管理系统(Object-Relational DataBase Management System,ORDBMS),它不但具有关系数据库的功能特点,同时还支持面向对象数据管理。PostgreSQL在加州大学伯克利分校计算机系研制的Postgres数据库软件基础上开源演化而来,得到开源组织的不断升级完善,并按照免费自由使用的PostgreSQL许可发行。PostgreSQL作一个技术先进的对象-关系数据库管理系统,包含很多高级的特性,拥有良好的性能和很好的适用性。

PostgreSQL数据库管理系统的主要技术特点如下。

(1)支持标准SQL,内置丰富的数据类型,并允许用户扩展数据类型。

(2)支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性。

(3)采用经典的客户/服务器结构。

(4)支持多种开发语言,如 C、C++、Java、Perl、Tcl和Python等。

(5)跨多种操作系统平台,如Linux、FreeBSD、OS X、Solaris和Microsoft Windows等。

(6)具有继承机制,可以创建数据库表,并从“父表”继承其特征。

(7)在数据库中,系统支持对象、类、继承等功能特性处理。

课堂讨论——本节重点与难点知识问题

1.按数据模型分类,有哪些类型DBMS?使用最多的是哪种类型?

2.桌面数据库DBMS与企业级数据库DBMS有哪些区别?

3.分布式数据库系统与集中式数据库系统有何区别?

4.关系数据库DBMS具有哪些特点?

5.对象-关系数据库DBMS具有哪些特点?

6.为什么一些数据库DBMS软件产品有多个版本?