关系模式
关系模式的构成要素:
数据结构,数据操作,完整性约束
一些定义
examples
定义2.1:域(domain)是一组值的集合,同一个域中的所有值均应具有相同的数据类型
例2-1:
D1={袁玲,吴丹,刘杰}姓名域
D2={男,女}性别域
D3={18,19}年龄域
其中:D1(姓名)、D2(性别)和D3(年龄)为域名,分别表示“人员”关系中姓名、性别和年龄的可取值范围
D1的基数m1=3,D2的基数m2=2,D3的基数m3=2
域名中元素数量为域名的基数,plus域中元素无排列顺序
域中元素一般无排列次序,如:D2={男,女}={女,男}
定义2.2:域D1,D2,…,Dn上的笛卡儿积(Cartesian product)是一个集合:
D1×D2×…×Dn={(d1,d2,…dn) | di∈Di,1≤i≤n}
其中允许Di=Dj且i≠j,将该集合中的每一个元素(d1,d2,…dn)称为一个元组(tuple),元组中的每一个值di称为一个分量(component),有n个分量的元组称为n元组
域的笛卡尔乘积被称为一个集合,该集合中的元素(d1,d2,…dn)称为一个元组(tuple),元组中的di称为分量,n个分量的元组称为n元组
例2-2:已知三个域: D1={袁玲,吴丹,刘杰} D2={男,女} D3={18,19}
该笛卡尔积的基数为3×2×2=12,即共有12个元组,(袁玲、男、18)和(吴丹、女、19)就是元组,“袁玲”、“女”、“吴丹”、“19”就是分量。
有时一个元组也被称为一条记录
定义2.3:D1×D2×…×Dn上的任意一个子集均是定义在域D1,D2,…Dn上的一个关系(relation),记为R
由n个域构成的关系通常称为n元关系,关系中的每个元素即是这个关系的元组
即:关系是笛卡尔乘积的子集,元组是笛卡尔乘积的元素,元组也是关系的元素,分量是元组中的某一个域的值
由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)
定义2.4:为关系的每个列所起的名字称为关系的属性,一般可表示为A,B,C…
n元关系必有n个属性,表的任意一列对应一个属性,属性的名称称为“属性名”,具体元组的属性取值称为“属性值”
例:学生关系有学号、姓名、性别、系名、年龄等属性
即:分量是某个关系上属性的值,属性名,属性值 注意区分 域可以相同
定义2.5:如果一个关系中的某个属性或属性集能够唯一的确定一个元组,则称该属性(集)是这个关系上的