MOST SHARE
HOME
数据库,这个名词可能很多朋友并不陌生,如果不是做后端开发的朋友是很难深入理解它在程序中扮演什么角色以及它整体的数据流转过程,始终带有一丝丝的神秘感。
为了揭开它神秘的面纱,我们来来聊聊数据库相关的知识。老规矩,我们通过三方面来理解:
什么是数据库,它是如何工作的?
数据库表、字段都有什么作用?
常用的数据库操作语言SQL
01
什么是数据库,它是如何工作的?
1、什么是数据库?
数据库,简单拆开来看,就是存数据的仓库。
我们在使用产品的过程中发生的行为和业务数据都会存储在数据库中。(比如:登录日志、操作日志、历史订单等)
2、数据库在哪里?
数据库运行在服务器上,它本质上属于后端的一部分,它和服务端程序的作用不一样,服务端程序主要用来处理业务逻辑(如积分兑换逻辑、商品下单逻辑等),数据库就是来存储处理后的数据。
3、数据库的有几种类型?
目前有两种数据库类型。
关系型数据库,如MySQL、SQLServer等,它是基于关系模型的数据库,关系模型映射的是显示世界中实体的关系,将各类实体之间的关系通过关系模型表达出来。存储形式是以表格形式存储,并且表与表之间有密切的关联。

非关系型数据库,如MongoDB、CouchDB等,它是一种相对松散不严格按照固定的结构规范存储的数据库,它的存储形式类似于文档形式,并且没有强关联性。

4、数据库是如何工作的?
用个类比的方式,比如:堆积粮食的地方叫粮仓,你需要从米仓取1000公斤的大米。你告诉给仓库管理员:我需要1000公斤的大米。接收到这个命令后他就会去粮仓二楼的米仓取出来1000公斤大米来给你。
那堆积数据的地方就叫数据库,比如公司需要从系统中查询2022年2月的财务数据。你通过前端的界面,选好了时间这个筛选条件,并且点击【查询】,接下来前端就会将条件通过接口传参到服务端,服务端就会接收:查询2022年2月份的财务数据,程序会继续通过sql语句来查询已定义好存储财务数据的表——finance_xx_data表里的数据,然后返回给服务端,然后通过接口再返回给前端进行展示,你就拿到了2022年2月份的财务数据。
整个数据流的链条见下图:

02
数据库表、字段都有什么作用?
这里主要分享是关系型数据库,数据库“表”对应客观世界中的一个实体,“表”的名就是实体名,“表”的字段就是实体属性。实体与实体之间存在着关系结构,可以是1对1,1对多和多对多。

例如:
实体A:父亲(姓名、年龄、职业...)
实体B:儿子(姓名、年龄、职业...)
A和B的对应关系就是父子,是1对多。
1、表和表之间如何关联?
表与表之间通过主键关联,它是每个表的唯一标识。
例如:
商品表的主键:productID(商品编号)
订单表的主键:orderID(订单编号)
按照实际情况,订单对商品是一对多的关系。

2、数据库字段和字段类型
字段对应实体对象中的属性,在数据表结构中,字段是基本组成要素。
例如:Product表,字段包含:
(1)productID(商品编码)(主键)
(2)productName(商品名称)
(3)price(商品价格)
(4)color(商品颜色)

字段类型属于存储该字段的值的类型。
比如:整数型(20,30)、字符型(yyds)、日期类型(2022-30-11)等
字段和字段类型是数据结构的基础,接口里的参数和参数类型对应的就是数据库表里的字段和子弹类型。
温馨提示:后端工程师提供的API接口文档都是基于表的字段和字段类型来定义的。
03
常用的数据库操作语言SQL
SQL(全称:Structured Query Language)叫作结构化查询语言,是用来操作关系型数据库的编程语言,也就是对数据库的操作命令。

SQL语句通常被嵌入服务端程序中,后端工程师除了写业务逻辑代码以外,还需要对数据库进行操作。
1、常用的SQL语句
基于Product表的建立、新增、查询、修改和删除。

建表:create table Product(productID varchar (30) primary key, productName varchar (50), price varchar(10), color varchar (60))
(varchar代表字段长度,primary key代表主键)
新增:insert into Product values (3,小米11,3000,魅力蓝)
查询:select * from Product where productID =' 2 '
修改:update Product set price = 5500 where productID = ‘ 1 ’
删除:delete from Product where productID =‘ 3 ’
2、索引有什么作用?
索引是基于数据库表的某一列或几列建立的目录结构。
解决的问题:由于数据量大而引发的查表速率过慢的问题。
同时也存在缺点:
索引需要耗费一定的物理空间存储索引并单独维护;
每次数据库表更新同步需更新索引表;
随数据量增加索引表耗费时间更长。
最后的话
本次我们一起了解了数据库的入门知识,共同了解数据库的运作原理及表和字段的定义,如果需要详细了解可以通过B站或者其他渠道继续深入了解。
那我们通过6篇文章了解了互联网的基础技术知识,超链接见下方,希望见证彼此的进步,加油。
点击卡片 关注我们




