您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第2章 关系数据库理论基础
1.域(Domain)域:是一组具有相同数据类型的值集合。例如:{自然数},{男,女},{0,1}等都可以是域。基数:域中数据的个数称为域的基数。1.域(Domain)域被命名后用如下方法表示:D1={白亚春,陈韬,王雪莲},表示姓名的集合,基数是3;D2={计算机系,电子系}2.笛卡尔积(CartesianProduct)给定一组域D1,D2,…,Dn(可以有相同的域),则笛卡尔积定义为:D1×D2…×Dn={(d1,d2,…,dn)∣di∈Di,i=1,2,…,n}其中每个(d1,d2,…,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。2.笛卡尔积(CartesianProduct)显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,…,n)为有限集合,其基数为mi(i=1,2,…,n),则D1D2…Di…Dn笛卡尔积的基数M为:niimM12.笛卡尔积(CartesianProduct)例:D1={白亚春,陈韬,王雪莲}D2={计算机系,电子系}D1×D2={(陈韬,计算机系),(陈韬,电子系),(王雪莲,计算机系),(王雪莲,电子系),(白亚春,计算机系),(白亚春,电子系)}该笛卡尔积的基数是:M=m1×m2=3*2=6即该笛卡尔积共有6个元组,它可组成一张二维表姓名籍贯陈韬计算机系陈韬电子系王雪莲计算机系王雪莲电子系白亚春计算机系白亚春电子系3.关系(Relation)笛卡尔积D1×D2…×Di…×Dn的子集R称作在域D1,D2,…,Dn上的关系,记作:R(D1,D2,…,Di,…,Dn)其中:R为关系名,n为关系的度或(Degree)目,Di是域组中的第i个域名。3.关系(Relation)当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系;以此类推,关系中有n个域,称该关系为n元关系。把列称为属性(Attribute)。一般来说,一个取自笛卡尔积的子集才有意义。姓名籍贯陈韬计算机系陈韬电子系王雪莲计算机系王雪莲电子系白亚春计算机系白亚春电子系姓名籍贯陈韬计算机系王雪莲电子系白亚春计算机系3.关系(Relation)关系可以分为三种类型:基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;查询表:是对基本表进行查询后得到的结果表;视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据。关键字简称键(Key)。键可由一个或几个属性组成。实际使用中,常用到超键、候选键、主键和外键等。1.超键(superkey)在关系中能够唯一标识元组的属性组合称为超键。2.候选键(Candidatekey)不含多余属性的超键称为候选键。3.主键(Primarykey)若一个关系中有多个候选键,则选定一个为主键。主属性(PrimaryAttribute):主键的属性称为主属性。4.外键(Foreignkey)如果关系R的一个或一组属性A不是R的候选键,而是另一个关系S的候选键,则称A为R的外键,并称R为参照关系,S为被参照关系。外键是相对于主键而言的,是建立表之间联系的前提。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-05-6计算机系0052201陈韬男1981-05-6计算机系0052217袁更旭男1980-12-8计算机系课程号学号成绩C201002210275C505005130995C508005220192C5060052217801.列是同质的(同类型数据)。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-05-6计算机系0052201陈韬男1981-05-6计算机系0052217袁更旭男1980-12-8计算机系2.关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。3.关系中的任意两个元组不能相同。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-05-6计算机系0051309白亚春男1981-05-6计算机系0052217袁更旭男1980-12-8计算机系4、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。POSTGRADUATESUPERVISORSPECIALITYPG1PG2张清玫信息专业李勇刘晨刘逸信息专业王敏小结:数据表就是关系数学名称关系数据库名称常用名称关系表文件二维表属性字段列元组记录行ER图描述信息的结构,是构造数据模型的依据。从ER图出发导出关系模型数据结构的两点原则:对ER图中的每个“实体集”,都应转换成一个关系;对ER图中的“联系”,根据实体联系的方式,采取不同的方法加以处理;从ER图导出关系模型数据结构1.两实体集间1:N联系学校教师聘任1N学校名校址校长年薪教工号姓名专长学校(学校名,校址,校长)教师(教工号,姓名,专长,学校名,年薪)外键从ER图导出关系模型数据结构2.两实体集间M:N联系学生课程选修MN学号姓名性别成绩课程号课程名学分学生(学号,姓名,性别)课程(课程号,课程名,学分)选修(学号,课程号,成绩)从ER图导出关系模型数据结构3.两实体集间1:1联系校长学校管理11姓名性别年龄学校名校址类别方案1:校长(姓名,性别,年龄)学校(学校名,校址,类别,姓名)方案2学校(学校名,校址,类别)校长(姓名,性别,年龄,学校名)从ER图导出关系模型数据结构4.同一实体集各实体间1:N联系职工领导1N工号姓名工资民意评价职工(工号,姓名,工资,领导者工号,民意评价)另一个实体的主键从ER图导出关系模型数据结构5.同一实体集各实体间M:N联系课程预修MN课程号课程名学分课程(课程号,课程名,学分)预修(课程号,预修课程号)从ER图导出关系模型数据结构6.多个实体集间M:N联系工程项目零件需求MP工程号工程名工程进度数量零件名单价厂址工程项目(工程号,工程名,工程进度)厂家(厂名,厂址)需求(工程号,厂名,零件名,数量)厂家N厂名零件(零件名,单价)1.关系概念模式关系概念模式是由若干个关系模式组成的集合,它描述关系数据库中全部数据的整体逻辑结构。关系概念模式学生课程选修MN学号姓名性别成绩课程号课程名学分学生关系模式:学生(学号,姓名,性别)课程关系模式:课程(课程号,课程名,学分)选修关系模式:选修(学号,课程号,成绩)2.关系外模式关系外模式是关系概念模式的一个逻辑子集,它描述关系数据库中数据的局部逻辑结构。从关系概念模式中可以通过关系运算推导出多个关系外模式。关系外模式1)基于一个关系模式推出关系外模式的情况学号姓名性别201王伟男202李忠强男203李丽女………学号姓名201王伟202李忠强……所有男生关系外模式2)基于多个关系模式推出关系外模式的情况学号姓名性别201王伟男202李忠强男203李丽女………学号课程号成绩201312676201312883202313876203312693………选修关系学生关系学号姓名课程号成绩201王伟312676201王伟312883202李忠强313876203李丽312693………学生成绩关系模式:学生成绩(学号,姓名,课程号,成绩)3.关系内模式关系数据库的内部级是一组数据文件(包括索引等)的集合。系模型的完整性规则是对关系的某种约束条件。关系模型中三类完整性约束:实体完整性参照完整性用户定义的完整性1.实体完整性约束规则关系中的主键不能为空值(Null),也不能重复。空值就是“不知道”或“无意义”2.参照完整性约束规则又称“引用完整性”。不能引用不存在的实体,即表的外键必须是另一个表主键的有效值,或者是空值。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0051309白亚春男1981-05-6计算机系0052201陈韬男1981-05-6计算机系0052217袁更旭男1980-12-8计算机系课程号学号成绩C201002210275C505005130995C508005220192C5060052217803.用户定义完整性约束规则用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。例:课程(课程号,课程名,学分)-“课程名”属性必须取唯一值-非主属性“课程名”也不能取空值-“学分”属性只能取值{1,2,3,4}关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。关系模型是能够在计算机中实现的模型,因此有着严格的形式化定义。关系模型的组成:关系数据结构关系数据操作关系数据完整性约束1.关系数据结构单一的数据结构----关系现实世界的实体以及实体间的各种联系均用关系来表示数据的逻辑结构----二维表从用户角度,关系模型中数据的逻辑结构是一张二维表。2.关系数据操作⑴常用的关系操作查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改查询的表达能力是其中最主要的部分2.关系数据操作⑵关系操作的特点集合操作方式,即操作的对象和结果都是集合。-非关系数据模型的数据操作方式:一次一记录-文件系统的数据操作方式3.关系数据完整性约束规则实体完整性:通常由关系系统自动支持参照完整性:早期系统不支持,目前大型系统能自动支持用户定义的完整性-反映应用领域需要遵循的约束条件,体现了具体领域中的语义约束-用户定义后由系统支持数据库的核心应用是数据库的查询。每个查询都可表示成一个关系运算表达式关系运算关系演算*关系代数域关系演算元组关系演算关系代数是使用关系代数运算来表达数据操作的,并以集合理论为基础。传统的集合运算-传统的集合运算:并、差、交、乘积-专门的关系运算:选择、投影、连接、自然连接、除法、扩充的关系代数运算等关系代数是使用关系代数运算来表达数据操作的,并以集合理论为基础。关系代数完备性-五种基本运算:并、差、乘积、选择、投影-其他非基本运算:可用五种基本运算合成的所有其他运算;当集合运算并、交、差用于关系时,要求参与运算的两个关系必须是相容的,即两个关系的度数一致,并且关系属性的性质必须一致。1.并将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。关系R与S的并运算记作:R∪S。并(Union)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S并(Union)给定关系R和关系S,具有相同的关系模式:(姓名N,身高H,体重W)NHWC17075L18078Z17075NHWM17580L18078关系R关系SR∪SNHWC17075L18078Z17075M175802.差运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系R与S的差运算记作:R-S。差(Difference)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S差(Difference)给定关系R和关系S,具有相同的关系模式:(姓名N,身高H,体重W)NHWC17075L18078Z17075NHWM17580L18078关系R关系SR-SNHWC17075Z170753.笛卡尔积设R为r元关系,S为s元关系,两者的乘积是(r+s)个元的元组集合:R×S≡{t|t=tr,ts∧trR∧tsS}笛卡尔积(Cartesian-Product)给定关系R和关系S,具有相同的关系模式:(姓名N,身高H,体重W)NHWC17075L18078Z17075NHWM17580L18078关系R关系SR×SR.NR.HR.WS.NS.HS.WC17075M17580C17075L18078L18078M17580L18078L18078Z17075M17580Z1707
本文标题:第2章 关系数据库理论基础
链接地址:https://www.777doc.com/doc-3357041 .html