第3章关系数据库研究.ppt
文本预览下载声明
数据库原理与应用 高等院校计算机教材系列 第3章 关系数据库 3.1 关系模型概述 3.2 关系数据模型的基本术语与形式化定义 3.3 关系模型的完整性约束 3.4 关系代数 3.1 关系数据模型概述 关系数据结构 关系操作 数据完整性约束 3.1 关系数据结构 关系数据模型源于数学。 用二维表来组织数据,这个二维表在关系数据库中就称为关系。 关系数据库就是表或者说是关系的集合。 关系系统要求让用户所感觉的数据库就是一张张表。 在关系系统中,表是逻辑结构而不是物理结构。 关系操作 传统的关系运算: 并(Union) 交(Intersection) 差(Difference) 广义笛卡尔乘积(Extended Cartesian Product) 专门的关系运算: 选择(Select) 投影(Project) 连接(Join) 除(Divide) 关系模型的数据操作 主要包括:查询、插入、删除和修改数据。 是基于集合的操作,操作对象和操作结果都是集合(或关系)。 是非过程化的。 数据完整性约束 数据完整性是指数据库中存储的数据是有意义的或正确的。 主要包括三大类: 实体完整性 参照完整性 用户定义的完整性 关系数据模型的基本术语 关系 :关系就是二维表。并满足如下性质: 关系表中的每一列都是不可再分的基本属性; 表中的行、列次序并不重要。 属性 :表中的每一列是一个属性值集,列可以命名,称为属性名。 值域:属性的取值范围 。如,性别只能是‘男’和‘女’两个值。 关系数据模型的基本术语(续) 元组:表中的每一行称作是一个元组,它相当于一个记录值。 分量:元组中的每一个属性值称为元组的一个分量,n元关系的每个元组有n个分量。 关系模式:关系模式是关系的“型”或元组的结构共性的描述。关系模式实际上对应关系表的表头。设关系名为R,属性分别为A1,A2,…,An,则关系模式可以表示为: R(A1,A2,…,An) 关系数据模型的基本术语(续) 关系数据库:对应于一个关系模型的所有关系的集合称为关系数据库。 候选码:能够惟一标识关系中的一个元组的一个属性或最小属性组。 主码:指定候选码中的一个作为主码。 关系数据模型的基本术语(续) 主属性:包含在任一候选码中的属性称为是主属性。 非主属性:不包含在任一候选码中的属性称为是非主属性。 外码:如果某个属性不一定是所在关系的码,但是其他关系的码,则称该属性为外码。 关系数据结构及其形式化定义 1.关系的形式化定义 笛卡尔积: 设D1,D2,…,Dn为任意集合,定义笛卡尔积D1,D2,…,Dn为: D1×D2× …×Dn = {(d1,d2,…,dn) | di ∈Di,i=1,2,…,n } 其中每一个元素(d1,d2,…,dn)称为一个n元组,简称元组。元组中每一个di称为是一个分量。 笛卡儿乘积示例 设:D1={计算机专业,信息科学专业} D2={张珊,李海,王宏} D3={男,女} 则D1×D2×D3笛卡尔积为: D1×D2×D3={ (计算机软件专业,张珊,男),(计算机软件专业,张珊,女), (计算机软件专业,李海,男),(计算机软件专业,李海,女), (计算机软件专业,王宏,男),(计算机软件专业,王宏,女), (信息科学专业,张珊,男),(信息科学专业,张珊,女), (信息科学专业,李海,男),(信息科学专业,李海,女), (信息科学专业,王宏,男),(信息科学专业,王宏,女)} 笛卡尔积实际上就是一个二维表 笛卡尔积D1,D2,…,Dn的任意一个子集称为D1,D2,…,Dn上的一个n元关系。 形式化的关系定义同样可以把关系看成二维表,给表的每个列取一个名字,称为属性。 n元关系有n个属性,一个关系中的属性的名字必须是唯一的。 属性Di的取值范围(i=1,2,…,n)称为该属性的值域(domain)。 从集合论的观点也可以将关系定义为:关系是一个有K个属性的元组的集合。 2.对关系的限定 关系中的每个分量都必须是不可再分的最小数据项。 表中列的数据类型是固定的,即每个列中的分量是同类项的数据,来自相同的值域。 不同的列的数据可以取自相同的值域,每个列称为一个属性,每个属性有不同的属性名。 关系表中行、列的顺序不重要 。 同一个关系中元组不能重复。 3.3 关系模型的完整性约束 3.3.1 实体完整性 3.3.2 参照完整性 3.3.3 用户定义的完整性 实体完整性 实体完整性是保证关系中的每个元组都是可识别的和惟一的。 而且表中不允许存在如下的记录: 无主码值的记录 主码值相同的记录 参照完整性 用于描述实体之间的联系。 参照完整性一般
显示全部