1.域(Domain)
域是一组具有相同数据类型的值的集合。
例如,自然数、整数、实数、一个字符串、{男,女}、大于10小于等于90的正整数等都可以是域。
2.笛卡儿积(Certesian Product)
给定一组域D1,D2,…,Dn,这些域中可以有相同的。则D1,D2,…,Dn的笛卡儿积为
D1×D2×…×Dn={(d1,d2,…,dn)|di∈Dj,j=1,2,…,n}
其中,每一个元素(d1,d2,…,dn)叫作一个n元组或简称元组,元素中的每一个值di叫作一个分量。若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…× Dn的基数为M:
笛卡儿积可以表示成一个二维表,表中的每行对应一个元组,表中的每列对应一个域。例如,给出三个域:
D1=姓名集合={欧阳宝贝,孙凯,唐晓}
D2=性别集合={男,女}
D3=专业集合={工商,商务}
D1×D2×D3={(欧阳宝贝,男,工商),(欧阳宝贝,男,商务),(欧阳宝贝,女,工商),(欧阳宝贝,女,商务),(孙凯,男,工商),(孙凯,男,商务),(孙凯,女,工商),(孙凯,女,商务),(唐晓,男,工商),(唐晓,男,商务),(唐晓,女,工商),(唐晓,女,商务)},这12个元组可列成一张二维表,如表3-3所示。
表3-3 D 1 、D 2 、D 3 的笛卡儿积结果表
3.关系(Relation)
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)
这里R表示关系的名字,n是关系的目或度(Degree)。当n=1时,称该关系为单目关系(Unary relation)。当n=2时,称该关系为二目关系(Binary relation)。关系是笛卡儿积的有限子集,所以,关系也是一个二维表。
例如,可以在表3-3的笛卡儿积中取出一个子集来构造一个学生关系。由于一个学生只有一个专业和性别,所以,笛卡儿积中的许多元组在实际中是无意义的,仅仅挑出有实际意义的元组构建一个关系,该关系名为Student,字段名取域名:姓名,性别和专业,如表3-4所示。
表3-4 Student关系