DBMS和数据库服务器软件

时间:2014-11-13 00:06:51

标签: mysql database rdbms database-server

好的..我已经对此进行了研究,但是我越是调查这一点就越困惑。所以想到在这里张贴它。

  • DBMS提供数据库服务器功能
  • DBMS有一个服务器组件和一个客户端组件
  • DBMS =数据库服务器软件
  • DBMS在服务器/客户端架构上运行

当我试图理解数据库服务器软件和DBMS 之间的区别时,我遇到了这四个概念。有人可以在这里澄清哪个是正确的概念吗?

1 个答案:

答案 0 :(得分:3)

取自here

  

数据库是有组织的数据集合。通常组织数据以便以支持需要信息的过程的方式对现实的各个方面进行建模。例如,以支持寻找有空缺的酒店的方式对酒店房间的可用性进行建模。

     

数据库管理系统 DBMS )是与用户,其他应用程序和数据库本身进行交互以捕获的计算机软件应用程序并分析数据。通用DBMS旨在允许数据库的定义,创建,查询,更新和管理。

因此,简而言之,DBMS是负责存储和管理数据库中存储的数据的软件,它与用户,其他软件和数据库本身进行交互。

请注意,并非所有DBMS都具有客户端 - 服务器体系结构,并且数据库中存储的数据没有特定的模型。目前最常用的数据库模型是关系模型(许多流行的DBMS是关系DBMS,或 RDBMS ),但还有其他模型(对象关系,面向文档等)

遵循客户端 - 服务器架构的DBMS示例:

  • MySQL的
  • 的PostgreSQL
  • SQL Server
  • MongoDB(NoSQL DBMS)

不遵循客户端 - 服务器架构(“嵌入式”)的DBMS示例:

  • SQLite(Android应用程序使用了很多)
  • Apache Derby(也可以用作客户端 - 服务器DBMS)
  • HSQLDB(也可以用作客户端 - 服务器DBMS)
  • MS Access(它可以是一个客户端,但实现它作为一个数据库服务器是一个真正的痛苦的脖子和悲伤和眼泪的来源有点难,对大项目不是很有效)

所以,拿你的清单:

  • DBMS提供数据库服务器功能

    不一定:DBMS可以在嵌入模式下工作(应用程序可以独占访问数据库,DBMS嵌入到应用程序中)

  • DBMS有一个服务器组件和一个客户端

    不一定:有嵌入式DBMS,没有服务器,只有一个可以访问数据库的应用程序。

  • DBMS =数据库服务器软件

    不是必需的,但经常是

  • DBMS在服务器/客户端架构上运行

    不一定


关于您的具体问题(“数据库服务器软件和DBMS之间的差异”)......好吧,许多DBMS 数据库服务器。作为负责数据存储和管理的软件,DBMS还负责处理“用户”(人或应用程序)访问数据的特定方式。使用嵌入式DBMS时,没有服务器:数据可以存储在只能嵌入DBMS的应用程序的文件中,甚至(在某些情况下)与应用程序在同一文件中。更常见的客户端 - 服务器体系结构具有一些特征(取决于您的特定需求,它们可能是优势或障碍):

  • 数据存储在由DBMS的服务器组件管理的文件中
  • DBMS有一个客户端组件,负责用户访问和操作数据
  • 服务器部分还可以实现访问和操纵数据的安全措施(例如权限)
  • 客户端可以是DBMS的特定工具(例如,MySQL有一个服务器组件和一个命令行客户端),一个独立的程序(例如MySQL Workbench,它可以直接连接到MySQL服务器)或者一个库可以用于将您的应用程序连接到服务器(例如,MySQL连接器/ J是一个Java库,可供Java程序用来访问MySQL服务器)
  • 客户端 - 服务器架构允许您创建一个或多个用户可访问的数据库,每个用户都具有特定权限

......等等