前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】软考高级-架构设计师 062-应用程序与数据库交互和NoSQL数据库

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

原创
作者头像
愚公搬代码
发布2024-07-06 09:57:25
1750
发布2024-07-06 09:57:25
举报

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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适用于数据模型简单、需要更强灵活性的系统、对数据性能要求高、不需要高度数据一致性的场景。


我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、应用程序与数据库交互
  • 🚀二、NoSQL数据库
相关产品与服务
关系型数据库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档