### 一、介绍关系型数据库
#### 1.什么是数据库?
最简单的方式来理解数据库就是相关文件的集合。想象一个商店的销售清单文件(纸质或者数码)。然后有一个产品的文档,包含库存记录。要完成一个订单,你需要查找订单文件中的产品,然后查找并调整产品文件中特定产品的库存量。数据库和管理数据库的软件,称为“数据库管理系统(DBMS)“,有助于我们完成这样的任务。
如今大多数的数据库都是关系型数据库,之所以这样称呼是因为他们处理以一个共同的字段相关联的数据表。例如:表1展示了产品表,表2展示了发票表格。正如你看见的,这两个表之间的关系是基于相同的字段product_code。任意两个表都能以一个相同的字段联系在一起。
**Table 1**
| *Product_code* | Description | Price |
| -- | -- | -- |
|A416 | Nails, box | $0.14 |
|C923 | Drawing pins, box | $0.08 |
**Table 2**
|Invoice_code | Invoice_line | *Product_code* | Quantity |
| -- | -- | -- | -- |
| 3804 | 1 | A416 | 10 |
| 3804 | 2 | C923 | 15 |
####2.数据库相关术语
让我们更仔细地看一下前面的两张表,看看它们是如何组织的:
* 每个表由许多行和列组成。
* 每行包含一个单一实体(如一个产品或一个订单行)的数据。通常称其为*记录*。例如,表1中的第一行就是一个记录;它描述了A416产品,这是一盒钉子,成本十四美分。可以理解为*行*和*记录*就是一回事。
* 每一*列*(也称为*元组*)包含一个与该记录有关的数据,称为*属性*。例如一个项目的数量或者一个产品的价格,都是*属性*。在引用数据库表时,我们称*属性*为*字段*。例如在Table 1中,*Description*列就是*字段*。同样的,*属性*和*字段*也是一回事。
由于这种结构,数据库为您提供了一种方法来操纵这些数据:SQL。SQL(结构化查询语言)是搜索或者改变记录一个强大的方式。几乎所有的数据库管理系统使用SQL,虽然很多人说自己添加了一些特性来增强它。这意味着,当你学习SQL来使用mariaDB,只要不是针对mariaDB特定的语句,都能狗运用在其他的关系性数据库上,例如 PostgreSQL, MySQL, Oracle 和 SQL Serve。MariaDB最初创建就是用来替代MySQL的,因此MariaDB 和 MySQL非常相似。