彪码野郎

  • 首页

  • 分类

  • 归档

sql篇其一

发表于 2019-09-03 阅读次数:

sql系列文章为学习极客时间的”sql必知必会”这一课程的知识总结,此篇对应的课程是01-03,除特殊标注之外的快速阅读即可

简介

我们常说的SQL是一种语言,而mysql、Oracle这些则是数据库管理系统(下面简称为DBMS),SQL是我们与DBMS交互的语言,对于不同的DMBS会按照指定的SQL执行操作。

SQL有两个重要的标准,SQL92和SQL99,分别是92年和99年发布的SQL标准。现在常用的SQL语言仍是使用这些标准。

SQL按功能分类

  1. DDL,全称Data Definition Language,用于创建,删除和修改数据库和表结构

  2. DML,全称Data Manipulation Language,用于增加、删除、修改数据库中的记录

  3. DCL,全程Data Control Language,用于定义访问权限和安全级别

  4. DQL,全称Data Query Language,用于查询数据库中的记录

ER图

ER图(Entity Relationship Diagram)即实体-关系图,是设计表的重要方式。

ER图有三大要素:实体、属性、关系

实体就是要我们管理的对象,实体中拥有属性来标识不同的实体。关系比较难以抽象化,所以我用一个例子来说明这三要素。

我们有三个实体,”孙笑川”、”吴亦凡”、”蔡徐坤”

孙笑川的属性:抽象、儒雅随和
吴亦凡的属性:带电
蔡徐坤的属性:唱、跳、rap

孙笑川是吴亦凡和蔡徐坤的哥哥,也有是说哥哥可以有多个弟弟,与之相应的弟弟也可以有多个哥哥。这也就是我们常说的多对多的关系。

除此之外还有一对一和一对多的关系。

具体的图待补充。。。

DBMS的分类

人们常说的SQL和NoSQL是指关系型数据库和非关系型数据库

而非关系型数据库包含了键值型数据库、文档型数据库、搜索引擎和列存储以及图形数据库。

键值型数据库:以Key-Value的形式存储数据,Key和Value都可以是对象。Key是唯一的标识符,优点是查找速度快,明显优于关系型。但缺点也很明显,它无法使用条件过滤,如果不确定要找哪里的数据,就要遍历所有键。

键值型数据库常用于作内容缓存。其中Redis最为流行

文档型数据库:用于管理文档,一个文档相当于一条记录

最流行的文档型数据库为MongoDB

搜索引擎:虽然不是真正意义上的数据库,但在数据库检索中也起到重要的作用,其优势在于采用全文搜索的技术,核心原理是“倒排索引”

常见的全文搜索引擎有Elasticsearch、Splunk和Solr

列式数据库:将数据按照列存储到数据库中,优势是可以大量降低系统的I/O,适合分布式文件系统,缺点是功能有限

Oracle、MySQL、SQL Server等数据库均采用行式存储(Row-basesd)

图形数据库:用图这种数据结构存储实体之间的关系。能搞笑解决复杂的关系问题

堆及堆排序
打矩阵输出为矩阵输出为之字型
  • 文章目录
  • 站点概览
Weapon

Weapon

40 日志
6 分类
4 标签
  1. 1. 简介
  2. 2. SQL按功能分类
  3. 3. ER图
  4. 4. DBMS的分类
© 2019 Weapon
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0