> 文章列表 > MySQL数据库——常用数据库访问接口简介,数据库的种类有哪些?

MySQL数据库——常用数据库访问接口简介,数据库的种类有哪些?

MySQL数据库——常用数据库访问接口简介,数据库的种类有哪些?

不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行 SQL 语句,进行数据库管理。主要的数据库访问接口主要有  ODBC、JDBC、ADO.NET 和 PDO。

ODBC

ODBC(Open Database Connectivity,开放数据库互连)为访问不同的 SQL 数据库提供了一个共同的接口。ODBC 使用 SQL 作为访问数据的标准。这一接口提供了最大限度的互操作性。一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统。

一个基于 ODBC 的应用程序对数据库的操作不依赖任何 DBMS,不直接与 DBMS 打交道,所有的数据库操作由对应的 DBMS 的 ODBC 驱动程序完成。也就是说,不论是 MySQL 还是 Oracle 数据库,均可用 ODBC API 进行访问。由此可见,ODBC 的最大优点是能以统一的方式处理所有的数据库。

JDBC

Java Data Base(JDBC,Java 数据库连接)用于 Java 应用程序连接数据库的标准方法,是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。

ADO.NET

ADO.NET 是微软在 .NET 框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET 提供了对关系数据、XML 和应用程序的访问,允许和不同类型的数据源以及数据库进行交互。

PDO

PDO(PHP Data Object)为 PHP 访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO 是 PHP 5 新加入的一个重大功能。

DBMS(数据库管理系统)主要通过数据的保存格式进行分类,现阶段主要分为以下几种类型:

层次数据库(Hierarchical Database,HDB)

层次数据库是最早研制成功的数据库系统,它把数据通过层次结构(树形结构)的方式表现出来。层次数据库曾经是数据库的主流,但随着关系数据库的出现和普及,现在已经很少使用了。

比较具有代表性的层次数据库是 IMS(Information Management System)数据库,由 IBM 公司研制成功。

关系型数据库(Relational Database,RDB)

关系型数据库是现在应用最广泛的数据库。关系型数据库在 1969 年诞生,可谓历史悠久。和 Excel 工作表一样,关系型数据库也采用由行和列组成的二维表来管理数据,所以简单易懂。同时,它还使用 SQL(Structured Query Language,结构化查询语言)对数据进行操作。

传统的关系型数据库采用表格的存储方式,数据以行和列的方式进行存储,要读取和查询都十分方便。下表是一些在关系型数据库中的数据。

商品编号 商品名称 商品种类 销售单价 进货单价 登记日期
0001 T恤衫 衣服 100 50 2019-10-9
0002 打孔器 办公用品 500 320 2019-1-5
0003 运动T恤 衣服 400 280 2019-3-8
0004 菜刀 厨房用具 50 30 2019-2-14
0005 高压锅 厨房用具 200 100 2019-2-13
0006 叉子 厨房用具 10 5 2019-2-13
0007 菜板 厨房用具 80 70 2019-2-13
0008 圆珠笔 办公用品 10 5 2019-2-13

比较具有代表性的关系型数据库有 Oracle Database、SQL Server、DB2、PostgreSQL 和MySQL。

面向文档(Document-Oriented)数据库

文档型数据库的灵感来自于 Lotus Notes 办公软件,和最后一种键值存储数据库类似。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。

面向文档数据库会将数据以文档的形式存储。每个文档都是一系列数据项的集合。每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。

数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或者JSONB等多种形式存储。

具有代表性的面向文档数据库有 MongDB 和 CouchDB。

列存储(Column-oriented)数据库

列存储数据库将数据存储存在列族(column family)中,一个列族用来存储经常被一起查询的相关数据。例如,如果有一个 Person 类,我们经常会一起查询他们的姓名和年龄而不是薪资。这种情况下,姓名和年龄就会被放入一个列族中,而薪资则在另一个列族中。

列存储数据库通常用来应对分布式存储的海量数据。具有代表性的列存储数据库有 Cassandra 和 HBase。

XML 数据库(XML Database,XMLDB)

XML 数据库是一种支持对 XML(标准通用标记语言下的一个应用)格式文档进行存储和查询等操作的数据管理系统。在系统中,开发人员可以对数据库中的 XML 文档进行查询、导出和指定格式的序列化。

键值存储数据库(Key-Value Store,KVS)

键值存储数据库是用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。具有编程语言知识的读者可以把它想象成关联数组或者散列(hash)。

近年来,随着键值存储数据库被应用到 Google 等需要对大量数据进行超高速查询的 Web 服务当中,它正逐渐为人们所关注。

具有代表性的键值存储数据库有 Redis、Memcached 和 MemcachedDB。

 黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括

胶水百科网