关系型数据库

关系型数据库简介

关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。

用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。

关系型数据库特点

  1. 存储方式:传统的关系型数据库采用表格的储存方式,数据以行和列的方式进行存储,要读取和查询都十分方便。
  2. 存储结构:关系型数据库按照结构化的方法存储数据,每个数据表都必须对各个字段定义好,再根据表的结构存入数据,这样做的好处就是由于数据的形式和内容在存入数据之前就已经定义好了,所以整个数据表的可靠性和稳定性都比较高。
  3. 存储规范:关系型数据库为了避免重复、规范化数据以及充分利用好存储空间,把数据按照最小关系表的形式进行存储,这样数据管理的就可以变得很清晰、一目了然,当然这主要是一张数据表的情况。
  4. 扩展方式:由于关系型数据库将数据存储在数据表中,数据操作的瓶颈出现在多张数据表的操作中,而且数据表越多这个问题越严重,如果要缓解这个问题,只能提高处理能力,也就是选择速度更快性能更高的计算机。
  5. 查询方式:关系型数据库采用结构化查询语言来对数据库进行查询,SQL 早已获得了各个数据库厂商的支持,成为数据库行业的标准,它能够支持数据库的 CRUD 操作,具有非常强大的功能,SQL 可以采用类似索引的方法来加快查询操作。
  6. 规范化:在数据库的设计开发过程中开发人员通常会面对同时需要对一个或者多个数据实体进行操作,这样在关系型数据库中,一个数据实体一般首先要分割成多个部分,然后再对分割的部分进行规范化,规范化以后再分别存入到多张关系型数据表中,这是一个复杂的过程。
  7. 事务性:关系型数据库强调 ACID 规则(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)),可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作,而且可以充分满足数据库操作的高性能和操作稳定性的要求。
  8. 读写性能:关系型数据库十分强调数据的一致性,并为此降低读写性能付出了巨大的代价,虽然关系型数据库存储数据和处理数据的可靠性很不错,但一旦面对海量数据的处理的时候效率就会变得很差,特别是遇到高并发读写的时候性能就会下降的非常厉害。
  9. 授权方式:关系型数据库常见的有 Oracle,SQLServer,DB2,Mysql,除了 Mysql 大多数的关系型数据库如果要使用都需要支付一笔价格高昂的费用,即使是免费的 Mysql 性能也受到了诸多的限制。

常用关系型数据库

主流的关系型数据库有 Oracle、DB2、MySQL、Microsoft SQL Server、Microsoft Access 等多个品种,每种数据库的语法、功能和特性也各具特色。

Oracle 数据库是由甲骨文公司开发,并于 1989 年正式进入中国市场。虽然当时的 Oracle 尚名不见经传,通过多年的发展积聚了众多领先性的数据库系统开发经验,在集群技术、高可用性、安全性、系统管理等方面都取得了较好的成绩。Oracle 产品除了数据库系统外,还有应用系统、开发工具等。在数据库可操作平台上,Oracle 可在所有主流平台上运行,因而可通过运行于较高稳定性的操作系统平台,提高整个数据库系统的稳定性。

MySQL 数据库是一种开放源代码的关系型数据库管理系统(RDBMS),可以使用最常用结构化查询语言进行数据库操作。也因为其开源的特性,可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改。MySQL 数据库因其体积小、速度快、总体拥有成本低而受到中小企业的热捧,虽然其功能的多样性和性能的稳定性差强人意,但是在不需要大规模事务化处理的情况下,MySQL 也是管理数据内容的好选择之一。

Microsoft SQL Server 数据库最初是由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同开发的,于 1988 年推出了第一个操作系统版本。在 Windows NT 推出后,Microsoft 将 SQL Server 移植到 Windows NT 系统上,因而 SQL Server 数据库伴随着 Windows 操作系统发展壮大,其用户界面的友好和部署的简捷,都与其运行平台息息相关,通过 Microsoft 的不断推广,SQL Server 数据库的占有率随着 Windows 操作系统的推广不断攀升。