目录
官方语言
SELECT(查询)关键字是两个或两个以上的有关系的集合组成的一个统一集合叫 水平分区。
PROJECT(投影)关键字是把1个关系差分为2个叫 垂直分区。
注意这里的PROJECT,在MySQL中是没有这个关键字的。
上面就是水平分割和垂直分割的概念,下面用土话解析下。
土话解释
这里的土话解析,主要来源于stack overflow,并且加了本人自己的理解和一些例子。
水平分区(Horizontal partitioning):将不同的行放入到不同的表中。举个例子,把中国按照南北划分,南边的所有邮政编码放到SouthTable里面,把所有北方的邮政编码放到north表里面,在使用select查询的时候,一般要结合这2个表进行查询,也就是最后是使用union这个关键字,把2个表关联起来并去除重复列。上面所说的这一坨东西就叫做水平分区。
垂直分区(Vertical partitioning):创建一个表并且这个表里面放有少量的列,并且又额外创建一个新表,这个表存储了刚刚那个表剩下的列。这里举个例子,如果有个表是索引表,这个表记录了其他表的某些关键信息,但是具体信息还得在具体的表中去找,这样的结构就叫做锤子分区。
如下面这张表:
有如下的sql语句:
结果如下:
这个 ======= 就是水平分区,这个是通过select查询的。
| 这个就是垂直分区,也就是PROJECTION投影操作!
最后的结果为: