mysql必知必会 - 什么是数据库、表、模式

  什么是数据库呢?数据库英文名称是database,是保存有组织的数据的容器,通常是一个文件或者一组文件。

  如何理解数据库呢?数据库就是存储数据的仓库,粮库是用来存储粮食的仓库,金库是用来存储金钱的仓库。

  什么是数据库管理系统,它的作用是什么呢?数据库管理系统简称dbms,用户通过dbms来操作数据库,用户并不直接操作数据库,而是用户使用的是dbms,它替用户访问数据库。

  如何理解dbms呢?mysql,oracle是数据库,sqlyog、plsql等是dbms,通过dbms来操作数据库中的数据。dbms类比银行卡,用户无法直接操作自己银行卡里面的金钱,只能通过银行卡对金钱进行操作。

  什么是表呢?表英文名称是table,表是一种结构化的文件,可以用来存储某种特定类型的数据。

  如何理解表呢?表是文件,存储特定类型的数据。幼儿园是表,孩子们就是特定类型的数据。书柜是表,书就是特定类型的数据;表和编程语言中的数组类似,数组要求存储相同类型的一组数据。

  表和数据库的关系是什么呢?数据库是就是存储有组织的数据的仓库,表是存储特定类型数据的文件,二者都是存储数据的地方。如果说数据库是粮库,那么粮库中有各种各样类型的粮食,比如玉米、小麦、大米、小米等等。如果将玉米、小米、大米混杂在一起,那就不能起到有效保存粮食的作用,那么就会建造不同的粮囤,这个粮囤存小米,那么存大米等等。表呢,存储特定类型的数据。表就相当于粮囤,这个表存小米,那个表存大米等等。因此可以看出,数据库中存储数据,其实是以表的形式进行组织和存储数据的。没有粮库,哪里会有粮囤呢?

  表名的说明?如果一个人家里有两个孩子都起名叫小四,那么每当叫小四的时候,两个孩子知道叫谁吗?但是如果张三和王五两家中的孩子都起名叫小四,那么每当叫张三家小四,那么张三叫小四就会应答,而王五家小四是不会答应的。因此在同一个数据库中,数据库表名是不可以相同的,这样可以唯一定位一张表。但是不同数据库中,是可以有相同的表名的。这就好比说张三家小四,王五家小四,这样可以清晰定位到具体的表中。

  表的唯一性如何确定呢?最低要求是数据库名+表名必须唯一。这就类似java语言中同一个包下的类名是不同的,但是不同包下的类名是可以相同的,类的全名称是包路径+类名。

  什么是模式呢?模式单词schema,关于数据库和表的布局以及特征的信息。

  模式的作用是什么?比如表的特征,定义了数据如何在表中存储,可以存储什么样的数据,数据如何分解的,各部分信息如何命名等。模式类似与现实中的各种标准,比如通信领域的3、4、5G的标准,那么通信就要遵循该标准。同样,如果数据库和表同样要遵循特定的标准,那么这个标准就是模式。

你可能感兴趣的:(MySQL)