MySQL之关系数据库等概念
一、关系数据库
目前关系数据库是数据库应用的主流,许多数据库管理系统的数据模型都是基于关系数据模型开发的。
1)关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库。
2)关系数据库的型与值:关系数据库的型称为关系数据库模式,是对关系数据库的描述,若干域的定义,在这些域上定义的若干关系模式;关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。
3)目前,主流的关系数据库主要分为以下几类:
- 商用数据库,例如:Oracle,SQL Server,DB2等;
- 开源数据库,例如:MySQL,PostgreSQL等;
- 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
- 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。
二、数据模型
数据库按照数据结构来组织、存储和管理数据,实际上,数据库一共有三种模型:
- 层次模型
- 网状模型
- 关系模型
1)层次模型就是以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树。
2)网状模型把每个数据节点和其他很多节点都连接起来,它的数据结构看起来就像很多城市之间的路网:
3)关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表:
随着时间的推移和市场竞争,最终,基于关系模型的的关系数据库获得了绝对市场份额。关系数因为相比层次模型和网状模型,关系模型理解和使用起来最简单。
三、SQL
SQL (Structured Query Language) 是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,可以操作各种不同的数据库。
MySQL是目前应用最广泛的开源关系数据库。MySQL接口和数据库引擎的关系就好比某某浏览器和浏览器引擎(IE引擎或Webkit引擎)的关系。
四、关系模型
我们已经知道,关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。
表的每一行称为记录(Record),记录是一个逻辑意义上的数据。
表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。
字段定义了数据类型(整型、浮点型、字符串、日期等),以及是否允许为NULL
。注意NULL
表示字段数据不存在。一个整型字段如果为NULL
不表示它的值为0
,同样的,一个字符串型字段为NULL
也不表示它的值为空串''
。