关系型数据库(mysql是关系型数据库)
- 以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。
- 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名。
- 元组:可以理解为二维表中的一行,在数据库中经常被称为记录。
- 属性:可以理解为二维表中的一列,在数据库中经常被称为字段。
- 域:属性的取值范围,也就是数据库中某一列的取值限制。
- 关键字:一组可以唯一标识元组的属性。数据库中常称为主键,由一个或多个列组成。
- 关系模式:指对关系的描述,其格式为:关系名(属性1,属性2,…,属性N)。
- 数据存储方式:行存储,一个表里每一个对象的记录存储一行,一行里包括了该记录的所有特征。
key | Column 1 | Column 2 | Colum3 |
---|---|---|---|
1 | 1 | 1 | 1 |
非关系型数据库
- 以列为单位进行数据的存储,一列作为一个记录,每个对象的记录会存储多行,各行相对独立。
- 数据存储方式:
key | 列名 | Value |
---|---|---|
1 | Column1 | 1 |
1 | Column2 | 1 |
1 | Column3 | 1 |
常见的数据类型
- 数值类(比如
TINYINT(1字节)
、SMALLINT(2字节)
、MEDIUMINT(3字节)
、INT(4字节)
、BIGINT(8字节)
、FLOAT(4字节)
、DOUBLE(8字节)
等) - 日期/时间类(比如
DATE(3字节):YYYY-MM-DD
、TIME(3字节):HH:MM:SS
、DATETIME(8字节):YYYY-MM-DD HH:MM:SS
等) - 字符串类(比如
CHAR(0-255字节 定长字符串)
、VARCHAR(0-65535字节 变长字符串)
、TEXT(0-65535字节 长文本数据)
)
数据类型如何选择
- 日期/时间类型按照格式进行选择;数值/字符串类型根据数据大小进行选择。