笛卡尔积

关系数据模型

◇◆丶佛笑我妖孽 提交于 2019-11-27 05:56:38
一、关系数据结构 关系模型由关系数据结构,关系操作集合,关系完整性约束三部分组成 1.1关系 单一的数据结构—— 关系 :现实世界的实体以及实体间的各种联系均用关系来表示 逻辑结构—— 二维表 :从用户角度,关系模型中数据的逻辑结构是一张二维表 1.1.1域 定义:一组具有相同数据类型的值的集合 例如:自然数,整数,长度小于25字节的字符串集合,{1,0}等 1.1.2笛卡尔积 1、笛卡尔积 给定一组域D1,D2,…,Dn,允许其中某些域是相同的 D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn ={ (d1,d2,…,dn)|di Di,i=1,2,…,n} 它是所有域的所有取值的一个组合,且不能重复 2、元组 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组或简称元组 3、分量 笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量 4、基数 若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为: ​ ​ ​ 5、笛卡尔积的表示方法 笛卡尔积可表示为一张二维表。表中的每行对应一个元组,表中的每列对应一个域 1.1.3关系 1、关系 D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)R:关系名,n:关系的目或度 2、元组 关系中的每个元素是关系中的元组

MYSQL中JOIN的用法

怎甘沉沦 提交于 2019-11-26 12:09:30
近期用phpcms v9做项目,初期没有问题,后期随着数据量的增大,phpcms v9后台出现的栏目更新不动的情况,初期我以为是程序的问题,进行了程序排查,没有发现任何问题,登录上centos服务器后free命令发现内存也没有满。瞬间感觉很蛋疼,不知如何处理,后来登录阿里云账号,发现更新栏目时,cpu使用率直接到达100%,xhell远程登录进入服务器后用top检测cpu使用率的情况,发现MySQL占用的cpu使用率的100%,直接登录进入MySQL数据库,输入show full processlist; 可以看到正在执行的语句。看到是一条嵌套的sql语句执行异常缓慢!由于做项目之前没有考虑到数据量的问题,所以出现这样的情况,想比较嵌套的sql语句,关联查询性能效率会高很多,多表关联查询有一个关键的词就是join。 JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。这里描述先甩出一张用烂了的图,然后插入测试数据。 View Code 笛卡尔积:CROSS JOIN 要理解各种JOIN首先要理解笛卡尔积。笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起。所以,如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录。下面的例子,t_blog有10条记录,t_type有5条记录