前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库、数据库管理系统、SQL和图形界面工具的关系

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

作者头像
一头小山猪
发布2020-05-19 15:14:02
1.9K0
发布2020-05-19 15:14:02
举报
文章被收录于专栏:微光点亮星辰微光点亮星辰

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

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

本文关键字:数据库、DBMS、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从功能上可以分为4类:

  • 数据查询语言(DQL):主要由SELECT、FROM、WHERE组成,用于查询数据
  • 数据操纵语言(DML):主要包含插入(INSERT)、更新(UPDATE)、删除(DELETE)三种操作
  • 数据定义语言(DDL):主要使用CREATE来创建各种数据库对象(TABLE、VIEW、INDEX等)
  • 数据控制语言(DCL):主要用于数据库的权限及事务管理

具体的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家族优秀的数据库界面工具(需自行解决收费问题)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微光点亮星辰 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库、数据库管理系统、SQL和图形界面工具的关系
    • 一、数据库(DB)
      • 二、数据库管理系统(DBMS)
        • 三、结构化查询语言(SQL)
          • 四、图形界面工具
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档