三十五、SQL和数据库相关概念

@Author : By Runsen
@Date : 2020/5/14

作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件。导致翘课严重,专业排名中下。.在大学60%的时间,都在CSDN。

本专栏数据分析全系列:将使用Excel,Powerbi,Python,R,Sql,SPSS,stata以及Tableau,后面还会补充BI。这个从2020年期末考试,由于大三上大学挂了大学以来的两科化工原理和热力学。从此,决定逃离CSDN,但是发现我已经深深爱上了CSDN,这个我从大一奋斗到现在的地方。

于是将每天一直写,不断地回顾和反省,大学三年搞数据的从小白变老手的经验,想看就给钱,就是这么直接。这些是一月份我决定写书,结果别人看不起我写的。

1、前言

@Author:By Runsen

前言:1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统),随后被卖给了军方客户。随着 Oracle 软件的名气越来越大,公司也改叫 Oracle 公司。

MySQL 是 1995 年诞生的开源数据库管理系统,因为免费开源的特性,得到了开发者的喜爱,用户量迅速增长,成为开源数据库的 No.1。但在发展过程中,MySQL 先后两次被易手,先是在 2008 年被 SUN 收购,然后在 2010 年 SUN 被 Oracle 收购,于是 Oracle 同时拥有了 MySQL 的管理权。

SQL Server 是微软开发的商业数据库,诞生于 1989 年。实际上微软还推出了 Access 数据库,它是一种桌面数据库,同时具备后台存储和前台界面开发的功能,更加轻量级,适合小型的应用场景。

而SQL是Structured Query Language的缩写,意思是结构化查询语言,是一种在数据库管理系统(Relational Database Management System, RDBMS)中查询数据,或通过RDBMS对数据库中的数据进行更改的语言。

4、SQL和数据库相关概念

4.1 数据库

数据库:就是数据的仓库,它是长期存储在计算机内,有组织的、可共享的数据的集合。下面介绍数据库相关概念

4.1.1 DBMS

数据库管理系统 (Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。DBMS:可以理解为 DBMS = 多个数据库(DB) + 管理程序。

4.1.2 DB

DB 的英文是 DataBase,也就是数据库。数据库是存储数据的集合,你可以把它理解为多个数据表组成的数据库

4.1.3 DBS

DBS 的英文是 DataBase System,数据库系统。它是更大的概念,包括了数据库、数据库管理系统以及数据库管理人员 DBA。

4.1.4 RDBS

数据库分为关系型数据库(RDBMS)和 非关系型数据库(NoSql)

RDBMS的英文是 Relational Database Management System,翻译过来是:关系型数据库。关系型数据库就是指建立在关系模型基础上的数据库,通常由多张表组成,这些表之间存在一定的关系。关系型数据库通过外键关联来建立表与表之间的关系,

常见的RDBMS分别有:

  • Oracle Database:甲骨文公司的RDBMS
  • SQL Server :微软公司的RDBMS
  • DB2:IBM 公司的RDBMS
  • PostgreSQL:开源的RDBMS
  • MySQL :开源的RDBMS

4.1.5 NoSql

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。而且NoSQL不同时代都有相对应发展的含义

1970:NoSQL = We have no SQL

1980:NoSQL = Know SQL

2000:NoSQL = No SQL!

2005:NoSQL = Not only SQL

2013:NoSQL = No, SQL!

NoSQL通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定

常用的是 Key-Value型

  • Redis是一个key-value存储系统,key为字符串类型,只能通过key对value进行操作,支持的数据类型包括string、list、set、zset(有序集合)和hash。Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步。
  • 一个基于分布式文件存储的开源数据库系统,为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key value)对组成。

现在主流的还是关系型数据库,非关系型数据库中Redis和MongoDB最受欢迎

4.1.6 常用的几种数据库介绍

  1. Oracle数据库
    Oracle Database,又名Oracle RDBMS,简称Oracle,是Oracle(甲骨文公司)的一款关系数据库管理系统。目前Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据库系统之一。

  2. MySQL数据库

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。MySQL数据库也是可以跨平台使用的(如linux和Windows),通常被中小企业所青睐。

  3. SQL Server数据库

    Microsoft SQL Server是微软公司开发的大型关系型数据库系统。SQL Server的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Windows操作系统紧密集成。SQL Server的缺点是只能在Windows系统下运行。毕竟Windows系统是微软自身的操作系统产品

  4. DB2数据库

    DB2是IBM(国际商用机器公司(International Business Machines Corporation,简称IBM)出品的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。虽然DB2产品是基于UNIX的系统和个人计算机操作系统,但在基于UNIX系统和微软在windows系统下的Access方面,DB2追寻了Oracle的数据库产品。

  5. ACCESS数据库

    美国Microsoft公司于1994年推出的微机数据库管理系统ACCESS。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面关系型数据库管理系统。它是 Microsoft Office的成员之一。Access界面友好而且易学易用,作为Office套件的一部分,可以与Office集成。

  6. Redis数据库

    Redis:全称:Remote Dictionary Server 。译为:远程字典服务。Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,带有半径查询和流的地理空间索引。

  7. MongoDB数据库

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

  8. Elasticsearch数据库

    Elasticsearch和MongoDB,Redis一样,是非关系型数据库。Elasticsearch是一个接近实时的搜索平台,从索引这个文档到这个文档能够被搜索到只有一个轻微的延迟,企业应用定位:采用Restful API标准的可扩展和高可用的实时数据分析的全文搜索工具。

下面5-1图是 2019 年 5 月 DB-Engines 公布的 DBMS 的排名(每年的排名会有更新,主要依据这些 DBMS 在搜索引擎上的热度,不具有权威性):

而SQL是一门和数据库打交道的语言

  • SQL(结构化查询语言)是用于访问和操作数据库中的数据的标准数据库编程语言。
  • SQL是关系数据库系统的标准语言。所有关系数据库管理系统(RDMS),如MySQL、MS Access、Oracle、Sybase、Informix、Postgres和SQL Server都使用SQL作为它们的标准数据库语言。

4.2 SQL语言概念

SQL是结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

我们可以把 SQL 语言按照功能划分成以下的 4 个部分:

(1)DDL,英文叫做 Data Definition Language,也就是数据定义语言,它用来定义我们的数据库对象,包括数据库、数据表和列。通过使用 DDL,我们可以创建,删除和修改数据库和表结构。

(2)DML,英文叫做 Data Manipulation Language,数据操作语言,我们用它操作和数据库相关的记录,比如增加、删除、修改数据表中的记录。(3)DCL,英文叫做 Data Control Language,数据控制语言,我们用它来定义访问权限和安全级别。

(4)DQL,英文叫做 Data Query Language,数据查询语言,我们用它查询想要的记录,它是 SQL 语言的重中之重。在实际的业务中,我们绝大多数情况下都是在和查询打交道,因此学会编写正确且高效的查询语句,是掌握SQL的重点。

4.3 连接数据库相关软件

4.3.1 Navicat

官方下载网址:https://www.navicat.com.cn/

Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。

4.3.2 MySQL Workbench

官方下载网址:https://dev.mysql.com/downloads/workbench/

MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。MySQL Workbench是面向数据库架构师,开发人员和DBA的统一可视工具。MySQL Workbench提供了数据建模,SQL开发以及用于服务器配置,用户管理,备份等的综合管理工具。

4.3.3 Sequel Pro

官方下载网址:https://sequelpro.com/download

Mac OS X 原生的应用工具Sequel Pro是一款管理 Mysql 的工具,界面简洁易用,你可以一次性连接多个数据库,允许快速访问你经常需要访问的数据库。

4.3.4 Redis Desktop Manager

官方下载网址:https://redisdesktop.com/pricing

Redis Desktop Manager 是开源软件,但是自 0.8.8.384 版本后,开发者不再免费提供 Windows 和 MacOS 的预编译文件,需要订阅或自己动手编译,Linux 则可以免费试用。

4.3.5 office

官方下载网址:https://products.office.com/zh-cn/home

office中的excel本身是可以作为小型数据源的,同时office中的access也是可以作为数据源的,同样可以使用excel和access连接Oracle,MySQL等数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘要努力。

顺便点一个赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值