欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库原理及应用关系数据库理论.pptx

    • 资源ID:87374970       资源大小:285.53KB        全文页数:64页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库原理及应用关系数据库理论.pptx

    数据库系统概论An Introduction to Database System第2章关系数据库理论 第1页/共64页教学目标:理解关系数模型的理论知识 理解关系数据模型的组成要素掌握关系规范化的理论知识、实现步骤和使用方法第2页/共64页第2章关系数据库理论2.1关系模型的基本概念2.2关系规范化2.3规范化小结第3页/共64页第2章关系数据库理论关系数据库是建立在集合代数基础上,应用数学方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。换句话说,关系数据库是建立在关系模型基础上的数据库。第4页/共64页2.1关系模型的基本概念关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。第5页/共64页2.1关系模型的基本概念关系数据结构SnoSnameSdeptSex2008150001赵刚管理学院男2008140001李梦经济学院女2008010005刘丽媛电气学院女二维表二维表属性第6页/共64页2.1关系模型的基本概念关系数据结构SnoSnameSdeptSex2008150001赵刚管理学院男2008140001李梦经济学院女2008010005刘丽媛电气学院女二维表二维表元组第7页/共64页2.1关系模型的基本概念关系数据结构SnoSnameSdeptSex2008150001赵刚管理学院男2008140001李梦经济学院女2008010005刘丽媛电气学院女二维表二维表男或女为SEX的域第8页/共64页2.1关系模型的基本概念严格地说,关系是一种规范化的二维表格具有如下性质:属性值具有原子性,不可分解。没有重复的元组。理论上没有行序,但是有时使用时可以有行序。第9页/共64页2.1关系模型的基本概念在关系数据库中,码(简称码)是关系模型的一个重要概念。候选码:如果一个属性集能唯一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选码。主码:如果一个关系中有多个候选码,则选择其中的一个码为关系的主码。第10页/共64页2.1关系模型的基本概念图书编号图书编号书名出版日期出版社编号单价状态90002910381数据库2007-10015026.00借出84153324748数学2000-90041031.00在馆54562285265物理2005-30016025.00借出主码是?主码是?第11页/共64页2.1关系模型的基本概念外码:如果一个关系R中包含另一个关系S的主码所对应的属性组F,则称此属性组F为关系R的外码,并称关系S为参照关系,关系R是依赖关系。为了表示关联,可以将一个关系的主码作为属性放入另外一个关系中,第二个关系中的那些属性就称为外码。(生成的方法)第12页/共64页2.1关系模型的基本概念出版社编号出版社名电话地址00150清华大学出版社010-8552555北京市00410电子工业出版社010-4585655北京市00160高等教育出版社010-5552452北京市图书编号图书编号书名出版日期出版社编号单价状态90002910381数据库2007-10015026.00借出84153324748数学2000-90041031.00在馆54562285265物理2005-30016025.00借出第13页/共64页2.1关系模型的基本概念关系操作集合:主要包括查询、插入、删除和更新数据。演示VF中的操作。关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”。第14页/共64页2.1关系模型的基本概念关系数据模型的完整性主要包括域完整性实体完整性参照完整性第15页/共64页2.1关系模型的基本概念域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。例如:学生的性别只能取男或女,职工的工作年限不能为负值。请自己举例3个第16页/共64页2.1关系模型的基本概念实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。例如:公民的身份证号不能为空或重复。请自己举例3个第17页/共64页2.1关系模型的基本概念参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外码必须是另一个关系的主码有效值,或者是NULL。例如:在图书表中的出版社编号可以取空值或出版社表中已有的出版社编号。请自己举例3个第18页/共64页2.2关系规范化问题提出函数依赖概念规范化案例研究第19页/共64页问题提出现在我们要建立一个数据库来描述学生的一些情况。学生(用学号SNO描述),系(用系名SDEPT描述),系负责人(用其姓名MN描述),课程(用课程名CNAME描述),成绩(G).现实世界的已知事实告诉我们1)一个系有若干学生,但一个学生只属于一个系;2)一个系只有一名(正职)负责人;3)一个学生可以选修多门课程,每门课程有若干学生选修;4)每个学生学习每一门课程有一个成绩。第20页/共64页问题提出S(SNO,SDEPT,MN,CNAME,G)问题1:如果一个系刚成立尚无学生,或者虽然有了学生但尚未安排课程。这个系及其负责人的信息如何存入数据库?SNOSDEPT MNCNAMEGAAIS张database70BBIS张database70CCIS张MA60DDIS张MA90第21页/共64页问题提出S(SNO,SDEPT,MN,CNAME,G)问题2:反过来,如果某个系的学生全部毕业了,我们在删除该系学生选修课程的同时,这个系及其负责人的信息也要删除吗?SNOSDEPT MNCNAMEGAAIS张database70BBIS张database70CCIS张MA60DDIS张MA90第22页/共64页问题提出S(SNO,SDEPT,MN,CNAME,G)问题3:每一个系负责人的姓名要与该系每一个学生的每一门功课的成绩出现的次数一样多?是否浪费存储空间?SNOSDEPT MNCNAMEGAAIS张database70BBIS张database70CCIS张MA60DDIS张MA90第23页/共64页问题提出S(SNO,SDEPT,MN,CNAME,G)问题4:某系负责人更换后,就必须逐一修改有关的每一个元组,操作太麻烦了!SNOSDEPT MNCNAMEGAAIS张database70BBIS张database70CCIS张MA60DDIS张MA90第24页/共64页问题提出插入异常删除异常修改异常冗余太大假如我们把这个单一的模式改造一下,分成三个关系模式,那些问题还存在吗?S(SNO,SDEPT,SNOSDEPT);SG(SNO,CNAME,G,(SNO,CNAME)G);DEPT(SDEPT,MN,SDEPTMN);第25页/共64页问题提出插入异常删除异常修改异常冗余太大找一找问题第26页/共64页函数依赖概念解决这些问题也要有“规矩”数据依赖是通过一个关系中数据间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互关系的抽象,是数据内在的性质第27页/共64页函数依赖概念函数依赖定义:设有一关系模式R(A1,A2,An),X和Y均为(A1,A2,An)的子集,对于R的值r来说,当其中任意两个元组u,v中对应于X的那些属性分量的值均相等时,则有u,v中对应于Y的那些属性分量的值也相等,称X函数决定Y,或Y依赖于X,记为X-Y。第28页/共64页函数依赖概念例1:有关系,学生(学号S#,姓名SN,系名SD),子集X(学号S#),子集Y(系名SD)。每个学生有唯一的一个学号,学生中可以有重名的姓名,每个学生只能属于一个系,每个系有唯一的系代号。有此,可以找出学生关系模式中存在下列函数依赖:S#-SN;S#-SD第29页/共64页函数依赖概念例2:有关系,学校简况(学号S#,系名SD,系主任MN,课程CN,成绩G)。可写出函数依赖:S#-SD;SD-MN;S#,CN-G第30页/共64页函数依赖概念函数依赖也有类型完全部分传递第31页/共64页函数依赖概念完全函数依赖定义:在R(U)中,如果X-Y,对于X的任意一个真子集X,都有X不能决定Y,则称Y对X完全函数依赖,记为XY。例3:对于例2中有(S#,CN)G第32页/共64页函数依赖概念部分函数依赖定义:在R(U)中,如果X-Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记为XY。例4:对于例2中(S#,CN)G,但(S#,CN)SD第33页/共64页函数依赖概念传递函数依赖定义:在R(U)中,当且仅当X-Y,Y-Z时,称Z对X传递函数依赖。例5:描述学生(S#)、班级(SB)、辅导员(TN)的关系U(S#,SB,TN)。一个班有若干学生,一个学生只属于一个班,一个班只有一个辅导员,但一个辅导员负责几个班。根据现实世界可得到一组函数依赖:F=S#-SB,SB-TN学生学号决定了所在班级,所在班级决定了辅导员,所以辅导员TN传递函数依赖于学生学号S#。第34页/共64页函数依赖概念关键字(码)定义:设K为R(U)中的属性或属性组合,若KU,则称K为R的(侯选)关键字,也称为码。若(候选)关键字多于一个,则选定其中的一个作为主关键字。第35页/共64页规范化为了使数据库设计的方法走向完备,人们研究了规范化理论,指导我们设计规范的数据库模式。按属性间依赖情况来区分,关系规范化的程度为第一范式,第二范式,第三范式和第四范式等。在这些定义中,高级范式根据定义属于所有低级的范式。第三范式中的关系属于第二范式,第二范式中的关系属于第一范式。第36页/共64页规范化第一范式如果关系模式R中的所有属性值都是不可再分解的原子值,那么就称此关系R是第一范式(FirstNormalForm,简称1NF)的关系模式。第37页/共64页规范化第一范式包括下列指导原则:数据组的每个属性只可以包含一个值关系中的每个数组必须包含相同数量的值关系中的每个数组一定不能相同第38页/共64页规范化而这样的数据库表是不符合第一范式的字段字段1 字段字段2 字段字段3 字段字段4字段字段3.1字段字段3.2 第39页/共64页规范化第二范式:数据库表中不存在非关键字段对任意候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。第40页/共64页规范化假定选课关系表为SelectCourse(学号,姓名,年龄,课程名称,成绩,学分),关键字为组合关键字(学号,课程名称)(学号,课程名称)(姓名,年龄,成绩,学分)这个数据库中的表不满足第二范式,因为存在如下决定关系:(课程名称)(学分)(学号)(姓名,年龄)即存在组合关键字中的字段决定非关键字的情况。第41页/共64页规范化讨论由于不符合2NF,这个选课关系表会存在什么问题:?(1)数据冗余:同一门课程由n个学生选修,“学分”就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。(2)更新异常:若调整了某门课程的学分,数据表中所有行的“学分”值都要更新,否则会出现同一门课程学分不同的情况。(3)插入异常:假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有“学号”关键字,课程名称和学分也无法记录入数据库。(4)删除异常:假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。第42页/共64页规范化解决方法:分解:学生:Student(学号,姓名,年龄);课程:Course(课程名称,学分);选课关系:SelectCourse(学号,课程名称,成绩)。第43页/共64页规范化第三范式:在第二范式的基础上,数据表中如果不存在非关键字段对任意候选关键字段的传递函数依赖则符合第三范式。第44页/共64页规范化假定学生关系表为Student(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字学号,因为存在如下决定关系:(学号)(姓名,年龄,所在学院,学院地点,学院电话)这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:(学号)(所在学院)(学院地点,学院电话)第45页/共64页规范化它也会存在数据冗余、更新异常、插入异常和删除异常的情况,请大家分析。解决方法:把学生关系表分为如下两个表:学生:(学号,姓名,年龄,所在学院);学院:(学院,地点,电话)。第46页/共64页规范化鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。第47页/共64页规范化由BCNF的定义可以得到以下推论:如果RBCNF,则:R中所有非主属性对每一个码都是完全函数依赖;R中所有主属性对每一个不包含它的码,都是完全函数依赖;R中没有任何属性完全函数依赖于非码的任何一组属性。第48页/共64页规范化例:假设仓库管理关系表为StorehouseManage(仓库ID,存储物品ID,管理员ID,数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系:(仓库ID,存储物品ID)(管理员ID,数量)(管理员ID,存储物品ID)(仓库ID,数量)存在如下决定关系:(仓库ID)(管理员ID)(管理员ID)(仓库ID)即存在关键字段决定关键字段的情况,所以其不符合BCNF范式第49页/共64页规范化它会出现如下异常情况:请大家分析(1)删除异常:当仓库被清空后,所有存储物品ID和数量信息被删除的同时,仓库ID和管理员ID信息也被删除了。(2)插入异常:当仓库没有存储任何物品时,无法给仓库分配管理员。(3)更新异常:如果仓库换了管理员,则表中所有行的管理员ID都要修改。第50页/共64页规范化把仓库管理关系表分解为二个关系表:仓库管理:StorehouseManage(仓库ID,管理员ID);仓库:Storehouse(仓库ID,存储物品ID,数量)。第51页/共64页案例研究例:将表2-4所表示的关系模式规范化:表中的列从左到右表示项目编号、项目名称、员工编号、员工姓名、工资级别、工资数额。projectnumberProjectnameEmployeenumberEmployeenameSalarycatagorySalarypackage100001TPMS20001JohonsA2000100001TPMS20002ChristinB3000100001TPMS20003KevonC4000100002TCT20001JohonsA2000100002TCT20004appleB3000100003HDF20004appleB3000第52页/共64页案例研究第一步:是1NF吗?这张表已经满足了第一范式的要求。因为这张表中字段都是单一属性的,不可再分;而且每一行的记录都是没有重复的;存在主属性,而且所有的属性都是依赖于主属性;所有的主属性都已经定义第53页/共64页案例研究第2步:是2NF吗,如果不是请分解另其符合考察表2-4,非主属性部分依赖于主键中的;非主属性,和都部分依赖于主键中的;第54页/共64页案例研究存在着以下潜在问题:数据冗余:每一个字段都有值重复;更新异常:比如字段的值,比如对值TPMS了修改,那么就要一次更新该字段的多个值;插入异常:如果新建了一个Project,名字为TPT,但是还没有Employee加入,那么将会空缺,而该字段是主键的一部分,因此将无法插入记录;删除异常:如果一个员工200003,Kevin离职了,要将该员工的记录从表中删除,而此时相关的Salary信息C也将丢失,因为再没有别的行纪录下SalaryC的信息。第55页/共64页案例研究分解projectnumberProjectnameEmployeenumberEmployeenameSalarycatagorySalarypackage100001TPMS20001JohonsA2000100001TPMS20002ChristinB3000100001TPMS20003KevonC4000100002TCT20001JohonsA2000100002TCT20004appleB3000100003HDF20004appleB3000第56页/共64页案例研究projectnumberProjectname100001TPMS100001TPMS100001TPMS100002TCT100002TCT100003HDFEmployeenumberEmployeenameSalarycatagorySalarypackage20001JohonsA200020002ChristinB300020003KevonC400020001JohonsA200020004appleB300020004appleB3000这样就完成了吗?这样就完成了吗?第57页/共64页案例研究projectnumberProjectname100001TPMS100001TPMS100001TPMS100002TCT100002TCT100003HDFEmployeenumberEmployeenameSalarycatagorySalarypackage20001JohonsA200020002ChristinB300020003KevonC400020001JohonsA200020004appleB300020004appleB3000Project numberEmployee number100001200011000022000110000320004第58页/共64页案例研究第3步:是3NF吗?存在传递依赖关系,即:关键字段-非关键字段-非关键字段。而这是不满足三范式的规则的,存在以下的不足:数据冗余:和的值有重复;更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况;删除异常:同样的,如果员工200003Kevin离开了公司,会直接导致SalaryC的信息的丢失。第59页/共64页案例研究projectnumberProjectname100001TPMS100001TPMS100001TPMS100002TCT100002TCT100003HDFEmployeenumberEmployeenameSalarycatagorySalarypackage20001JohonsA200020002ChristinB300020003KevonC400020001JohonsA200020004appleB300020004appleB3000Project numberEmployee number100001200011000022000110000320004第60页/共64页案例研究SalarycatagorySalarypackageA2000B3000C4000A2000B3000B3000EmployeenumberEmployeenameSalarycatagory20001JohonsA20002ChristinB20003KevonC20001JohonsA20004appleB20004appleB第61页/共64页2.3规范化小结 第62页/共64页2.3规范化小结把一个非规范化的数据结构转换成第三范式,一般经过以下几步:(1)把该结构分解成若干个属于第一范式的关系。(2)对那些存在组合码,且有非主属性部分函数依赖的关系必须继续分解,使所得关系都是属于第二范式。(3)若关系中有非主属性传递依赖于码,则继续分解之,使得关系都属于第三范式。第63页/共64页感谢您的观看!第64页/共64页

    注意事项

    本文(数据库原理及应用关系数据库理论.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开