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

    数据库系统基础教程PPT完整版.ppt

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

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

    数据库系统基础教程PPT完整版.ppt

    第一章第一章 数据库系统的世界数据库系统的世界The Worlds of Database Systems数据库系统的发展数据库系统的发展数据库管理系统的结构数据库管理系统的结构未来的数据库系统未来的数据库系统21.1 1.1 数据库系统的发展数据库系统的发展c c一、术语一、术语1.数据库数据库是是长长期期储储存存在在计计算算机机内内的的、有有组组织织的的、可可共共享享的的数数据据的的集合。集合。32.数据库管理系统数据库管理系统数数 据据 库库 系系 统统 基基 础础 教教 程程A First Course in Database SystemsDBMS-DataBase Management System是是 处处 理理 数数 据据 库库 访访 问问 的的 软软 件件。提提供供数数据据库库的的用用户户接接口口。DBMS的目的:的目的:提提供供一一个个可可以以方方便便地地、有有效效地地存存取取数数据据库库信信息息的环境的环境5 3.数据库系统数据库系统是指在计算机系统中引入数据库后的系统是指在计算机系统中引入数据库后的系统6数据库数据库最终用户最终用户应用系统应用系统应用开发工具应用开发工具DBMS操作系统操作系统数据库管理员数据库管理员DBA数数据据库库系系统统构构成成应用程序员应用程序员7z保存信息的两种不同方法:保存信息的两种不同方法:永久性的系统文件、数据库系统永久性的系统文件、数据库系统。z文件方式的问题:文件方式的问题:y数据的冗余和不一致数据的冗余和不一致y数据访问困难数据访问困难y数据孤立数据孤立y完整性问题完整性问题y原子性问题原子性问题y并发访问异常并发访问异常y安全性问题安全性问题二、文件系统与数据库系统二、文件系统与数据库系统8z数据库方法能较好地解决以上的问题数据库方法能较好地解决以上的问题y数据的独立性数据的独立性y有效地访问数据有效地访问数据y减少应用程序的开发时间减少应用程序的开发时间y数据的一致性和安全性数据的一致性和安全性y统一的数据管理统一的数据管理y并发的数据访问并发的数据访问 三、为什么用数据库三、为什么用数据库9z几种模型:几种模型:y基于树的层次模型基于树的层次模型y基于图的网状模型基于图的网状模型物理相关、无高级查询语言物理相关、无高级查询语言y基于表的关系模型基于表的关系模型物理无关、支持高级查询语言,物理无关、支持高级查询语言,y基于对象的面向对象模型基于对象的面向对象模型OOOR四、数据库模型的发展四、数据库模型的发展定长记录定长记录10关系数据库系统关系数据库系统属性属性元组元组11z关查询语言关查询语言ySQL语言语言SELECT balanceFROM AccountsWHERE accountNO=67890;关系数据库系统关系数据库系统12zDBMS的组成的组成y数据、元数据数据、元数据y存储管理程序存储管理程序y事务管理程序事务管理程序y查询处理程序查询处理程序1.2 1.2 数据库管理系统的结构数据库管理系统的结构数据数据元数据元数据存储存储管理程序管理程序查询查询处理程序处理程序事务事务管理程序管理程序模式更新模式更新更新更新查询查询13z数据、元数据数据、元数据y关于数据结构的信息(关于数据的数据)关于数据结构的信息(关于数据的数据)y索引(索引(INDEX)DBMS的组成的组成14z存储管理程序存储管理程序y文件管理程序文件管理程序y缓冲区管理查程序缓冲区管理查程序 DBMS的组成的组成15z查询处理程序查询处理程序y查询优化查询优化磁盘访问,是查询的主要代价;磁盘访问,是查询的主要代价;索引是查询优化的利器索引是查询优化的利器DBMS的组成的组成16z事务管理程序事务管理程序y事务:是用户定义的一个数据库操作序列事务:是用户定义的一个数据库操作序列y事务的四个特性事务的四个特性原子性原子性A一致性一致性C隔离性隔离性I持久性持久性DDBMS的组成的组成17z客户客户-服务器程序体系结构服务器程序体系结构z浏览器浏览器-服务器体系结构服务器体系结构DBMS的组成的组成18z客户客户-服务器程序体系结构服务器程序体系结构z浏览器浏览器-服务器体系结构服务器体系结构1.3 1.3 未来的数据库系统未来的数据库系统第二章第二章 数据库建模数据库建模Database Modeling20数据库的设计步骤数据库的设计步骤z需求收集和分析需求收集和分析z设计概念结构设计概念结构z设计逻辑结构设计逻辑结构z设计物理结构设计物理结构z物理实现物理实现21数据库的设计步骤数据库的设计步骤z需求收集和分析需求收集和分析y用户关心什么用户关心什么y用户要什么结果用户要什么结果z设计概念结构设计概念结构z设计逻辑结构设计逻辑结构z设计物理结构设计物理结构z物理实现物理实现22数据库的设计步骤数据库的设计步骤z需求收集和分析需求收集和分析z设计概念结构设计概念结构y存什么存什么y关系(联系)如何关系(联系)如何yODL或或E/R图,是各种数据模型的共同基础图,是各种数据模型的共同基础z设计逻辑结构设计逻辑结构z设计物理结构设计物理结构z物理实现物理实现23数据库的设计步骤数据库的设计步骤z需求收集和分析需求收集和分析z设计概念结构设计概念结构z设计逻辑结构设计逻辑结构y用什么数据模型用什么数据模型y数据库的模式(数据库的模式(database schema)y用户子模式用户子模式z设计物理结构设计物理结构z物理实现物理实现24数据库的设计步骤数据库的设计步骤z需求收集和分析需求收集和分析z设计概念结构设计概念结构z设计逻辑结构设计逻辑结构z设计物理结构设计物理结构y数据怎么存数据怎么存y根据根据DBMS产品、环境特点产品、环境特点z物理实现物理实现25数据库的设计步骤数据库的设计步骤z需求收集和分析需求收集和分析z设计概念结构设计概念结构z设计逻辑结构设计逻辑结构z设计物理结构设计物理结构z物理实现物理实现y运行运行DDLy装入测试数据装入测试数据y应用程序应用程序26数据库的设计步骤数据库的设计步骤想法想法需求需求ODLE/R关系关系RDBMSOODBMS272.1 ODLz对象定义语言对象定义语言y Object Definition Languagey以面向对象的观点、方法,说明数据库的概以面向对象的观点、方法,说明数据库的概念结构念结构y可方便地直接转换成可方便地直接转换成 OODBMS 的说明的说明y经过努力,可以转换成经过努力,可以转换成 RDBMS 的说明的说明28面向对象的设计面向对象的设计z对象标识对象标识 OIDy对象与对象的区别对象与对象的区别z类类y具有相同特性的对象归为一类具有相同特性的对象归为一类y对象的归并必须有意义对象的归并必须有意义y属于同一类的对象其特性必须相同属于同一类的对象其特性必须相同29面向对象的设计面向对象的设计z对象的三个特性对象的三个特性y属性:特性属性:特性y联系:引用联系:引用y方法:函数方法:函数z接口说明接口说明interface 30z属性属性y对象某方面的特征,属性就是数据对象某方面的特征,属性就是数据y只由只由基本基本数据类型构成数据类型构成y属性的类型,不能是类、也不能从类中构造属性的类型,不能是类、也不能从类中构造Interface Movie /Movie Class 的ODL说明attribute stringtitle;attribute integer year;attribute integer length;attribute enum Film color,blackAndWhite filmType;31Interface Star attribute stringname;attribute StructAddr string street,string city address;记录结构类型记录结构类型32z联系联系y对象的引用对象的引用y对象的关联对象的关联y对象集合的引用(对象集合的引用(1:N)Relationship Set stars;y单一对象集合的引用(单一对象集合的引用(1:1)Relationship Star starOf;33z反向联系反向联系yODL要求显式表示存在的反向联系要求显式表示存在的反向联系Interface Movie/Movie Class 的的ODL说说明明attribute stringtitle;attribute integeryear;attribute integerlength;attribute enum Film color,blackAndWhite filmType;relationship Set stars inverse Star:starredIn;/Star与与Movie的联系的联系;34z联系的多重性联系的多重性yN:Nx在联系中,每个在联系中,每个C都和都和D的集合有关,而在反向的集合有关,而在反向联系中,每个联系中,每个D都和都和C的集合有关的集合有关yN:1x在联系中,每个在联系中,每个C都和唯一的都和唯一的D有关,而在反向有关,而在反向联系中,每个联系中,每个D都和都和C的集合有关的集合有关y1:1 x在联系中,每个在联系中,每个C都和唯一的都和唯一的D有关,而在反向有关,而在反向联系中,每个联系中,每个D都和唯一的都和唯一的C有关有关35zInterface Moiverelationship Set starsinverse Star:staredIn;relationship Studio ownedByinverse Studio:owns;zInterface Starrelationship Set staredIninverse Moive:stars;zInterface Studiorelationship Set ownsinverse Moive:ownedBy;NNN136zODL中的类型中的类型y基本类型基本类型x原子类型原子类型x接口类型接口类型y结构类型,可由以下类型组合而成结构类型,可由以下类型组合而成x集合集合无重复,次序无关无重复,次序无关x包包可重复,次序无关可重复,次序无关x列表列表可重复,次序相关可重复,次序相关x数组数组x结构结构372.2 实体联系图(实体联系图(E/R)z用图形的方法,描述实体及实体间的联系用图形的方法,描述实体及实体间的联系z世界由一组称作世界由一组称作实体实体的基本对象及这些对象间的基本对象及这些对象间的的联系联系组成组成z元素元素y实体(实体(Entity)x客观存在并可相互区别的事件或物体客观存在并可相互区别的事件或物体x对应于对应于ODL中的对象中的对象y实体集(实体集(Entity Set)x同类(具有相同类型、相同性质)实体的集合同类(具有相同类型、相同性质)实体的集合x对应于对应于ODL中的类中的类x用矩形表示用矩形表示382.2 实体联系图(实体联系图(E/R)z元素元素y属性(属性(Attribute)x实体所具有的某一特性实体所具有的某一特性x用与实体集相连的椭圆表示用与实体集相连的椭圆表示y联系(联系(Relationship)x实体集之间的关联实体集之间的关联x可涉及多个实体集可涉及多个实体集x可表示双向的联系可表示双向的联系x用与相应的实体集相连的菱形表示用与相应的实体集相连的菱形表示39MoviesStarsStars-inlenghtfilmTypetitleyearnameaddress40zE/R联系的多重性联系的多重性yN与与1的表示的表示MoviesStarsStars-inStudiosPresidentsRunsMoviesStudiosOwns41z联系的多向性联系的多向性yE/R图能方便地描述两个以上实体集间的联系图能方便地描述两个以上实体集间的联系StarsMoviesContractsStudios一个制片公司与一位特定的影星签约来演一部特定的电影一个制片公司与一位特定的影星签约来演一部特定的电影 42z联系中的角色联系中的角色y实体集在联系中的作用实体集在联系中的作用y参与联系的实体集互异参与联系的实体集互异x只标注联系名只标注联系名y同一实体集在一个联系中多次出现同一实体集在一个联系中多次出现x标注联系名及角色名标注联系名及角色名Sequel-ofMoviesOriginalSequelStarsMoviesContractsStudiosStudio of starProducing studio43z联系中的属性联系中的属性y联系中可以包含属性联系中可以包含属性x由联系而产生的属性由联系而产生的属性y可为由联系产生的属性建立实体集可为由联系产生的属性建立实体集StarsMoviesContractsStudiossalary44z将多向联系转换成二元联系将多向联系转换成二元联系y新增连接实体集新增连接实体集y引入连接实体集至原实体集的多对一的联系引入连接实体集至原实体集的多对一的联系452.3 设计原则设计原则z真实性真实性y设计应当忠于规范设计应当忠于规范y存什么存什么z避免冗余避免冗余y任何事物只表达一次任何事物只表达一次z避免引入过多的元素避免引入过多的元素z选择合适的元素类型选择合适的元素类型y属性?属性?y类类/实体集?实体集?y联系集?联系集?462.4 子类子类z特殊化与概括特殊化与概括z子类与超类子类与超类z属性的继承属性的继承47zODL中的子类中的子类y子类继承其超类的所有特性子类继承其超类的所有特性x属性属性x联系联系Interface Cartoon:Movie relationship set voices;48zODL中的多重继承中的多重继承y类的层次类的层次y一个类可以有多个超类一个类可以有多个超类Interface MurderMystery:Movieattribute string weapon;Interface Cartoon-MurderMystery:Cartoon,MurderMystery 49zE/R中的子类中的子类yIsazE/R中的继承中的继承502.5 对约束的建模对约束的建模z建模包含对现实世界的对象及联系的描述,也建模包含对现实世界的对象及联系的描述,也包含对它们的一些约束包含对它们的一些约束y键码键码y单值约束单值约束y参照完整性约束参照完整性约束y域的约束域的约束y一般约束一般约束51z键码键码y在类的范围内唯一标识一个对象(或者在实体集的在类的范围内唯一标识一个对象(或者在实体集的范围内唯一标识一个实体)的属性或属性集范围内唯一标识一个实体)的属性或属性集y一个类中的两个对象(或一个实体集中的两个实体)一个类中的两个对象(或一个实体集中的两个实体)在构成键码的属性集上取值不能相同在构成键码的属性集上取值不能相同yODL中键码的表示中键码的表示interface Movie(key(title,year)52z超码超码y一个或多个属性的集合,能在一个实体集中唯一地一个或多个属性的集合,能在一个实体集中唯一地标识一个实体标识一个实体y一个类(或实体集)中可能有多个超码一个类(或实体集)中可能有多个超码z候选码候选码y其任意真子集都不为超码的超码其任意真子集都不为超码的超码y一个类(或实体集)中可能有多个候选码一个类(或实体集)中可能有多个候选码z主码主码y从候选码中选取的一个,一个类(实体集)中只有从候选码中选取的一个,一个类(实体集)中只有一个主码一个主码yE/R图中只能表示主码:主码属性名加上下划线图中只能表示主码:主码属性名加上下划线53z单值约束单值约束y要求某个角色的值是唯一的,如键码要求某个角色的值是唯一的,如键码y当一个属性为单值时当一个属性为单值时x可以要求该属性值存在(可以要求该属性值存在(not null)x可以允许该属性值任选(可以允许该属性值任选(null)y构成键码的属性,必须有值存在(构成键码的属性,必须有值存在(not null)54z参照完整性约束参照完整性约束y要求由某个对象引用的值在数据库中确实存要求由某个对象引用的值在数据库中确实存在在y参照与被参照、引用与被引用参照与被参照、引用与被引用y参照完整性约束的操作(各产品不同)参照完整性约束的操作(各产品不同)x禁止删除被引用的对象禁止删除被引用的对象x级联删除级联删除/修改修改yE/R图中参照完整性的表示图中参照完整性的表示MoviesStudiosOwns552.6 弱实体集弱实体集z弱实体集弱实体集的属性不足以形成主码的属性不足以形成主码z有主码的实体集称为有主码的实体集称为强实体集强实体集z弱实体集只有作为一对多联系的一部分(多)弱实体集只有作为一对多联系的一部分(多)才有意义才有意义z弱实体集与其拥有者之间的联系是弱实体集与其拥有者之间的联系是标识性联系标识性联系CrewsUnit-ofStudiosnumbernameaddr562.7 关于联系集关于联系集z联系集的成份联系集的成份y参加联系的实体集的主码参加联系的实体集的主码y联系集的属性联系集的属性z联系中属性的决策联系中属性的决策(二元联系二元联系)y1:1 联系集的属性:放到任意一端联系集的属性:放到任意一端y1:N 联系集的属性:放到联系集的属性:放到 N 端端yN:M联系集的属性:只能留在联系集中联系集的属性:只能留在联系集中57z联系集的取舍(二元联系)联系集的取舍(二元联系)y1:1联系:将一端的主码作为另一端的属性联系:将一端的主码作为另一端的属性y1:N联系:将一端的主码作为联系:将一端的主码作为 N 端的属性端的属性yN:M联系:必须保留联系集联系:必须保留联系集z联系集的键码(二元联系)联系集的键码(二元联系)y1:1联系:任意一端的主码联系:任意一端的主码y1:N联系:联系:N端的主码端的主码yN:M联系:参加联系的所有实体集的主码联系:参加联系的所有实体集的主码58zODL、E/R建模建模y关心:存什么数据、关系如何关心:存什么数据、关系如何y不关心:用什么数学模型、不关心:用什么数学模型、DBMS产品产品y透过透过E/R图,便于与用户交流图,便于与用户交流59z作业作业y思考所有带思考所有带*的练习,并上网查阅解答的练习,并上网查阅解答y练习练习2.1.7/2.2.8/2.3.2/2.5.3/2.5.4/2.6.4(a)第三章第三章 关系数据模型关系数据模型The Relational Data Model61zODL、E/R到关系模型的转换到关系模型的转换z关系模型的设计理论关系模型的设计理论623.1 关系模型的基本概念关系模型的基本概念z逻辑数据模型逻辑数据模型y是用户从数据库所看到的数据模型是用户从数据库所看到的数据模型y与与DBMS有关有关y层次、网状、关系、面向对象层次、网状、关系、面向对象63z关系数据模型关系数据模型y数据结构数据结构x两维的扁平表两维的扁平表y数据操作数据操作x关系代数关系代数x关系演算关系演算y数据的完整性数据的完整性x实体完整性实体完整性x参照完整性参照完整性x用户定义的完整性用户定义的完整性64z现实世界的实体以及实体间的各种联系均用现实世界的实体以及实体间的各种联系均用关系表示关系表示z关系数据库系统是建立在关系模型上的数据关系数据库系统是建立在关系模型上的数据库系统库系统z关系数据库是表的集合关系数据库是表的集合65z模型和模式模型和模式y数据模型是描述数据的手段数据模型是描述数据的手段y数据模式是用给定的数据模型对具体数据数据模式是用给定的数据模型对具体数据的描述的描述z属性属性z元组元组z域域y型型y值值z联系联系y关系的联系是通过关联属性的值连接的关系的联系是通过关联属性的值连接的66关系关系(表表)属性属性(列、字段列、字段)元组元组(行、记录行、记录)域域(string,男,女男,女)Student(sno,sname,ssex,sage,sdept)67z关系实例关系实例y关系关系 实体集、类实体集、类y关系的实例关系的实例 元组的集合元组的集合y元组元组 实体、对象实体、对象y数据库实例数据库实例 给定时刻数据库中数据的一给定时刻数据库中数据的一个快照个快照683.2 从从ODL设计到设计到关系设计关系设计zODL设计是概念设计的产物设计是概念设计的产物(Using OO)zODL描述描述 关系模式关系模式 实现实现69zODL属性属性 关系属性关系属性y原子属性原子属性x类类 关系关系x属性属性 属性属性y非原子属性(复杂数据类型)非原子属性(复杂数据类型)x必须转换成原子属性必须转换成原子属性x记录结构记录结构结构的每个结构的每个item对应一个属性对应一个属性x多值集合多值集合针对每个值建立一个元组针对每个值建立一个元组会产生冗余会产生冗余 需规范化需规范化70zODL属性属性 关系属性关系属性(续)(续)y其他类型属性其他类型属性x(包、数组、列表)(包、数组、列表)针对每个元素建立一个元组针对每个元素建立一个元组增加一个记数属性,表示包的成员号增加一个记数属性,表示包的成员号x定长数组定长数组扩展为多个属性扩展为多个属性71zODL联系联系 关系描述关系描述y单值联系单值联系x联系的类型为一个类联系的类型为一个类x增加一个(组)属性,存放相关类的键码属增加一个(组)属性,存放相关类的键码属性(组)性(组)x将类之间的联系将类之间的联系 关系之间的联系关系之间的联系72zODL联系联系 关系描述关系描述(续)(续)y多值联系多值联系x联系的类型为某个类的集合类型联系的类型为某个类的集合类型x1:N、N:Mx增加一个键码属性增加一个键码属性x为集合的每个成员建立一个元组为集合的每个成员建立一个元组x其他原始属性重复多次(与集合成员的个数其他原始属性重复多次(与集合成员的个数相等)相等)x导致大量的冗余,需要规范化导致大量的冗余,需要规范化73z键码是必需的键码是必需的y选择合适的属性(组)作为键码选择合适的属性(组)作为键码x学号、工号、身份证号学号、工号、身份证号.x增加计数属性增加计数属性z联系与反向联系联系与反向联系y在联系的双方均有联系的描述在联系的双方均有联系的描述 冗余冗余yODL:双向描述:双向描述yE/R:相关的键码值进行连接:相关的键码值进行连接743.3 从从E/R图到图到关系的设计关系的设计zE/R与与ODL描述的差异描述的差异y联系作为独立的概念联系作为独立的概念 联系嵌套在类定义中联系嵌套在类定义中y结构化数据结构化数据 允许使用集合、聚集类型允许使用集合、聚集类型y联系可以有属性联系可以有属性 联系无属性联系无属性zE/R 关系模式关系模式 实现实现75z实体集到关系的转换实体集到关系的转换y非弱实体集非弱实体集x实体集名实体集名 关系名关系名x属性属性 属性属性y弱实体集弱实体集x为弱实体集建立关系为弱实体集建立关系x属性:弱实体集的属性属性:弱实体集的属性+辅助实体集的键辅助实体集的键码码76zE/R联系到关系的转换联系到关系的转换y用关系表示联系用关系表示联系x联系名联系名 关系名关系名x属性属性 属性属性+相关实体集的键码属性(集)相关实体集的键码属性(集)y多向联系的转换多向联系的转换x注意,属性的命名注意,属性的命名773.4 子类结构到关系的转换子类结构到关系的转换zODL中的子类中的子类y一个对象完全属于一个类一个对象完全属于一个类y子类继承其超类的特性子类继承其超类的特性zE/R中的子类中的子类y分层结构通过与分层结构通过与ISA联系有关的实体集进联系有关的实体集进行扩展行扩展78z用关系表示用关系表示ODL子类子类y每个子类都有自己的关系每个子类都有自己的关系y包含包含该子类的所有特性该子类的所有特性(含继承特性)(含继承特性)y在一个关系中含有所有属性在一个关系中含有所有属性Movie(title,year,length,filmType,studioName,starName)Cartoon(title,year,length,filmType,studioName,starName,voice)MurderMystery(title,year,length,filmType,studioName,starName,weapon)Cartoon-MurderMystery(title,year,length,filmType,studioName,starName,voice,weapon)79z在关系模型中表示在关系模型中表示 isa 联系联系y子类的信息被分散到上层的几个关系中子类的信息被分散到上层的几个关系中y与与ISA联系有关的实体集拥有相同的键码联系有关的实体集拥有相同的键码Movie(title,year,length,filmType)Cartoon(title,year)MurderMystery(title,year,weapon)Voice(title,year,name)80z使用使用NULL值合并关系值合并关系y将关系描述成一个将关系描述成一个全集全集y属性:所有可能的属性属性:所有可能的属性y描述:允许描述:允许Null值值x层次越高,取层次越高,取Null值的属性越多值的属性越多Movie(title,year,length,filmType,studioName,starName,voice,weapon)y只是一种方法而已只是一种方法而已81z作业作业y思考所有带思考所有带*的练习,并上网查询解答的练习,并上网查询解答y练习练习3.2.3/3.3.1/3.4.1/3.5.3/823.5 函数依赖函数依赖z数据依赖数据依赖y函数依赖函数依赖y多值依赖多值依赖z数据依赖是针对数据模式,而不是特定的实例数据依赖是针对数据模式,而不是特定的实例83z函数依赖(函数依赖(FD)y属性之间的联系属性之间的联系y假设给定假设给定 X 属性的值,就知道属性的值,就知道 Y的值,那么的值,那么 X 函数决定函数决定 Yy如果如果R的两个元组在属性的两个元组在属性A1,A2,An上一致,上一致,则它们在另一个属性则它们在另一个属性B上也一致,那么上也一致,那么 A1,A2,An函数决定函数决定B,记作,记作A1A2AnByif A1A2AnB1then A1A2AnB2A1A2An B1 B2.Bm A1A2AnBm84z关系的键码关系的键码如果一个或多个属性的集合如果一个或多个属性的集合A1A2An满足满足如下条件,则该集合为关系如下条件,则该集合为关系R的键码:的键码:1.这些属性函数决定该关系的所有其他属性这些属性函数决定该关系的所有其他属性2.A1A2An的任何真子集都不能函数决定的任何真子集都不能函数决定R的所有其他属性的所有其他属性85z超键码超键码y包含键码的属性集称为超键码包含键码的属性集称为超键码86z寻找关系的键码(来自寻找关系的键码(来自E/R)y来自实体集的关系的键码就是该实体集的键来自实体集的关系的键码就是该实体集的键码属性码属性y对于二元联系对于二元联系R:xN:M,相关两个实体的键码都是,相关两个实体的键码都是R的键码属性的键码属性xN:1,多端实体集的键码是,多端实体集的键码是R的加码属性的加码属性x1:1,任意一端实体集的键码是,任意一端实体集的键码是R的键码的键码y对于多向联系对于多向联系R:x如果多向联系如果多向联系R有一个箭头指向实体集有一个箭头指向实体集E,则响,则响应的关系中,除了应的关系中,除了E的键码以外,至少还存在一的键码以外,至少还存在一个键码。个键码。87z寻找关系的键码(来自寻找关系的键码(来自ODL)y来自来自ODL的关系的键码的关系的键码不一定不一定就是该类的键就是该类的键码属性码属性y对于单值联系对于单值联系R:x类类C有一个指向类有一个指向类D的单值联系,的单值联系,C的关系中包含的关系中包含D的键码。的键码。C的键码仍是相应关系的键码的键码仍是相应关系的键码y对于多值联系对于多值联系R:x被引用类的键码加入到引用类的键码组合称为键被引用类的键码加入到引用类的键码组合称为键码码883.6 函数依赖规则函数依赖规则z分解规则分解规则A1A2An B1 B2.Bm等价于等价于A1A2An Bi z合并规则合并规则A1A2An Bi等价于等价于A1A2An B1 B2.Bm89z平凡的函数依赖平凡的函数依赖y如果对于函数依赖如果对于函数依赖 A1A2An B,B是是A中中的一个,则该函数依赖就是平凡的函数依赖的一个,则该函数依赖就是平凡的函数依赖y平凡依赖是永恒的平凡依赖是永恒的ytitle,year titlez非平凡非平凡y如果如果B中至少有一个属性不在中至少有一个属性不在A中中ytitle,year year,lengthz完全非平凡完全非平凡y如果如果B中没有一个属性在中没有一个属性在A中中ytitle,year length90z计算属性的闭包计算属性的闭包y闭包闭包xF的闭包是指的闭包是指F逻辑蕴涵的所有函数依赖的集合,逻辑蕴涵的所有函数依赖的集合,记作记作F+y闭包的意义闭包的意义x检验给定的函数依赖是否蕴涵于某个函数依赖集检验给定的函数依赖是否蕴涵于某个函数依赖集Sx从给定的函数依赖,可以推导出蕴涵的函数依赖从给定的函数依赖,可以推导出蕴涵的函数依赖y求闭包求闭包x例:对关系例:对关系R(A,B,C,D,E,F),给定函数依赖给定函数依赖ABC,BCAD,DE,CFB,求求 A,B+91z关系的基与最小基关系的基与最小基y任何一个能从中导出关系的任何一个能从中导出关系的所有所有依赖的依赖的给定给定依赖集依赖集,称为该关系的一个,称为该关系的一个基基y如果一个基的任何如果一个基的任何真子集真子集都不能推导出该关都不能推导出该关系的依赖全集,则称此基为系的依赖全集,则称此基为最小基最小基y求函数依赖的最小基求函数依赖的最小基x例:对关系例:对关系R(A,B,C,D),有),有ABC,BC,A B,AB C,AC D,求最小函数依赖集求最小函数依赖集923.7 关系数据库模式设计关系数据库模式设计z什么是好的数据库设计什么是好的数据库设计y体现客观世界的信息体现客观世界的信息y无过度的冗余无过度的冗余y无插入异常无插入异常y无更新复杂无更新复杂y无删除异常无删除异常93冗余冗余!更新复杂更新复杂!删除异常删除异常!94z异常的原因异常的原因y数据依赖的约束数据依赖的约束z解决方法解决方法y数据库设计的规范化数据库设计的规范化分解分解 95z范式范式(Normal Forms)y规范化规范化y一个关系满足某个范式所规定的一系列条一个关系满足某个范式所规定的一系列条件时件时,它就属于该范式它就属于该范式y可以用规范化要求来设计数据库可以用规范化要求来设计数据库y也可以用来验证设计结果的合理性,用其也可以用来验证设计结果的合理性,用其指导优化过程指导优化过程z1NF2NF3NFBCNF4NF96z第一范式第一范式(1NF)y当且仅当一个关系当且仅当一个关系R中,每一个元组的每中,每一个元组的每一个属性只含有一个值时,该关系属于第一个属性只含有一个值时,该关系属于第一范式。一范式。y要求属性是原子的要求属性是原子的97z第二范式第二范式(2NF)y对于关系对于关系R,若,若R 1NF,且每一个非主,且每一个非主属性完全函数依赖于码,则属性完全函数依赖于码,则R 2NF。y不能部分依赖于码不能部分依赖于码sc(sno,sname,cno,grade)sno,cnogradesnosnamesnocnogradesname完全依赖完全依赖非完全依赖非完全依赖98z第三范式第三范式(3NF)y对于关系对于关系R,若,若R 2NF,且,且每个每个非主属非主属性都不传递依赖于码,则性都不传递依赖于码,则R 3NF。y主属性可以传递依赖于码主属性可以传递依赖于码student(sno,sname,sdept,dept_manager)snosname,sdept sdeptdept_manager传递依赖:传递依赖:snodept_managersnosdeptsnamedept_manager99zBoyce/Codd范式范式(BCNF)y对于关系对于关系R,若,若R 1NF,且,且所有所有非平凡的函非平凡的函数依赖,其决定因素是候选码,则数依赖,其决定因素是候选码,则R BCNF。sct(s,c,t)/学生,课程,教师学生,课程,教师tc/每位教师只上一门课每位教师只上一门课(s,c)t (s,t)c/每门课有若干位教师每门课有若干位教师sctstcsct3NF,sctBCNF100z最高范式最高范式yBCNF是基于函数依赖的最高范式是基于函数依赖的最高范式y但不是数据库模式设计的最高范式但不是数据库模式设计的最高范式101z范式优化范式优化y分解分解xA1,A2,An=B1,B2,Bn C1,C2,Cny分解的要求分解的要求x无损连接无损连接BCB或或BCCx保持依赖保持依赖x范式要求范式要求BC102z分解到高层范式(基于分解到高层范式(基于FD)1.找出一个不符合范式要求的找出一个不符合范式要求的FD(XY),),并使其右端的属性尽可能地多(并使其右端的属性尽可能地多(求出求出X+)2.创建新的模式,包含上述创建新的模式,包含上述FD的所有(左右)的所有(左右)属性(属性(X+的所有属性的所有属性)3.创建另一模式,包含前述创建另一模式,包含前述FD中的决定因素及中的决定因素及剩余的所有属性剩余的所有属性(U-X+)X)4.反复反复13,直至符合范式要求,直至符合范式要求1033.8 多值依赖多值依赖zBCNFy仍有异常仍有异常104z多值依赖(多值依赖(MVD)按按P.110的定义的定义105z多值依赖(多值依赖(MVD)y设设R(U)是属性集是属性集U上的一个关系。上的一个关系。X、Y、Z是是U的子集,且的子集,且Z=U-X-Y。关系。关系R(U)中多值中多值依赖依赖XY成立,当且仅当对成立,当且仅当对R(U)的任一的任一元组元组r,给定一对给定一对(x,z)值,有一组值,有一组y的值的值,这,这组值仅仅取决于组值仅仅取决于x值,而与值,而与z值无关。值无关。y对给定对给定X的值,则的值,则Y的取值与的取值与Z的取值无关的取值无关106z给定一对给定一对(x,z)值,有一组值,有一组y的值的值107nametitle,year108z平凡的多值依赖平凡的多值依赖y如果如果X包含包含Y或或 X Y=U,则,则XY是平凡的是平凡的多值依赖多值依赖z性质性质yIf XY,and YZ then XZ-YyIf XY,and Z=U-X-Y then XZyIf XY then XYz 无分解无分解/合并规则合并规则109z第四范式(第四范式(4NF)y对于关系对于关系R,若,若R 1NF,且,且所有所有非平凡的多非平凡的多值依赖,其决定因素是候选码,则值依赖,其决定因素是候选码,则R 4NF。y基于数据依赖的最高范式基于数据依赖的最高范式y分解要求分解要求x无损连接无损连接x保持依赖保持依赖x4NF1101983Return of the JediHollywood123 maple St.C.Fisher1980Empire Strikes BackHollywood123 maple St.C.Fisher1983Return of the JediMailbu5 Locust Ln.C.Fisher1980Empire Strikes BackMailbu5 Locust Ln.C.Fisher1977Star WarsMailbu5 Locust Ln.C.Fisher1977Star WarsHollywood123 maple St.C.Fisheryeartitlecitystreetnamenametitle,yearnamestreet,cityAll Keyis BCNFisnt 4NFR1(name,title,year)R2(name,s

    注意事项

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

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




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

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

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

    收起
    展开