我是lemon,是一名web前端开发工程师,曾就职于百度,现就职于腾讯,参与过app hybrid、H5、pc网站、sdk、数据可视化等项目的研发。
从0开始学SQL系列主要讲的是数据库的概念、查询以及数据可视化、数据中台等与数据相关的实践和原理。能帮助产品加深对数据库的理解,以及自己也能查询想要的数据,从技术的角度对数据分析、数据可视化有更深入的理解,提升综合能力。下图是系列课程框架
这是数据课的第一课了解数据库~
什么是数据库?用官方文档的解释是:
数据库是按照数据结构来组织、存储和管理数据的仓库。下面详细讲下数据库的基本概念。
No.1
数据库类型
数据库可以分成2种类型,分别是关系型数据库和非关系型数据库,关系型数据库是基于关系模型的数据库,使用一系列的数据表来表达数据和数据之间的关系,一般叫做SQL,而非关系型数据库是一种相对松散且可以不按照严格结构规范进行存储的数据库,它一般存储在数据集中,比如文档、键值对、图结构。一般叫做NOSQL。
主流的关系型数据库有:mysql、oracle、sql server
主流的非关系型数据库有:mongodb、couchDB
其中mysql是使用最广泛的关系型数据库操纵语言。每种数据库都提供相应的api去让用户增、删、查、改数据库,只要了解主流数据库操纵的相关语法就可以在工作中解决大部分数据库的增、删、查、改了。
No.2
数据库常用术语
数据库:关联表的集合,类比excel表格里面的n个sheet。
表:n行数据记录组成一张表,类比excel表格里面的一个sheet。
行:n列数据组成一行,类比excel表格里面的一行数据。
列:具有相同数据类型的数据集合,类比excel表格里面的一列。
字段:字段指的是列名,即表示这类数据的名字。比如t_user表的name。
主键:指的是用来唯一标识这一行数据的字段,比如t_user表的id可以唯一标识每个学生。可以通过唯一主键来快速查询数据。主键不是必须的。
自增主键:现在很多表里面用的主键都是自增主键,它是数据库自带的功能,只要指定了自增,那么每一行记录的主键字段将从1开始递增。
外健:用来关联2张表的字段。
索引:数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
下面用excel电子表格举例子来图解下术语:
有一张t_user表,记录学生的信息,还有一张t_class表,记录每个学生的班级信息,这2张表通过user_id关联起来,那么t_class表的user_id就是关联t_user表的外键。
No.3
数据库字段
在表中使用属性来表示某一类数据,属性也叫字段。比如t_user表里面的id、name、sex就是字段。一个表里面的字段名不能重复,而且只能用英文、下划线表示。字段还有自己的数据类型,类型有整型、字符型、布尔型、日期型等,如果在存储时没有按照自己的数据类型规范存储,数据库就会报错。比如t_user表里面的name字段是字符型,但此时如果存入了一个日期型的数据是错误的。