关系数据结构及形式化定义
关系
域
定义: 域是一组具有相同数据类型的值的集合
笛卡尔积
笛卡尔积是域上的一种集合运算
定义:给定一组域D1,D2……,Dn,允许其中某些域是相同的,D1,D2……,Dn,的笛卡尔积为
D1xD2x……xDn={(d1,d2……,dn)| di∈Di, i = 1, 2, ……, n}
其中每一个元素(d1,d2……,dn)叫作一个n元组(n-tuple),简称为元组(tuple)元组中的每一个值di叫做一个分量
一个域允许的不同取值个数称为这个域的基数
若Di(i = 1, 2, ……,n)为有限集,其基数为mi(i = 1, 2, ……, n),则D1xD2x……xDn的基数M为
笛卡尔积可表示为一张二维表,表中的每行对应一个元组,表中的每一列的值来自一个域
例如给出三个域
D1 = 导师集合 SUPERVISOR = {张清玫,刘逸}
D2 = 专业集合 SPECIALITY = {计算机专业,信息专业}
D3 = 研究生集合 POSTGRADUATE = {李勇,刘晨,王敏}
则三者的笛卡尔积为
D1xD2xD3 = {
(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
(刘逸, 计算机专业,王敏),(刘逸, 信息专业,李勇),
(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏)
}
(……)都是元组,张清玫、计算机专业、李勇、刘晨等都是分量
SUPERVISOR | SPECIALITY | POSTGRADUATE |
---|---|---|
张清玫 | 计算机专业 | 李勇 |
张清玫 | 计算机专业 | 刘晨 |
张清玫 | 计算机专业 |