数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)

简介: 数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)

背景

    数据库技术在现代信息系统中扮演着重要的角色,vb书中有一章讲数据库技术的,里面涉及很多概念,针对这些概念进行一下学习。

数据库引擎

    数据库引擎是指负责管理和处理数据库的核心组件。它提供了对数据库的访问、查询、更新和维护等功能,就好比汽车的发动机。数据库引擎负责处理SQL语句,执行查询操作,并将结果返回给应用程序。常见的数据库引擎有MySQL、Oracle、SQL Server等。这里介绍几个书中提到的数据库引擎

Jet数据库:

    Jet数据库是一种轻量级数据库引擎,最初由微软开发用于Access数据库。Jet数据库提供了一种基于文件的数据库系统,支持多用户访问和事务处理。Microsoft Access和Visual Basic使用相同的Jet数据库引擎。Jet数据库类似于一个小型的数据库管理系统,适用于个人电脑和小型应用程序,提供了较好的性能和可靠性。

ISAM:

    ISAM(Indexed Sequential Access Method)是一种数据库管理系统,它使用索引和顺序访问方法来组织和管理数据。ISAM将数据存储在平面文件中,通过索引来加速数据的访问。ISAM适用于读取和写入频率相当的应用程序。ISAM数据库是一种早期的数据库引擎,类似于一个大型的文件柜,将数据按照索引顺序存储,但对于复杂的查询和并发处理支持较弱。

SQL Server

    SQL Server是由Microsoft开发的关系型数据库管理系统,它提供了强大的数据管理和处理功能,适用于大型企业和数据密集型应用。

Oracle

    Oracle是一种功能强大的关系型数据库管理系统,它被广泛用于企业级应用和大型数据处理。

MySQL

    MySQL是一种开源的关系型数据库管理系统(RDBMS),它使用了多线程、多用户的架构,支持高性能的数据存储和检索。

MongoDB

    MongoDB是一种开源的文档数据库,它使用了非关系型的数据存储方式,适用于大数据和实时数据处理。

数据访问接口

ADO(ActiveX Data Objects)

    ADO是一种高级的数据访问接口,采用了面向对象的编程模型,它提供了更强大和灵活的功能,支持多种数据源和编程语言。

DAO(Data Access Objects)

    DAO是一种较旧的数据访问接口,主要用于访问Access数据库。采用了传统的过程化编程模型,功能较为简单。

    ADO和DAO都提供了对数据库的连接、查询和更新等操作的方法和属性。都是是微软提供的数据访问接口。

RDO(Remote Data Objects):

    RDO是一种用于访问远程数据库的数据访问接口。它提供了对远程数据库的连接、查询和更新等操作的方法和属性。RDO可以通过网络连接到远程数据库服务器,并执行SQL语句。RDO适用于需要访问位于远程服务器上的数据库的应用程序。

    为什么在Visual Basic中有三种数据访问接口呢?因为数据访问技术总是在不断进步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简单而且更加灵活的对象模型。对于新工程,应该使用ADO作为数据访问接口。

数据库引擎与数据访问接口的关系

    数据库引擎,数据访问接口,数据库,应用程序它们之间有什么关系呢?

    当应用程序需要访问数据库时,需要通过数据库引擎来实际执行数据库操作,比如存储、检索和管理数据。数据库引擎负责处理底层的数据库操作。

    然而,应用程序和数据库引擎之间的交互需要一种统一的方式,这就是数据访问接口。数据访问接口充当了应用程序和数据库引擎之间的桥梁,它定义了一套规范和方法,使得应用程序可以方便地与不同的数据库引擎进行通信。

    以一个比喻来解释,数据库引擎就像是一辆汽车的发动机,负责提供动力和执行动作。而数据访问接口就像是汽车的方向盘和控制台,它提供了一种统一的方式,让驾驶员(应用程序)可以方便地操控汽车(数据库引擎)。

    在具体的数据库引擎中,比如ISAM、Jet和ODBC,它们都提供了自己的数据访问接口,用于连接应用程序和数据库引擎。

    总结起来,数据库引擎是实际执行数据库操作的软件组件,数据访问接口是应用程序与数据库引擎之间的桥梁,而ADO和DAO是两种具体的数据访问接口,用于在应用程序中访问和操作数据库。

图示关系

代码理解

    给大家一段熟悉的代码,来进一步理解上面的内容,这里使用ADO连接数据库、执行查询操作并遍历结果集。

Sub ConnectToDatabase()
    Dim conn As Object
    Dim cmd As Object
    Dim rs As Object
    ' 创建ADO连接对象
    Set conn = CreateObject("ADODB.Connection")
    ' 连接数据库
    conn.Open "Provider=SQLOLEDB;Data Source=服务器地址;Initial Catalog=数据库名;User ID=用户名;Password=密码"
    ' 创建ADO命令对象
    Set cmd = CreateObject("ADODB.Command")
    Set cmd.ActiveConnection = conn
    ' 执行查询操作
    cmd.CommandText = "SELECT * FROM 表名"
    Set rs = cmd.Execute
    ' 遍历结果集
    Do Until rs.EOF
        MsgBox rs.Fields("字段名").Value
        rs.MoveNext
    Loop
    ' 关闭连接
    rs.Close
    conn.Close
End Sub

    以上示例演示了使用ADO连接数据库、执行查询操作并遍历结果集的过程。

总结:

    数据库引擎以及数据访问接口是数据库技术中的重要概念。它们分别提供了不同级别和功能的数据库访问和管理方式。了解它们的概念和相互关系有助于选择合适的数据库技术和开发工具,并提高开发效率和应用程序的性能。

    希望我的文章对你有所帮助~

相关文章
|
2月前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
189 61
|
3天前
|
人工智能 物联网 大数据
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库的需求愈发强烈,开源的兴起更是为这一技术的创新与普及提供了强有力的支持。
16 3
|
14天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
51 15
|
3天前
|
SQL 存储 运维
从建模到运维:联犀如何完美融入时序数据库 TDengine 实现物联网数据流畅管理
本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品。文章从一个具体的业务场景出发,分析了企业在面对海量时序数据时的挑战,并提出了利用 TDengine 高效处理和存储数据的方法,帮助企业解决在数据采集、存储、分析等方面的痛点。通过这篇文章,作者不仅展示了自己对数据处理技术的理解,还进一步阐释了时序数据库在行业中的潜力与应用价值,为读者提供了很多实际的操作思路和技术选型的参考。
16 1
|
7天前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
10天前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
39 5
|
15天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
44 11
|
2月前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
2月前
|
SQL Java 数据库连接
数据库常用接口
ODBC(Open Database Connectivity):开放数据库互连技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性,一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access,MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
|
2月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。