“保存有组织的数据的容器”(通常是一个或一组文件)
表(table)这里有个名字混淆解释,数据库是数据库,数据库管理系统是用来创建和操作数据库的软件,英文简称DBMS,MySQL也就是一个DBMS。
既然数据库是一个保存 有组织的数据 的容器,有组织肯定就要分门别类了,属于一个类别的记录就存储到一个表中。
表的定义: “一种结构化的文件,用于存储某种特定类型的数据”
模式(shema)显然,表在一个数据库中名字是唯一的。
表既然是结构化的,那就应该有一些特性来规定如何存储数据
例如:
- 可以存储什么样的数据
- 数据该如何分解
- 各部分的信息该怎样命名
等,而描述表的特性的这组信息就是 模式 了,
至于具体的哪些模式,数据库原理的教材应该有讲的。
“模式还可以用来描述数据库中特定的表以及整个数据库(和其中表的关系)”
定义: “关于数据库和表的布局及特性的信息”
列(column) 和 行 (row) 列在准备工作中遇到的问题,结果书上也有解释:“有时候,模式用作数据库的同义词。而且,模式这个词通常在上下文中语义不明”。反正就只可意会了。。
表是由列组成的,可以把表想象为一个excel表,like:
| Column 1 | Column 2 | Column3 |
|---|---|---|
| – | – | – |
| – | – | – |
| – | – | – |
表中的数据是按行来进行存储的,每个记录都存储在其所在行中。
行和记录是等同的,但行才是真正的术语。
所以说列就是用来描述表中每个记录所拥有的属性的。一条记录的每个属性也不是都是一个数据类型的,所以每个列具有其相应的数据类型。
并不是说 记录不同,他们的某个属性(列)就是不同的,所以为了方便表中数据的管理,就需要一个或一组特定的列来唯一的区分表中每个行,这一个或一组列就叫做主键
任意的列只要满足
- 任意两行都不具有相同的主键值
- 每个行都必须有主键值(也就是主键不能为NULL)
就可以作为主键了
一些主键设置的好习惯:
- 不更新主键的值
- 不重用主键列的值
- 不再主键列中使用可能改变的值



