数据库系统基础教程PPT完整版.ppt
《数据库系统基础教程PPT完整版.ppt》由会员分享,可在线阅读,更多相关《数据库系统基础教程PPT完整版.ppt(508页珍藏版)》请在三一办公上搜索。
1、第一章 数据库系统的世界The Worlds of Database Systems,数据库系统的发展数据库管理系统的结构未来的数据库系统,2,1.1 数据库系统的发展c,一、术语1.数据库是长期储存在计算机内的、有组织的、可共享的数据的集合。,3,2.数据库管理系统,数据库系统基础教程A First Course in Database SystemsDBMS-DataBase Management System是处理数据库访问的软件。提供数据库的用户接口。DBMS的目的:提供一个可以方便地、有效地存取数据库信息的环境,5,3.数据库系统是指在计算机系统中引入数据库后的系统,6,数据库系统构
2、成,7,保存信息的两种不同方法:永久性的系统文件、数据库系统。文件方式的问题:数据的冗余和不一致数据访问困难数据孤立完整性问题原子性问题并发访问异常安全性问题,二、文件系统与数据库系统,8,数据库方法能较好地解决以上的问题数据的独立性有效地访问数据减少应用程序的开发时间数据的一致性和安全性统一的数据管理并发的数据访问,三、为什么用数据库,9,几种模型:基于树的层次模型基于图的网状模型物理相关、无高级查询语言基于表的关系模型物理无关、支持高级查询语言,基于对象的面向对象模型OOOR,四、数据库模型的发展,定长记录,10,关系数据库系统,11,关查询语言SQL语言SELECT balanceFRO
3、M AccountsWHERE accountNO=67890;,关系数据库系统,12,DBMS的组成数据、元数据存储管理程序事务管理程序查询处理程序,1.2 数据库管理系统的结构,13,数据、元数据关于数据结构的信息(关于数据的数据)索引(INDEX),DBMS的组成,14,存储管理程序文件管理程序缓冲区管理查程序,DBMS的组成,15,查询处理程序查询优化磁盘访问,是查询的主要代价;索引是查询优化的利器,DBMS的组成,16,事务管理程序事务:是用户定义的一个数据库操作序列事务的四个特性原子性A一致性C隔离性I持久性D,DBMS的组成,17,客户-服务器程序体系结构浏览器-服务器体系结构,
4、DBMS的组成,18,客户-服务器程序体系结构浏览器-服务器体系结构,1.3 未来的数据库系统,第二章 数据库建模Database Modeling,20,数据库的设计步骤,需求收集和分析设计概念结构设计逻辑结构设计物理结构物理实现,21,数据库的设计步骤,需求收集和分析用户关心什么用户要什么结果设计概念结构设计逻辑结构设计物理结构物理实现,22,数据库的设计步骤,需求收集和分析设计概念结构存什么关系(联系)如何ODL或E/R图,是各种数据模型的共同基础设计逻辑结构设计物理结构物理实现,23,数据库的设计步骤,需求收集和分析设计概念结构设计逻辑结构用什么数据模型数据库的模式(database
5、schema)用户子模式设计物理结构物理实现,24,数据库的设计步骤,需求收集和分析设计概念结构设计逻辑结构设计物理结构数据怎么存根据DBMS产品、环境特点物理实现,25,数据库的设计步骤,需求收集和分析设计概念结构设计逻辑结构设计物理结构物理实现运行DDL装入测试数据应用程序,26,数据库的设计步骤,想法需求,ODL,E/R,关系,RDBMS,OODBMS,27,2.1 ODL,对象定义语言 Object Definition Language以面向对象的观点、方法,说明数据库的概念结构可方便地直接转换成 OODBMS 的说明经过努力,可以转换成 RDBMS 的说明,28,面向对象的设计,对
6、象标识 OID对象与对象的区别类具有相同特性的对象归为一类对象的归并必须有意义属于同一类的对象其特性必须相同,29,面向对象的设计,对象的三个特性属性:特性联系:引用方法:函数接口说明interface,30,属性对象某方面的特征,属性就是数据只由基本数据类型构成属性的类型,不能是类、也不能从类中构造Interface Movie/Movie Class 的ODL说明attribute stringtitle;attribute integeryear;attribute integerlength;attribute enum Film color,blackAndWhite filmTyp
7、e;,31,Interface Star attribute stringname;attribute StructAddr string street,string city address;,32,联系对象的引用对象的关联对象集合的引用(1:N)Relationship Set stars;单一对象集合的引用(1:1)Relationship Star starOf;,33,反向联系ODL要求显式表示存在的反向联系Interface Movie/Movie Class 的ODL说明attribute stringtitle;attribute integeryear;attribute i
8、ntegerlength;attribute enum Film color,blackAndWhite filmType;relationship Set stars inverse Star:starredIn;/Star与Movie的联系;,34,联系的多重性N:N在联系中,每个C都和D的集合有关,而在反向联系中,每个D都和C的集合有关N:1在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和C的集合有关1:1 在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和唯一的C有关,35,Interface Moiverelationship Set starsinverse
9、Star:staredIn;relationship Studio ownedByinverse Studio:owns;Interface Starrelationship Set staredIninverse Moive:stars;Interface Studiorelationship Set ownsinverse Moive:ownedBy;,36,ODL中的类型基本类型原子类型接口类型结构类型,可由以下类型组合而成集合无重复,次序无关包可重复,次序无关列表可重复,次序相关数组结构,37,2.2 实体联系图(E/R),用图形的方法,描述实体及实体间的联系世界由一组称作实体的基本对
10、象及这些对象间的联系组成元素实体(Entity)客观存在并可相互区别的事件或物体对应于ODL中的对象实体集(Entity Set)同类(具有相同类型、相同性质)实体的集合对应于ODL中的类用矩形表示,38,2.2 实体联系图(E/R),元素属性(Attribute)实体所具有的某一特性用与实体集相连的椭圆表示联系(Relationship)实体集之间的关联可涉及多个实体集可表示双向的联系用与相应的实体集相连的菱形表示,39,Movies,Stars,Stars-in,lenght,filmType,title,year,name,address,40,E/R联系的多重性N与1的表示,Movie
11、s,Stars,Stars-in,Studios,Presidents,Runs,Movies,Studios,Owns,41,联系的多向性E/R图能方便地描述两个以上实体集间的联系,42,联系中的角色实体集在联系中的作用参与联系的实体集互异只标注联系名同一实体集在一个联系中多次出现标注联系名及角色名,43,联系中的属性联系中可以包含属性由联系而产生的属性可为由联系产生的属性建立实体集,Stars,Movies,Contracts,Studios,salary,44,将多向联系转换成二元联系新增连接实体集引入连接实体集至原实体集的多对一的联系,45,2.3 设计原则,真实性设计应当忠于规范存什
12、么避免冗余任何事物只表达一次避免引入过多的元素选择合适的元素类型属性?类/实体集?联系集?,46,2.4 子类,特殊化与概括子类与超类属性的继承,47,ODL中的子类子类继承其超类的所有特性属性联系Interface Cartoon:Movie relationship set voices;,48,ODL中的多重继承类的层次一个类可以有多个超类Interface MurderMystery:Movieattribute string weapon;Interface Cartoon-MurderMystery:Cartoon,MurderMystery,49,E/R中的子类IsaE/R中的继
13、承,50,2.5 对约束的建模,建模包含对现实世界的对象及联系的描述,也包含对它们的一些约束键码单值约束参照完整性约束域的约束一般约束,51,键码在类的范围内唯一标识一个对象(或者在实体集的范围内唯一标识一个实体)的属性或属性集一个类中的两个对象(或一个实体集中的两个实体)在构成键码的属性集上取值不能相同ODL中键码的表示interface Movie(key(title,year),52,超码一个或多个属性的集合,能在一个实体集中唯一地标识一个实体一个类(或实体集)中可能有多个超码候选码其任意真子集都不为超码的超码一个类(或实体集)中可能有多个候选码主码从候选码中选取的一个,一个类(实体集)
14、中只有一个主码E/R图中只能表示主码:主码属性名加上下划线,53,单值约束要求某个角色的值是唯一的,如键码当一个属性为单值时可以要求该属性值存在(not null)可以允许该属性值任选(null)构成键码的属性,必须有值存在(not null),54,参照完整性约束要求由某个对象引用的值在数据库中确实存在参照与被参照、引用与被引用参照完整性约束的操作(各产品不同)禁止删除被引用的对象级联删除/修改E/R图中参照完整性的表示,55,2.6 弱实体集,弱实体集的属性不足以形成主码有主码的实体集称为强实体集弱实体集只有作为一对多联系的一部分(多)才有意义弱实体集与其拥有者之间的联系是标识性联系,56
15、,2.7 关于联系集,联系集的成份参加联系的实体集的主码联系集的属性联系中属性的决策(二元联系)1:1 联系集的属性:放到任意一端1:N 联系集的属性:放到 N 端N:M联系集的属性:只能留在联系集中,57,联系集的取舍(二元联系)1:1联系:将一端的主码作为另一端的属性1:N联系:将一端的主码作为 N 端的属性N:M联系:必须保留联系集联系集的键码(二元联系)1:1联系:任意一端的主码1:N联系:N端的主码N:M联系:参加联系的所有实体集的主码,58,ODL、E/R建模关心:存什么数据、关系如何不关心:用什么数学模型、DBMS产品透过E/R图,便于与用户交流,59,作业思考所有带*的练习,并
16、上网查阅解答练习2.1.7/2.2.8/2.3.2/2.5.3/2.5.4/2.6.4(a),第三章 关系数据模型The Relational Data Model,61,ODL、E/R到关系模型的转换关系模型的设计理论,62,3.1 关系模型的基本概念,逻辑数据模型是用户从数据库所看到的数据模型与DBMS有关层次、网状、关系、面向对象,63,关系数据模型数据结构两维的扁平表数据操作关系代数关系演算数据的完整性实体完整性参照完整性用户定义的完整性,64,现实世界的实体以及实体间的各种联系均用关系表示关系数据库系统是建立在关系模型上的数据库系统关系数据库是表的集合,65,模型和模式数据模型是描述
17、数据的手段数据模式是用给定的数据模型对具体数据的描述属性元组域型值联系关系的联系是通过关联属性的值连接的,66,Student(sno,sname,ssex,sage,sdept),67,关系实例关系 实体集、类关系的实例 元组的集合元组 实体、对象数据库实例 给定时刻数据库中数据的一个快照,68,3.2 从ODL设计到关系设计,ODL设计是概念设计的产物(Using OO)ODL描述 关系模式 实现,69,ODL属性 关系属性原子属性类 关系属性 属性非原子属性(复杂数据类型)必须转换成原子属性记录结构结构的每个item对应一个属性多值集合针对每个值建立一个元组会产生冗余 需规范化,70,O
18、DL属性 关系属性(续)其他类型属性(包、数组、列表)针对每个元素建立一个元组增加一个记数属性,表示包的成员号定长数组扩展为多个属性,71,ODL联系 关系描述单值联系联系的类型为一个类增加一个(组)属性,存放相关类的键码属性(组)将类之间的联系 关系之间的联系,72,ODL联系 关系描述(续)多值联系联系的类型为某个类的集合类型1:N、N:M增加一个键码属性为集合的每个成员建立一个元组其他原始属性重复多次(与集合成员的个数相等)导致大量的冗余,需要规范化,73,键码是必需的选择合适的属性(组)作为键码学号、工号、身份证号.增加计数属性联系与反向联系在联系的双方均有联系的描述 冗余ODL:双向
19、描述E/R:相关的键码值进行连接,74,3.3 从E/R图到关系的设计,E/R与ODL描述的差异联系作为独立的概念 联系嵌套在类定义中结构化数据 允许使用集合、聚集类型联系可以有属性 联系无属性E/R 关系模式 实现,75,实体集到关系的转换非弱实体集实体集名 关系名属性 属性弱实体集为弱实体集建立关系属性:弱实体集的属性+辅助实体集的键码,76,E/R联系到关系的转换用关系表示联系联系名 关系名属性 属性+相关实体集的键码属性(集)多向联系的转换注意,属性的命名,77,3.4 子类结构到关系的转换,ODL中的子类一个对象完全属于一个类子类继承其超类的特性E/R中的子类分层结构通过与ISA联系
20、有关的实体集进行扩展,78,用关系表示ODL子类每个子类都有自己的关系包含该子类的所有特性(含继承特性)在一个关系中含有所有属性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,studi
21、oName,starName,voice,weapon),79,在关系模型中表示 isa 联系子类的信息被分散到上层的几个关系中与ISA联系有关的实体集拥有相同的键码Movie(title,year,length,filmType)Cartoon(title,year)MurderMystery(title,year,weapon)Voice(title,year,name),80,使用NULL值合并关系将关系描述成一个全集属性:所有可能的属性描述:允许Null值层次越高,取Null值的属性越多Movie(title,year,length,filmType,studioName,starNa
22、me,voice,weapon)只是一种方法而已,81,作业思考所有带*的练习,并上网查询解答练习3.2.3/3.3.1/3.4.1/3.5.3/,82,3.5 函数依赖,数据依赖函数依赖多值依赖数据依赖是针对数据模式,而不是特定的实例,83,函数依赖(FD)属性之间的联系假设给定 X 属性的值,就知道 Y的值,那么 X 函数决定 Y如果R的两个元组在属性A1,A2,An上一致,则它们在另一个属性B上也一致,那么 A1,A2,An函数决定B,记作A1A2AnBif A1A2AnB1then A1A2AnB2A1A2An B1 B2.Bm A1A2AnBm,84,关系的键码如果一个或多个属性的集
23、合A1A2An满足如下条件,则该集合为关系R的键码:1.这些属性函数决定该关系的所有其他属性2.A1A2An的任何真子集都不能函数决定R的所有其他属性,85,超键码包含键码的属性集称为超键码,86,寻找关系的键码(来自E/R)来自实体集的关系的键码就是该实体集的键码属性对于二元联系R:N:M,相关两个实体的键码都是R的键码属性N:1,多端实体集的键码是R的加码属性1:1,任意一端实体集的键码是R的键码对于多向联系R:如果多向联系R有一个箭头指向实体集E,则响应的关系中,除了E的键码以外,至少还存在一个键码。,87,寻找关系的键码(来自ODL)来自ODL的关系的键码不一定就是该类的键码属性对于单
24、值联系R:类C有一个指向类D的单值联系,C的关系中包含D的键码。C的键码仍是相应关系的键码对于多值联系R:被引用类的键码加入到引用类的键码组合称为键码,88,3.6 函数依赖规则,分解规则A1A2An B1 B2.Bm等价于A1A2An Bi 合并规则A1A2An Bi等价于A1A2An B1 B2.Bm,89,平凡的函数依赖如果对于函数依赖 A1A2An B,B是A中的一个,则该函数依赖就是平凡的函数依赖平凡依赖是永恒的title,year title非平凡如果B中至少有一个属性不在A中title,year year,length完全非平凡如果B中没有一个属性在A中title,year le
25、ngth,90,计算属性的闭包闭包F的闭包是指F逻辑蕴涵的所有函数依赖的集合,记作F+闭包的意义检验给定的函数依赖是否蕴涵于某个函数依赖集S从给定的函数依赖,可以推导出蕴涵的函数依赖求闭包例:对关系R(A,B,C,D,E,F),给定函数依赖ABC,BCAD,DE,CFB,求 A,B+,91,关系的基与最小基任何一个能从中导出关系的所有依赖的给定依赖集,称为该关系的一个基如果一个基的任何真子集都不能推导出该关系的依赖全集,则称此基为最小基求函数依赖的最小基例:对关系R(A,B,C,D),有ABC,BC,A B,AB C,AC D,求最小函数依赖集,92,3.7 关系数据库模式设计,什么是好的数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 基础教程 PPT 完整版
链接地址:https://www.31ppt.com/p-6578615.html