数据库理论基础.ppt_第1页
数据库理论基础.ppt_第2页
数据库理论基础.ppt_第3页
数据库理论基础.ppt_第4页
数据库理论基础.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库理论基础,第六章,数据库理论基础,6.1 数据管理技术的发展及各阶段的特点 6.2 数据模型 6.3 关系数据库理论基础 6.4 数据库系统结构,61 数据管理技术的发展及各阶段的特点,表6-1 数据管理技术三个阶段的比较,6.1.1 人工管理阶段,产生的时期 40年代中 - 50年代中 产生的背景 应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理,人工管理阶段(二),二者一一对应 不具有数据独立性,应用程序与数据间的关系,人工管理阶段(三),数据的管理者:应用程序,数据不保存 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:应用程序控制,人工管理阶段的特点是什么?,6.1.2 文件管理阶段,产生的时期 50年代末- 60年代中 产生的背景 应用需求 科学计算、信息管理 硬件水平 磁盘、磁鼓 软件水平 高级语言和操作系统(有文件系统) 处理方式 联机实时处理、批处理,文件管理阶段(二),应用程序与数据间的关系,文件管理阶段(三),文件系统阶段的数据管理有以下特点 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性差,若数据的逻辑结构改变则必须修改应用程序 数据控制能力:主要由应用程序控制 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷 数据冗余(redundancy) 数据不一致(inconsistency) 数据联系弱(poor data relationship),6.1.3 数据库系统管理阶段,数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事 1968年美国IBM公司推出层次模型的IMS系统 1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型 1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础 产生的背景 应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理,数据库管理阶段(二),程序和数据间的联系,Database Management System 数据库管理系统,数据库管理阶段(三),数据库阶段的数据管理具有以下特点 数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:采用数据模型表示复杂的数据结构,整体结构化 数据控制能力:由DBMS统一管理和控制,提供数据库的并发控制,数据库的恢复,数据的完整性和数据安全性等功能 数据库系统为用户提供了方便的用户接口。,数据库管理阶段(四),数据库应用的一般结构,用户,数据库 应用,DBMS,数据库,6.2 数据模型,6.2.1 概念模型 6.2.2 数据模型,事物概念模型和数据模型的关系,现实世界,信息世界,数据世界,抽象化,数据化,(概念模型),(数据模型),(事物),数据模型的概念,根据应用目的,模型分为两个层次: 概念模型(信息模型) 独立于计算机实现的,只用来描述和组织所关心的信息结构的概念数据模型 对应于信息世界 数据模型 直接面向计算机系统的,描述数据库中数据的逻辑结构的基本数据模型 对应于数据世界,6.2.1 概念模型,信息世界中的基本概念 (1) 实体(Entity) (2) 实体集(Entity Set) (3) 属性(Attribute) (4) 关键字(Key) (5) 域(Domain) (6) 实体型(Entity Type),概念模型(二),概念模型反映实体型及其联系的结构形式 联系(Relationship):两类 实体内部的联系 实体之间的联系 两个实体型之间的联系可分为三类: 1对1联系(1:1) 1对多联系(1:n) 多对多联系(m:n),概念模型实体联系模型,1对1联系 定义:若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。,概念模型实体联系模型,1对多联系 定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。,概念模型实体联系模型,多对多联系 定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。,6.2.2 数据模型,数据模型的三要素 数据结构(最重要) 数据操作 检索 更新(删除、插入、更改) 数据的完整性约束,数据模型的分类,当前流行的基本数据模型有4类: 层次模型 (树) 网状模型 (图) 关系模型 (Relational Model) (表) 面向对象模型,层次模型,最早使用的一种模型 数据结构是一棵有向树 特点:,A,B,A_C,C,层次模型举例,网状模型,数据结构是一个有向图 特点: 能表示实体之间的多种复杂联系 缺点: 编写应用程序比较复杂,需熟悉数据库的逻辑结构,A,A_B,B_C,B,C,关系模型,数据的逻辑结构是二维表 有严格的数学基础及关系数据理论 由若干个关系模式组成 市场上典型的关系DBMS产品: DB2,ORACLE,SYBASE,SQL Server,Informix等 微机型产品: Foxpro,Access, Paradox等,数据模型中基本术语,(1)字段(field) 标记实体属性的命名单位称为字段,或数据项。 (2)记录(record) 字段的有序集合称为记录 (3)文件(file) 同一类记录的集合称为文件 (4)关键码(key) 能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键),6.3 关系数据库理论基础,6.3.1 关系的定义 6.3.2 关系模型的常用术语 6.3.3 关系代数 6.3.4 关系的完整性,6.3.1 关系的定义,1域(Domain) 2笛卡尔积(Cartesian Product) 3关系,域(Domain),域是一组具有相同数据类型的值的集合 例如 整数、实数、字符串、大于0且小于500的整数 “男”,“女”,笛卡尔积(Cartesian Product),给定一组域D1,D2,Dn,则D1,D2,Dn的笛卡尔积表示为: D1D2Dn=(d1,d2, ,dn) |diDi, i=1,2, ,n 其中每一个(d1,d2, ,dn)叫作一个n元组或简称元组,元组中的每一个值di叫作一个分量 笛卡尔积可以表示为一张二维表 表中每一行即对应一个元组 表中的每一列对应一个域,D1=男人集合Man=王兵,李军,张伟 D2=女人集合Woman=丁梅,吴芳 D3=孩子集合Children=王一,李一,李二,D1D2D3=(王兵,丁梅,王一),(王兵,丁梅,李一),(王兵,丁梅,李二),(王兵,吴芳,王一),(王兵,吴芳,李一),(王兵,吴芳,李二),(李军,丁梅,王一),(李军,丁梅,李一),(李军,丁梅,李二),(李军,吴芳,王一),(李军,吴芳,李一),(李军,吴芳,李二),(张伟,丁梅,王一),(张伟,丁梅,李一),(张伟,丁梅,李二),(张伟,吴芳,王一),(张伟,吴芳,李一),(张伟,吴芳,李二),该D1,D2,D3的笛卡尔积的基数=323=18,即有18个元组,这18个元组可以组成一张二维表。,关系,D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为:R(D1,D2,Dn)。其中R表示关系名,n是关系的度。 关系是笛卡尔积的有限子集,所以关系也是一张二维表。表中的每列对应一个域,表中的每行对应一个元组。由于域可以相同,为了加以区分,必须给每列起一个名字,称为属性。,例如针对Man、Woman、Children集合,存在这样事实:王兵与丁梅是一对夫妻,拥有子女王一;李军和吴芳是一对夫妻,拥有李一和李二两个子女,则从原笛卡尔积中可以得到一个子集R: R=(王兵,丁梅,王一),(李军,吴芳,李一),(李军,吴芳,李二) R即称为一个关系,若将该关系命名为Family,可得到二维表6-3。,关系Family,关系具有以下性质,(1)关系中每一列的值都是同一类型的数据,来自同一个域。 (2)关系中不同的列可以对应同一个域,但必须给予不同的属性名。 (3)关系中任意两个元组不能完全相同。 (4)关系中元组的次序可以随意交换。 (5)关系中列的次序可以任意交换。 (6)关系中每一个分量必须是不可分的数据项。,6.3.2 关系模型的常用术语,高雪,高雪,表6-5 系部一览,(1)关系:即二维表格,如表6-5。 (2)元组:表中的一行。 (3)属性:表中的一列,通常每列有一个列名,即属性名,如表6-5对应三个属性:部门编号、部门和系主任。 (4)主键:表中可以惟一确定一个元组的属性组,如表6-5中部门编号,只要给定一个确定的部门编号,就可以确定该部门的部门名称及电话等其它属性值。注意:主键可以是一个属性,也可能由几个属性构成。 (5)域:属性的取值范围。 (6)关系模式:对关系的描述,其表示形式为: 关系名(属性1,属性2,属性n) 例如表6-5的关系可描述为: 系部一览(部门编号、部门、系主任),6.3.3 关系代数,关系代数是由一组以关系作为运算对象的特定运算组成的 传统的集合运算 已知集合R、S 并(R S):同属于R、S的元组的集合 差(R-S) :属于R 而不属于S 的所有元组组成的集合 交(R S) :同时属于R、S 的元组组成的集合 笛卡尔积(R S):关系中的元组为每一个R中的元组与所有的S 中的元组的组合,例6-1 已知关系R、S和T如表6-7、6-8及6-9所示,求出RS、RS、R-S和RT。,表6-7 关系R,表6-7 关系R,表6-9 关系T,表6-8 关系S,表6-10 RS,表6-11 关系RS,表6-12 关系R-S,表6-13 关系RT,专门的关系运算投影,关系R上的投影是从R中选择若干属性列组成新的关系,记作: A(R)= tA | tR 其中A为R中的属性列,例6-2 已知关系S如表6-8所示,计算出A,C(S)。,表6-8 关系S,表6-14 关系A,c(S),注意:关系中任意两个元组不能完全相同,因此进行投影运算后得到的关系应消去重复元组。,专门的关系运算选择,选择是在关系R中选择满足给定条件的元组,记作: (R)= t | tR F(t)=真 其中F表示选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。F是由比较运算符或逻辑运算符连接组成的表达式,运算对象可以是常量、变量(属性名)或简单函数,属性名也可以用其序号来代替。 选择运算实际上就是从关系R中选取使逻辑表达式F为真的元组,它是对关系的水平分割。,例6-3 已知关系S如表6-8所示,计算出A=A1(R)。,表6-15 关系 A=A1(R),表6-8 关系S,专门的关系运算连接,连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组,记作:,例6-4 已知关系R和S如表6-16和6-17所示,计算出RS。,表6-16 关系R,表6-17 关系S,表6-18 关系RS,专门的关系运算除,设关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y为对应的属性,可以有不同的属性名,但必须出自相同的域集。则R与S的除运算得到一个新的关系P(X),记作:,例6-5 已知关系R、S1和S2如表6-19、表6-20和表6-21所示,计算出RS1及R S2。,表6-19 关系R,表6-20 关系S1,表6-22 关系RS1,表6-23 关系R S2,表6-21 关系S2,表6-19 关系R,例6-6 使用关系运算表示出选修“计算机基础”课程的学生名单。,分析:首先对“课程一览”表进行选择和投影运算,得到一个新的关系R1,其内容是课程名为“计算机基础”的课程号,将此关系(R1)与“学生成绩”表进行自然连接运算及投影运算后,得到选修“计算机基础”课程的学生的学号,再与“学生情况”表进行自然连接运算和投影运算,可得到学生姓名。,R1 =课程号(课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论