数据库、数据库管理系统、SQL和图形界面工具的关系

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 数据库、数据库管理系统、SQL和图形界面工具的关系

刚刚接触数据库的小伙伴可能会对几个名词混淆不清,一上来又是命令又是工具的,这篇文章帮大家来明确一下这几个概念之间的关系。

一、数据库(DB)

数据库是我们接触这一学科时认识的第一个词,也是最容易产生歧义的一个词。为什么这么说呢?因为它既有自己的意义,也是其他名词的简称。

  • 数据

数据的概念大家并不陌生,这是一个很广义的词。书籍、磁盘、储存卡都能成为数据存储的载体,书籍中的文字、存储设备中的文本文件、音频、视频等等都可以称之为数据。如果,你去查百度百科的话,定义简直不要更抽象:

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。

数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。

在计算机系统中,数据以二进制信息单元0,1的形式表示。

既然我们现在接触的是信息技术和计算机相关的领域,那我们划一下重点,数据的定义可以是:存储在设备中的很重要的文件,通常是某些应用正常使用的基础。那么根据数据使用的时机和特点,我们还可以这样分类:内存中的数据和硬盘中的数据。我们知道,当一个程序开始运行时,首先要在内存中申请空间,然后根据程序的需要再去加载相应的资源。

比如我们运行一个游戏,可能自身的大小为10GB,但是运行的时候并不需要这么多,因为并不需要把所有的文件都加载到内存中,当我们切换到一个新的场景或者新开始一个游戏时,就需要加载一些素材和数据,这个时候就会从硬盘中加载一些(同时可能会释放一些无用的资源)。

当我们退出游戏时,比如我们积攒了一万金币,如果没有存档,那肯定会很悲剧,因为内存中的数据是不会永久保存的,当程序退出或者计算机重新启动,其中的内容就会被释放掉(毕竟那么多软件等着用呢)。而如果我们存档,就相当于把数据永久保存到了硬盘上,下次再进入时,是从硬盘上进行读档。

也就是说硬盘上的数据是持久化保存的,是以各种文件格式存在的,可能是游戏程序所需要的特定数据文件格式,也可能是我们熟知的各种文件格式。

  • 数据库

理解了数据的概念和相关特点后,我们直接引用百度百科的定义:

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

简而言之,数据库就是具有某种数据格式的数据的集合。通常我们所说的数据库都将数据存储在硬盘上,对于这样的数据集合必然要通过相应的软件去管理,这样的软件被称作数据库管理系统,即:DBMS。所以,在很多时候我们会用“数据库”这个词直接代表“数据库管理系统”,因为二者其实是密不可分的。

如果真要说两者的区别,才需要较一下真,数据库指的是存储的数据本身,而数据库管理系统指的是为管理数据库而设计的电脑软件系统。如果想要具体了解一下数据库的发展历程可以进传送门:数据库的发展与数据模型

二、数据库管理系统(DBMS)

理解了DB(数据库)和DBMS(数据库管理系统)之间的关系后,我们再去看维基百科上面的叙述应该就很清楚了:

数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的电脑类型来作分类,例如服务器聚类、移动电话;或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。

数据库关系系统就是一个能够操作数据库的软件,用户可以通过DBMS去完成对数据的最基本操作,新增、删除、修改、查询,也就是常说的增删改查,或者洋气的称为:CURD,即:C-创建(Create)、U-更新(Update)、R-读取(Retrieve)和D-删除(Delete)。

目前我们所使用的数据库以第二代数据库为主,所学习的也都是典型的关系型数据库,如:SQL Server、MySQL、Oracle等。说到DBMS之间的区别,主要在于内置函数、数据存取策略、应用场景适用性以及数据库对象之间的差异等等。

很多小伙伴儿可能会发现,当学完一个DBMS之后,用同样的语句在另外一个DBMS上也能执行成功,于是就很兴奋的认为原来数据库就是如此简单,我已经能够驾驭多个DBMS了!对此,小编只能很冷静的告诉你:对不起,请收回你的自信。。。之所以能够通用是因为这些DBMS在设计之初都支持使用SQL,但是仅仅掌握了SQL不能说你就掌握了这个DBMS。

三、结构化查询语言(SQL)

说到SQL,其实不需要过多的解释,因为他就像Java、C、Python一样,也是一种编程语言,只不过它的目的很单一,只作用在数据库上,能够对数据直接进行操作,也支持定义函数、存储过程、触发器等数据库对象,也可以使用case-when来实现选择结构。

SQL的全称为Structured Query Language,即:结构化查询语言。1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。SQL从功能和作用上可以分为6类:

  • 数据查询语言(DQL):主要由SELECT、FROM、WHERE组成,用于查询数据
  • 数据操纵语言(DML):主要包含插入(INSERT)、更新(UPDATE)、删除(DELETE)三种操作
  • 数据定义语言(DDL):主要使用CREATE来创建各种数据库对象(TABLE、VIEW、INDEX等)
  • 数据控制语言(DCL):主要用于数据库的权限控制及用户对数据库对象的使用管理
  • 事务处理语言(TPL):事务处理主要为了保证一系列的操作能够全部成功或统一回滚,主要关键字包括TRANSACTION、COMMIT、ROLLBACK
  • 指针控制语言(CCL):通过指针可以对数据表以行为单位进行操作,主要关键字包括CURSOR、FETCH、CURRENT

具体的SQL语法将在后续文章中介绍,有关于SQL和DBMS的关系我想大家应该已经很清楚了,SQL是关系型数据库语言的标准,可以适用于多种关系型数据库。有些小伙伴可能听说过T-SQL,在这里也说明一下,T-SQL( Transact-SQL)是SQL的增强版,但是只能在Microsoft SQL Server数据库上使用。在有些时候也会用T-SQL来代表某一个数据库自己对SQL语言的扩展或高级用法,这里注意区分。

四、图形界面工具

说到图形界面工具,其实就是我们最常使用的软件,那为什么还要弄出这么个词呢?这是因为数据在安装以后是以一个系统服务的方式存在,需要有相应的客户端才能够访问和使用。一般安装数据库以后都会带有官方提供的客户端程序,如:Oracle的sqlplus,MySQL的mysql,但是这些客户端都是在cmd中运行的,只能通过相应的指令或SQL语句来操作,为了方便用户操作数据库,就会借助图形界面工具了,也就是说图形界面工具本身只是一个操作DBMS的可视化软件,必须连接到一个正常工作的数据库服务才能使用

这里给大家介绍一些官方工具,大家可以根据喜好自行选择:

  • Oracle SQL Developer:Oracle数据库官方图形界面工具(免费)

下载地址:https://www.oracle.com/cn/tools/downloads/oracle-sql-developer-download.html

  • MySQL Workbench:MySQL数据库官方图形界面工具(免费)

下载地址:https://dev.mysql.com/downloads/workbench/

  • SQL Server Management Studio(SSMS):SQLServer数据库官方图形界面工具(免费)

下载地址:https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

  • PL/SQL Developer:支持Oracle数据库(需自行解决收费问题)
  • SQLyog:支持MySQL数据库(旗舰版收费)
  • MySQL-Front:支持MySQL数据库,生成数据字典较方便(需自行解决收费问题)
  • Navicat Premium:支持多种数据库,新版集成了可视化组件(需自行解决收费问题)
  • DataGrip:支持多种数据库,JetBrains家族优秀的数据库界面工具(需自行解决收费问题)

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
存储 安全 数据管理
新型数据库技术:基于区块链的分布式数据存储系统
传统数据库系统面临着中心化管理、数据安全性和可信度等方面的挑战。本文介绍了一种基于区块链技术的新型数据库系统,通过分布式存储和去中心化的特性,提高了数据的安全性和可信度,同时实现了高效的数据管理和共享。该系统在多个领域如金融、医疗和物联网等具有广阔的应用前景。
|
18天前
|
存储 安全 搜索推荐
酒店管理系统的数据库的应用以及选择
酒店管理系统数据库关乎运营效率和服务质量。数据库用于数据存储、管理、分析及客户关系管理,确保房态与预订精准。选择时重视性能稳定性、数据安全、易用性、可扩展性和成本效益。合适的数据库能提升酒店运营效率并优化客户体验。
23 2
|
4天前
|
存储 安全 数据管理
新一代数据库技术:融合区块链的分布式存储系统
传统数据库技术在面对日益增长的数据量和复杂的数据管理需求时显现出局限性。本文介绍了一种新一代数据库技术:融合区块链的分布式存储系统。通过将区块链技术与传统数据库相结合,实现了数据的分布式存储、安全性和透明度,以及去中心化的特性。这一技术的应用将极大地推动数据库系统的发展,为数据管理带来全新的解决方案。
|
4天前
|
存储 安全 数据管理
新一代数据库技术:融合区块链的分布式数据存储系统
传统数据库系统面临着数据安全性、可信度和去中心化等挑战,而区块链技术的兴起为解决这些问题提供了新的思路。本文介绍了一种新一代数据库技术,将区块链技术与传统的分布式数据存储系统相融合,实现了更高水平的数据安全性和可信度,以及去中心化的优势。通过结合区块链的不可篡改性和分布式存储系统的高性能,这一新型数据库技术将在未来的数据管理领域发挥重要作用。
|
5天前
|
XML 存储 数据库
工作流JBPM系统数据库表介绍
工作流JBPM系统数据库表介绍
15 1
|
8天前
|
存储 SQL Java
软件体系结构 - 嵌入式系统(3)- 嵌入式数据库
软件体系结构 - 嵌入式系统(3)- 嵌入式数据库
9 0
|
18天前
|
存储 NoSQL 安全
物流系统数据库的应该以及选择
物流系统数据库在信息化建设中扮演关键角色,用于数据存储、管理和共享,支持决策,并优化资源配置。选择数据库时要考虑类型(如关系型或NoSQL)、性能稳定性、成本易用性、安全性和未来发展需求。完善数据管理与安全措施,确保数据准确性和系统扩展性,是提升物流效率和企业竞争力的关键。
19 3
|
11天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
46 2
|
27天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
108 0
|
8天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
17 0