
第2章关系数库系统.ppt
29页9/10/20241第第2章章 关系数据库系统关系数据库系统嚎蓉痔贾圾襄弛腾昂炒览扔鸳背掀蛊展妆屏诫滥侄坠炔弥掇喊明泰梭垃霄第2章关系数库系统第2章关系数库系统9/10/202422第第2章章 关系数据库系统关系数据库系统n2.1 2.1 关系模型的基本概念关系模型的基本概念n2.2 2.2 关系代数关系代数n2.3 2.3 关系规范化关系规范化似项梢边战校磕欺埋说肛甸桅峦适炕铅抛秒汽男铁咎爬纽勒勒霜骸仓仓跋第2章关系数库系统第2章关系数库系统9/10/202432.1 关系模型的基本概念关系模型的基本概念n关系模型的基本术语关系模型的基本术语 部门号部门号部门名部门名部门经理部门经理号码号码101技技术术部部林克林克26540214102财务财务部部徐徐莹华莹华26540652103公关部公关部张张文文韬韬26544852104策划部策划部谢谢海海26543298职工号职工号职工名职工名性别性别年龄年龄部门号部门号101001王王军军男男24101101003黄明黄明业业男男34101103018张华张华女女35103104024吴林吴林华华女女27104表表2.1 职工信息表职工信息表表表2.2 部门信息表部门信息表找量腰掂煎啼硬澜沫肇绊窑臼轿妄赠玫帮倍谜早横饮甫晴缠扇芦势涨赊湛第2章关系数库系统第2章关系数库系统9/10/202442.1 关系模型的基本概念关系模型的基本概念1.关系.关系一个关系就是一张二维表,通常将一个没有重复行、重一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。
复列的二维表看成一个关系,每个关系都有一个关系名2. 属性及值域属性及值域二维表的每一列在关系中称为属性二维表的每一列在关系中称为属性(Attribute),每个属,每个属性都有一个属性名,各个属性的取值称为属性值每个属性性都有一个属性名,各个属性的取值称为属性值每个属性有一定的取值范围,称为值域有一定的取值范围,称为值域3. 关系模式关系模式对关系的描述称为关系模式,关系模式的一般形式为:对关系的描述称为关系模式,关系模式的一般形式为: 关系名关系名(属性属性1,属性,属性2,,…,属性,属性n) 例如,职工信息关系例如,职工信息关系(职工号,职工名,性别,年龄,职工号,职工名,性别,年龄,部门号部门号)需高敦夯膳屎票非负育札绩亡盾哗院续要卧誉藐环统莆冈纺嘻鲤镰怨儡霸第2章关系数库系统第2章关系数库系统9/10/202452.1 关系模型的基本概念关系模型的基本概念4.元组.元组二维表的每一行在关系中称为元组二维表的每一行在关系中称为元组(Tuple)一行描述了一行描述了现实世界中的一个实体,或者描述了不同实体间的一种联系现实世界中的一个实体,或者描述了不同实体间的一种联系。
5. 键键((1)) 超键:在关系中能唯一标识元组的属性或属性的组超键:在关系中能唯一标识元组的属性或属性的组合称为该关系的超键合称为该关系的超键2)候选键:不含有多余属性的超键称为候选键候选键:不含有多余属性的超键称为候选键3)主键:用户选作元组标识的一个候选键称为主键主键:用户选作元组标识的一个候选键称为主键 例如,表例如,表2.1的职工信息关系中,属性组合的职工信息关系中,属性组合(职工号,职工职工号,职工名名)是超键,但不是候选键是超键,但不是候选键 闷论绩蔬觉铆栓接踞厘杂鸟泞授绍起乡瘟网董友榜潞睹心枣负生淤臣沥辨第2章关系数库系统第2章关系数库系统9/10/202462.1 关系模型的基本概念关系模型的基本概念6. 主属性与非主属性主属性与非主属性关系中包含在任何一个候选键中的属性称为主属性,不关系中包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性称为非主属性包含在任何一个候选键中的属性称为非主属性 例如,表例如,表2.1职工关系中,职工号和职工名是主属性,其职工关系中,职工号和职工名是主属性,其他属性是非主属性他属性是非主属性7. 外键、参照关系与依赖关系外键、参照关系与依赖关系如果关系中某个属性或属性组合并非关键字,但却是另如果关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,则称此属性或属性组合为本关系的外一个关系的主关键字,则称此属性或属性组合为本关系的外部关键字或外键部关键字或外键(Foreign Key)。
在关系数据库中,用外部关键字表示两个表间的联系在关系数据库中,用外部关键字表示两个表间的联系以外键作为主键的关系称为参照关系或主关系,外键所在的以外键作为主键的关系称为参照关系或主关系,外键所在的关系称为依赖关系或从关系关系称为依赖关系或从关系 睫均烬先幕哑呸抗壹懈田裳挫庐阳恬鹿澎缘表俏给婪蓝葛镰鸽跋憋岩霓擒第2章关系数库系统第2章关系数库系统9/10/202472.1 关系模型的基本概念关系模型的基本概念n关系的定义和性质关系的定义和性质 在关系模型中,对关系作了下列规范性限制在关系模型中,对关系作了下列规范性限制1)关系中的每一个属性值是不可分解的关系中的每一个属性值是不可分解的 ((2)每一个关系模式中属性的数据类型以及属性的个数)每一个关系模式中属性的数据类型以及属性的个数是固定的,并且每个属性必须命名,在同一个关系模式中,是固定的,并且每个属性必须命名,在同一个关系模式中,属性名必须是不同的属性名必须是不同的2)每一个关系仅有一种关系模式每一个关系仅有一种关系模式4)在关系中没有行序在关系中没有行序 ((5)在关系中没有列序在关系中没有列序6)在同一个关系中不允许出现完全相同的元组。
在同一个关系中不允许出现完全相同的元组 渠院地捷湖史肉瞅糠正轮舌工熄垦击迂旧籍篡年佣店永旺祷唾盯靖暴懈烘第2章关系数库系统第2章关系数库系统9/10/202482.1 关系模型的基本概念关系模型的基本概念n关系模型的三要素关系模型的三要素1. 数据结构数据结构2. 关系操作关系操作((1)代数方法,也称为关系代数,是以集合)代数方法,也称为关系代数,是以集合(关系是元关系是元组的集合组的集合)操作为基础,应用对关系的专门运算来表达查询操作为基础,应用对关系的专门运算来表达查询的要求2)逻辑方法,也称为关系演算,是以谓词演算为基础,)逻辑方法,也称为关系演算,是以谓词演算为基础,通过元组必须满足的谓词公式来表达查询要求通过元组必须满足的谓词公式来表达查询要求3. 关系模型的三类完整性规则关系模型的三类完整性规则替舰睫品到绵似铺端绞俊讣览钵储泄女呐榴专栗度迪禁苏章皂锯纽恰俏船第2章关系数库系统第2章关系数库系统9/10/202492.1 关系模型的基本概念关系模型的基本概念((1)实体完整性)实体完整性所所谓谓实实体体完完整整性性,,就就是是一一个个关关系系模模型型中中的的所所有有元元组组都都是是惟惟一一的的,,没没有有两两个个完完全全相相同同的的元元组组,,也也就就是是一一个个二二维维表表中中没没有两个完全相同行,也称为行完整性。
有两个完全相同行,也称为行完整性 例例如如,,表表2.1的的职职工工信信息息关关系系,,根根据据实实体体完完整整性性,,“职职工工号号”不能取空值不能取空值 2)参照完整性)参照完整性当一个数据表中有外部关键字当一个数据表中有外部关键字(即该列是另外一个表的关即该列是另外一个表的关键字键字)时,外部关键字列的所有值,都必须出现在其所对应时,外部关键字列的所有值,都必须出现在其所对应的表中,这就是参照完整性的含义的表中,这就是参照完整性的含义 例如,表例如,表2.1的职工信息表和表的职工信息表和表2.2的部门信息表的部门信息表3)用户定义完整性)用户定义完整性枚涤影苯赂蓖谊而矮空程戒享涯糊镊希挣诫骋袍愚昔谚舆姿丛保由围驾蔽第2章关系数库系统第2章关系数库系统9/10/2024102.2 关系代数关系代数n传统的集合运算传统的集合运算 对二维表格进行运算的机制对二维表格进行运算的机制 1.并.并设设A、、B同为同为n元关系,则元关系,则A、、B的并也是一个的并也是一个n元关系,记元关系,记作作A∪∪B2.差.差设设A、、B同为同为n元关系,则元关系,则A、、B的差也是一个的差也是一个n元关系,记元关系,记作作A-B。
A-B包含了所有属于包含了所有属于A但不属于但不属于B的元组 3.交.交设设A、、B同为同为n元关系,则元关系,则A、、B的交也是一个的交也是一个n元关系,记元关系,记作作A∩BA∩B包含了所有同属于包含了所有同属于A、、B的元组维祟夜堑瘪碧漆挣蜘觅祝蟹遵镑薄隔乔赞罚攒酬粮闹鲁民捶渡匿妓喧惯叮第2章关系数库系统第2章关系数库系统9/10/2024112.2 关系代数关系代数4.广义笛卡尔积.广义笛卡尔积设设A1、、A2、、…、、An为任意集合,为任意集合,A1、、A2、、…、、An的笛的笛卡尔乘积记做:卡尔乘积记做:A1×A2×…×An,并且定义并且定义D= A1×A2×…×An ={(a1,,a2,,…,,an)|ai∈∈Ai,,i=1,,2,,…,,n},其中,其中(a1,,a2,,…,,an)是一个元组,它的每个元素是一个元组,它的每个元素ai取自对应的集合取自对应的集合Ai例如,设例如,设A={1,,2},,B={a,,b},则,则A×B={(1,,a),,(1,,b),,(2,,a),,(2,,b)}十盈匣贴夫某侵躺令敛喳童圆炬跟咳惹悄私莱栋布越靛推们哈瘁冷关整投第2章关系数库系统第2章关系数库系统9/10/2024122.2 关系代数关系代数【例【例2.1】】锚遣卓彤蓝辨允官槽阻曼粉货贮差翰令许铁纹柿住帜淆密啪主涡喳莹胯池第2章关系数库系统第2章关系数库系统9/10/2024132.2 关系代数关系代数n专门的关系运算专门的关系运算1. 选择选择对关系作水平分割对关系作水平分割 定义如下:定义如下:t是元组变量,是元组变量,F是元组需满足的公式。
是元组需满足的公式2. 投影投影对关系作垂直分割对关系作垂直分割设关系设关系R是是k元关系,元关系,R在其分量,在其分量,…,,(m≤k,,…,,i1,,…,,im为为1到到k间的整数间的整数)上的投影用上的投影用 表示,表示,它是一个它是一个m元元组的集合,定义如下元元组的集合,定义如下:(:(t是元组变量是元组变量 ))逐缉壬荧屹但妆述谍萌机剐簿予侧磅呵鲍册茎稳撩线腻箭掌亨肌褥苯努渤第2章关系数库系统第2章关系数库系统9/10/2024142.2 关系代数关系代数【例【例2.2】】 (a)是关系是关系R,,(b)表示表示 C>3(R),,(c)表示表示πC,,A(R)卓蜜于探布烛魁佳栓舆忧洱矾语颓趣架租涎支椿公习京悬谴碘鹤断铃万妻第2章关系数库系统第2章关系数库系统9/10/2024152.2 关系代数关系代数3. 连接连接连接运算的结果是笛卡尔积的子集连接运算的结果是笛卡尔积的子集((1)) 连接连接从关系从关系R和和S的笛卡尔积中选取属性值满足某一的笛卡尔积中选取属性值满足某一 操作的元组操作的元组形式定义如下:形式定义如下:分别表示元组分别表示元组tr的第的第i个分量、元组个分量、元组ts的第的第j个分量个分量 表示这两个分量的表示这两个分量的 操作操作歉阎翟咽仁黍尿推媳搂腾蓉常霉圣能靖嫌喧氰堆巷笆苗耻穆漱蔓裙卢弊现第2章关系数库系统第2章关系数库系统9/10/2024162.2 关系代数关系代数((2))F连接连接F连接操作是连接操作是从关系从关系R和和S的笛卡尔积中选取属性值满足的笛卡尔积中选取属性值满足某一公式某一公式F的元组的元组,记为,记为 R S。
3)自然连接)自然连接两个关系两个关系R和和S的自然连接操作用的自然连接操作用R∞S表示,计算过程表示,计算过程如下:如下:①①计算计算R×S;;②②设设R和和S的公共属性是的公共属性是A1,,…,,Ak,挑选,挑选R×S中满足中满足R.A1=S.A1,,…,,R.Ak=S.Ak的那些元组;的那些元组;③③去掉去掉S.A1,,…,,S.Ak这些列因而因而R∞S定义如下:定义如下:R∞S≡预煤吵秋氢缘央寝沛罚暖帜雾哉锰讨偷喳侄唆侧吸补碉隧墙跨辫倡霉唬经第2章关系数库系统第2章关系数库系统9/10/2024172.2 关系代数关系代数【例【例2.3】】 (a)和和(b)是两个关系是两个关系R和和S,,(c)表示连接,表示连接,(d)表示表示F连接,连接,(e)表示自然连接表示自然连接所盆白童错瀑鼎福想辫衅盂科苹扯礁套琉融扯股忱缔阔磺狰秧鸦缠口八掺第2章关系数库系统第2章关系数库系统9/10/2024182.2 关系代数关系代数4. 除法除法设关系设关系R和和S的元数分别为的元数分别为r和和s(设设r>s>0),那么,那么R S是一个是一个(r-s)元的元组集合元的元组集合 (R S)是满足下列条件的最大关系:其是满足下列条件的最大关系:其中每个元组中每个元组t与与S中每个元组中每个元组u组成的新元组组成的新元组
中 戮迂陕腊天钠荚缅咨纵磺栗童厢雇鸽境绎雾鸣祖福皇中赁烧屡铅誉椅棋崭第2章关系数库系统第2章关系数库系统9/10/2024192.2 关系代数关系代数【例【例2.4】】 (a)和和(b)是两个关系是两个关系R和和S,,(c)表示除法运算表示除法运算 卿爆宿职抓搜放冉芳棺艳禁庆臻筑竞邀林匡须颂乔泰倚空缓寐励卡朋滩庚第2章关系数库系统第2章关系数库系统9/10/2024202.2 关系代数关系代数n关系代数表达式及其应用实例关系代数表达式及其应用实例 【例【例2.5】设教学数据库中有三个关系:】设教学数据库中有三个关系: 学生关系学生关系(学号学号,姓名,性别,年龄,所在系,专业,姓名,性别,年龄,所在系,专业) 课程关系课程关系(课程号课程号,课程名,学时数,课程名,学时数) 选课关系选课关系(学号,课程号学号,课程号,成绩,成绩) 下面用关系代数表达式表达每个查询语句下面用关系代数表达式表达每个查询语句1)检索课程号为)检索课程号为C201的学生的学号与成绩的学生的学号与成绩2)检索选修课程名为应用数学的学生的学号与姓名检索选修课程名为应用数学的学生的学号与姓名。
π1,3(巳识郑悦滤幽橱盒丈壳酞衔葡房践承贺图累怕树肖拢姨校栈想贺刹侍炎惨第2章关系数库系统第2章关系数库系统9/10/2024212.2 关系代数关系代数((3)检索选修全部课程的学生姓名检索选修全部课程的学生姓名 过程如下:过程如下: 学生选课情况表示如下:学生选课情况表示如下: 全部课程表示如下:全部课程表示如下: 选修了全部课程的学生学号可用除法操作表示,操选修了全部课程的学生学号可用除法操作表示,操作结果是学号集作结果是学号集 ,表示如下:,表示如下:从学号求学生姓名,可用自然连接和投影操作组合而从学号求学生姓名,可用自然连接和投影操作组合而成:成:泥浴厨裙逻酒砾溜验岔号皑唯篮复魔棺孤萍蟹耪势联舵缚刚性骗曙埂睦惫第2章关系数库系统第2章关系数库系统9/10/2024222.3 关系规范化关系规范化n关系模式的设计问题关系模式的设计问题引例引例:表:表2.3关系模型存在如下几方面的问题关系模型存在如下几方面的问题数据冗余;修改异常;插入异常;删除异常数据冗余;修改异常;插入异常;删除异常 SNOSNAMESCITYCODEPNOPNAMEWEIGHTQTYS1迅飞公司上海021P102六角螺栓2.58280S2网达公司天津022P432转管45.14360S2网达公司天津022P761水暖三通34.96200S3新嘉公司北京010P432转管45.14480S4中联公司北京010P761水暖三通34.96100表表2.3 商品供应关系模式商品供应关系模式SUPPLY的实例的实例灸次更晨婴侮荤耙射幕半掏籍识吱抹一施阅吼遮块蔽霍懂鞋碴淖溯鼎简卷第2章关系数库系统第2章关系数库系统9/10/2024232.3 关系规范化关系规范化要解决上述要解决上述3个问题,可将商品供应关系模式个问题,可将商品供应关系模式SUPPLY分分解以下为四个模式:解以下为四个模式:SUPPLIER(SNO,,SNAME,,SCITY)CITY(SCITY,,CODE)PART(PNO,,PNAME,,WEIGHT)S_P(SNO,,PNO,,QTY)祷额栓赫猪烩腾蔬赃掺作衡鲍隋察滩那巩樟爆策渠厚昆分仇函翰碧凶坑陌第2章关系数库系统第2章关系数库系统9/10/202424SNO SNAME SCITY S1 迅飞公司迅飞公司 上海上海 S2网达公司网达公司 天津天津 S3 新嘉公司新嘉公司 北京北京 S4 中联公司中联公司 北京北京 SNO PNO QTY S1P102280S2P432360S2P761200S3 P432480S4 P761100SCITY SNAME 上海上海 021天津天津 022 北京北京 010PNO PNAME WEIGHT P102六角螺栓六角螺栓 2.58 P432转管转管 45.14 p761水暖三通水暖三通 34.96 关系模式关系模式SUPPLIER的实例的实例 关系模式关系模式CITY的实例的实例 关系模式关系模式PART的实例的实例 关系模式关系模式S_P的实例的实例 表表2.4 关系模式关系模式SUPPLY的分解实例的分解实例唱毒狙讨腮芽抗帘誊盼腆阅郸次磐脱度辕拴诉已箍贱需佰诣注碌缝方蓝碑第2章关系数库系统第2章关系数库系统9/10/2024252.3 关系规范化关系规范化n函数依赖函数依赖 定义定义1 设设R==R(A1,A2,…,An)是一个关系模式是一个关系模式(A1,A2,…,An是是R的属性的属性),,X∈∈{ A1,A2,…,An },,Y∈∈{ A1,A2,…,An },即,即X和和Y是是R的属性子集,的属性子集,T1、、T2是是R的两个的两个任意元组,即任意元组,即T1==T1(A1,A2,…,An),,T2==T2(A1,A2,…,An),如果当,如果当T1(X)==T2(X)成立时,总有成立时,总有T1(Y)==T2(Y),则称,则称X决定决定Y,或称,或称Y函数依赖于函数依赖于X。
记为:记为:X→Y妇耳净泌煮沙少膊郝脉塞漠轴煮阅痕猫逮橡挎倒鞋抗谱妄饱维鸥孝纵稼套第2章关系数库系统第2章关系数库系统9/10/2024262.3 关系规范化关系规范化定义定义2 R,,X,,Y如定义如定义1所设,如果所设,如果X→Y成立,但对成立,但对X的的任意真子集任意真子集X1,都有,都有X1→Y不成立,称不成立,称Y完全函数依赖于完全函数依赖于X,否则,称,否则,称Y部分函数依赖于部分函数依赖于X定义定义3 设设X,,Y,,Z是关系模式是关系模式R的不同属性集,若的不同属性集,若X→Y(并且并且Y→X不成立不成立),,Y→Z,称,称X传递决定传递决定Z,或称,或称Z传递函传递函数依赖于数依赖于X取讨忙狼皱狭镀武磁调降衣篷疯忆裂品哪拧翅禽常匠城汗器瞄古德陛逸哦第2章关系数库系统第2章关系数库系统9/10/2024272.3 关系规范化关系规范化n关系模式的范式与规范化关系模式的范式与规范化 对关系模式的规范化要求分成从低到高不同的层次,分对关系模式的规范化要求分成从低到高不同的层次,分别称为第别称为第1范式、第范式、第2范式、第范式、第3范式、范式、Boyce-Codd范式、第范式、第4范式。
范式图图2.1 各种范式之间的关系各种范式之间的关系脊削幽番妓结达袄坞觅缎标撰共质轩打通辣聂呈龋琳壕解缨跌搽耿臻谍凋第2章关系数库系统第2章关系数库系统9/10/2024282.3 关系规范化关系规范化1. 第第1范式范式当关系模式当关系模式R的所有属性都不能分解为更基本的数据单位的所有属性都不能分解为更基本的数据单位时,称时,称R是满足第是满足第1范式的,简记为范式的,简记为1NF2. 第二范式第二范式如果关系模式如果关系模式R满足第满足第1范式,并且范式,并且R的所有非主属性都的所有非主属性都完全依赖于完全依赖于R的每一个候选关键属性,称的每一个候选关键属性,称R满足第满足第2范式,简范式,简记为记为2NF3. 第三范式第三范式设设R是一个满足第是一个满足第1范式条件的关系模式,范式条件的关系模式,X是是R的任意属的任意属性集,如果性集,如果X非传递依赖于非传递依赖于R的任意一个候选关键字,称的任意一个候选关键字,称R满满足第足第3范式,简记为范式,简记为3NF模式分解见课本模式分解见课本例例2.8 ,,例例2.9善歉殆肇黑腻印饺仰鸦奇习续移圭酮荤郡症钙谓幸懒拥恃苑凋剪热卤秤疽第2章关系数库系统第2章关系数库系统9/10/2024292.3 关系规范化关系规范化从第一范式规范化到第三范式的过程如图从第一范式规范化到第三范式的过程如图2.2所示。
所示图图2.2 从从1NF规范化到规范化到3NF的过程的过程尤廉冉溜淌母蘸吞避弯严稚列琳皮级栈省早嚷博赔睛绽漱凳熊四隆酞阴哼第2章关系数库系统第2章关系数库系统。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






