【愚公系列】软考高级-架构设计师 062-应用程序与数据库交互和NoSQL数据库

举报
愚公搬代码 发表于 2024/07/26 08:49:41 2024/07/26
【摘要】 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主...

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

数据库交互是指用户通过应用程序或工具与数据库系统进行数据交流和操作的过程。在数据库交互中,用户可以执行各种操作,包括检索、插入、更新和删除数据,以及执行各种管理任务,如创建表、修改表结构、授权和撤销权限等。这种交互通常通过以下方式进行:

  1. SQL 查询和命令: 用户使用结构化查询语言(SQL)向数据库系统发送查询和命令,以执行各种操作。

  2. 应用程序接口 (API): 用户通过应用程序接口与数据库系统进行交互,这些接口可以是特定数据库系统的原生 API,也可以是通过 JDBC、ODBC 等标准化接口进行的。

  3. 图形用户界面 (GUI): 用户通过图形用户界面工具,如数据库管理系统 (DBMS) 提供的管理工具或第三方数据库客户端,以可视化的方式与数据库进行交互。

  4. 命令行界面 (CLI): 用户通过命令行界面与数据库系统进行交互,通常使用命令行客户端或数据库系统自带的命令行工具。

在数据库交互过程中,用户可以执行各种操作以满足其数据管理和分析需求,同时确保数据的安全性、一致性和完整性。

🚀一、应用程序与数据库交互

应用程序通过程序接口来访问数据库并进行操作。这种交互方式可以分为不同级别的接口:

  1. 库函数级别访问接口:是最底层的访问方式,比如使用OCI来访问数据库。开发效率低,依赖特定的数据库,学习难度高。

  2. 嵌入SQL访问接口:直接将SQL语句写入到程序源码中,需要数据库厂商提供一个嵌入式SQL的预编译器,以方便对SQL代码进行预编译并操作数据库。操作起来比较麻烦,需要和DBMS进行交互,而且性能也不高。

  3. 通用数据接口标准:如ODBC,为不同的数据库提供统一的接口,允许在程序中直接书写SQL语句进行数据库操作,而不需通过DBMS。但是直接使用ODBC比较麻烦,后来又发展出了DAO、RDO、ADO等数据库访问接口,以及专门为.NET使用的ADO和Java使用的JDBC。

  4. ORM访问接口:使用框架技术让对象和数据库中的表产生映射,让开发者直接操作对象就能修改表数据。典型的框架有Hibernate、MyBatis、JPA等,这种开发方式效率最高,降低了程序员对数据库知识的要求。

🚀二、NoSQL数据库

NoSQL是指非关系型数据库,它可以区分于传统的关系型数据库,并且不保证关系型数据库的ACID特性。

NoSQL的分类包括:

  1. 列式存储数据库:数据按行列进行存储,通常用于应对分布式数据库的存储海量数据,例如HBase。

  2. 键值对存储数据库:以key-value的形式存储数据,简单易部署,例如Redis。

  3. 文档型数据库:类似于键值对数据库,但允许嵌套键值,处理复杂数据效率高,例如MongoDB。

  4. 图数据库:使用灵活的图形模型存储数据,适合存储通过图进行建模的数据,如社交网络、交通网络等,常见产品有Neo4J。

NoSQL的特征包括易拓展、适应大数据量、高性能、灵活的数据模型和高可用性。

NoSQL的框架分层从下至上包括数据持久层、数据分布层、数据逻辑模型层和接口层,这些层次相辅相成,协调工作。

NoSQL适用于数据模型简单、需要更强灵活性的系统、对数据性能要求高、不需要高度数据一致性的场景。


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。