《数据库理论基础课件》由会员分享,可在线阅读,更多相关《数据库理论基础课件(61页珍藏版)》请在金锄头文库上搜索。
1、数据库理论基础数据库理论基础第六章第六章数据库理论基础第六章数据库理论基础数据库理论基础 6. .1 数据管理技术的发展及各阶段的特点数据管理技术的发展及各阶段的特点 6.2 数据模型数据模型 6. .3 关系数据库理论基础关系数据库理论基础 6. .4 数据库系统结构数据库系统结构数据库理论基础 6.1 数据管理技术的发展及各阶段的61 数据管理技术的发展及各阶段的特点数据管理技术的发展及各阶段的特点表6-1 数据管理技术三个阶段的比较人工管理阶段人工管理阶段文件管理阶段文件管理阶段数据库系统管理阶段数据库系统管理阶段应用目的应用目的科学计算科学计算科学计算和数据管理科学计算和数据管理大规模
2、数据管理大规模数据管理计算机硬件条计算机硬件条件件纸带、磁带和卡片纸带、磁带和卡片磁盘和磁鼓磁盘和磁鼓大容量磁盘大容量磁盘计算机软件条计算机软件条件件无操作系统无操作系统具有文件系统和操作系具有文件系统和操作系统统具有操作系统和数据库管理系具有操作系统和数据库管理系统统处理方式处理方式批处理批处理联机实时处理和批处理联机实时处理和批处理分布处理、联机实时处理和批分布处理、联机实时处理和批处理处理数据管理者数据管理者用户(程序员)用户(程序员)文件系统文件系统数据库管理系统数据库管理系统数据面向的对数据面向的对象象某一应用程序某一应用程序某一应用某一应用现实世界现实世界数据共享程度数据共享程度无
3、共享,冗余度大无共享,冗余度大共享性差,冗余度大共享性差,冗余度大共享性好,冗余度小共享性好,冗余度小数据的独立性数据的独立性不独立,完全依赖于不独立,完全依赖于程序程序独立性差独立性差独立性好独立性好数据的结构化数据的结构化无结构无结构记录内有结构,整体无记录内有结构,整体无结构结构整体结构化整体结构化数据控制能力数据控制能力由应用程序控制由应用程序控制主要由应用程序控制主要由应用程序控制由数据库管理系统控制由数据库管理系统控制61 数据管理技术的发展及各阶段的特点表6-1 数据管6.1.1 6.1.1 人工管理阶段人工管理阶段产生的时期产生的时期40年代中年代中 - 50年代中年代中产生的
4、背景产生的背景应用需求应用需求科学计算科学计算硬件水平硬件水平无直接存取存储设备无直接存取存储设备软件水平软件水平没有操作系统没有操作系统处理方式处理方式批处理批处理6.1.1 人工管理阶段产生的时期人工管理阶段(二)人工管理阶段(二)应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.二者一一对应二者一一对应不具有数据独立性不具有数据独立性应用程序与数据间的关系应用程序与数据间的关系人工管理阶段(二)应用程序数据集应用程序数据集应用程人工管理阶段(三)人工管理阶段(三)数据的管理者:应用程序,数据不保存数据的管理者:应用程序,数据不保存数据面向的对象:某一
5、应用程序数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据的结构化:无结构数据控制能力:应用程序控制数据控制能力:应用程序控制人工管理阶段的特点是什么?人工管理阶段的特点是什么?人工管理阶段(三)数据的管理者:应用程序,数据不保存人工管理6.1.2 6.1.2 文件管理阶段文件管理阶段产生的时期产生的时期50年代末年代末- 60年代中年代中产生的背景产生的背景应用需求应用需求科学计算、信息管理科学计算、信息管理硬件水平硬件水平磁盘、磁鼓磁盘、磁鼓软件水
6、平软件水平高级语言和操作系统(有文件系统)高级语言和操作系统(有文件系统)处理方式处理方式联机实时处理、批处理联机实时处理、批处理6.1.2 文件管理阶段产生的时期文件管理阶段(二)文件管理阶段(二)应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.应用程序与数据间的关系应用程序与数据间的关系文件管理阶段(二)应用程序文件应用程序文件2应用程序文件管理阶段(三)文件管理阶段(三)文件系统阶段的数据管理有以下文件系统阶段的数据管理有以下特点特点数据的管理者:文件系统,数据可长期保存数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据面
7、向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构数据的结构化:记录内有结构,整体无结构整体无结构数据的独立性:独立性差,若数据的逻辑结构改变则数据的独立性:独立性差,若数据的逻辑结构改变则必须修改应用程序必须修改应用程序数据控制能力:主要由应用程序控制数据控制能力:主要由应用程序控制随着数据管理规模的扩大,数据量急剧增加,文件系统显随着数据管理规模的扩大,数据量急剧增加,文件系统显露出露出三个缺陷三个缺陷数据冗余(数据冗余(redundancy)数据不一致(数据不一致(inconsistency)数据联系弱(数据联系弱(po
8、or data relationship)文件管理阶段(三)文件系统阶段的数据管理有以下特点6.1.3 6.1.3 数据库系统管理阶段数据库系统管理阶段数据管理技术进入数据库阶段的标志是数据管理技术进入数据库阶段的标志是20世纪世纪60年代末的三件大事年代末的三件大事1968年美国年美国IBM公司推出公司推出层次模型层次模型的的IMS系统系统1969年美国年美国CODASYL组织发布了组织发布了DBTG报告,总结了报告,总结了当时各式各样的数据库,提出当时各式各样的数据库,提出网状模型网状模型1970年美国年美国IBM公司的公司的E.F.Codd 连续发表论文,提出连续发表论文,提出关关系模型
9、系模型,奠定了关系数据库的理论基础,奠定了关系数据库的理论基础产生的背景产生的背景应用背景应用背景大规模管理大规模管理硬件背景硬件背景大容量磁盘大容量磁盘软件背景软件背景有数据库管理系统有数据库管理系统处理方式处理方式联机实时处理联机实时处理,分布处理分布处理,批处理批处理6.1.3 数据库系统管理阶段数据管理技术进入数据库阶段的数据库管理阶段(二)程序和数据间的联系程序和数据间的联系 应用程序1应用程序2. . . .应用程序nDBMSDBMS数据库数据库Database Management System数据库管理系统数据库管理系统数据库管理阶段(二)程序和数据间的联系 应用程序1应用程序
10、2数据库管理阶段(三)数据库管理阶段(三)数据库阶段的数据管理具有以下数据库阶段的数据管理具有以下特点特点数据的管理者:数据的管理者:DBMS数据面向的对象:现实世界数据面向的对象:现实世界数据的共享程度:共享性高数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的逻辑独立性数据的独立性:高度的物理独立性和一定的逻辑独立性数据的结构化:采用数据模型表示复杂的数据结构,整体结数据的结构化:采用数据模型表示复杂的数据结构,整体结构化构化数据控制能力:由数据控制能力:由DBMS统一管理和控制,提供数据库的统一管理和控制,提供数据库的并并发控制发控制,数据库的恢复数据库的恢复,数据的完整性数
11、据的完整性和和数据安全性等功能数据安全性等功能数据库系统为用户提供了方便的用户接口。数据库系统为用户提供了方便的用户接口。数据库管理阶段(三)数据库阶段的数据管理具有以下特点数据库管理阶段(四)数据库管理阶段(四)数据库应用的一般结构数据库应用的一般结构用户数据库数据库管理阶段(四)数据库应用的一般结构用户数据库DBMS数6.2 数据模型数据模型6.2.1 6.2.1 概念模型概念模型6.2.2 6.2.2 数据模型数据模型6.2 数据模型6.2.1 概念模型事物概念模型和数据模型的关系事物概念模型和数据模型的关系现实世界现实世界信息世界信息世界数据世界数据世界抽象化抽象化数据化数据化(概念模
12、型)(概念模型)(数据模型)(数据模型)(事物)(事物)事物概念模型和数据模型的关系现实世界信息世界数据世界抽象化数数据模型的概念数据模型的概念根据应用目的,模型分为两个层次根据应用目的,模型分为两个层次:概念模型概念模型( (信息模型信息模型) )独立于计算机独立于计算机实现的,只用来描述和组织所关心实现的,只用来描述和组织所关心的信息结构的概念数据模型的信息结构的概念数据模型对应于信息世界对应于信息世界数据模型数据模型直接面向直接面向计算机系统计算机系统的,描述数据库中数据的逻的,描述数据库中数据的逻辑结构的基本数据模型辑结构的基本数据模型对应于数据世界对应于数据世界数据模型的概念根据应用
13、目的,模型分为两个层次:6.2.1 6.2.1 概念模型概念模型信息世界中的基本概念信息世界中的基本概念 (1) 实体(实体(Entity) (2) 实体集(实体集(Entity Set) (3) 属性(属性(Attribute) (4) 关键字(关键字(Key) (5) 域(域(Domain) (6) 实体型(实体型(Entity Type)6.2.1 概念模型信息世界中的基本概念概念模型(二)概念模型(二)概念模型反映概念模型反映实体型及其联系实体型及其联系的结构形式的结构形式联系联系(Relationship):两类:两类实体内部的联系实体内部的联系实体之间的联系实体之间的联系两个两个实
14、体型之间实体型之间的联系可分为三类:的联系可分为三类:1对对1联系联系(1:1)1对多联系对多联系(1:n)多对多联系多对多联系(m:n)概念模型(二)概念模型反映实体型及其联系的结构形式概念模型概念模型实体联系模型实体联系模型1对对1联系联系定义:若对于实体集定义:若对于实体集A中的每一个实体,实体中的每一个实体,实体集集B中中至多至多有一个实体有一个实体与之联系,反之亦然,与之联系,反之亦然,则称实体集则称实体集A与实体集与实体集B具有一对一联系,记具有一对一联系,记为为1:1。实体型实体型A联系名联系名实体型实体型B11领导领导系主任系主任系系11概念模型实体联系模型1对1联系实体型A联
15、系名实体型B11概念模型概念模型实体联系模型实体联系模型1对多联系对多联系定义:若对于实体集定义:若对于实体集A中中的每一个实体,实体集的每一个实体,实体集B中有中有n个实体个实体(n0)与之联与之联系,反之,对于实体集系,反之,对于实体集B中的每一个实体,实体集中的每一个实体,实体集A中中至多至多只有一个实体与只有一个实体与之联系,则称实体集之联系,则称实体集A与与实体集实体集B具有一对多联系,具有一对多联系,记为记为1:n。实体型实体型A联系名联系名实体型实体型B1n包括包括班级班级学生学生1N概念模型实体联系模型1对多联系实体型A联系名实体型B1n概念模型概念模型实体联系模型实体联系模型
16、多对多联系多对多联系定义:若对于实体集定义:若对于实体集A中的每一个实体,中的每一个实体,实体集实体集B中有中有n个实个实体体(n0)与之联系,与之联系,反之,对于实体集反之,对于实体集B中的每一个实体,实中的每一个实体,实体集体集A中也有中也有m个实个实体体(m0)与之联系,与之联系,则称实体集则称实体集A与实体与实体集集B具有多对多联系,具有多对多联系,记为记为m:n。实体型实体型B实体型实体型A联系名联系名mn课程号课程号选课选课学生学生课程课程MN学号学号姓名姓名性别性别学分学分课程名课程名成绩成绩概念模型实体联系模型多对多联系实体型B实体型A联系名mn6.2.2 6.2.2 数据模型
17、数据模型数据模型的三要素数据模型的三要素数据结构数据结构(最重要最重要)数据操作数据操作检索检索更新更新(删除、插入、更改删除、插入、更改)数据的完整性约束数据的完整性约束6.2.2 数据模型数据模型的三要素数据模型的分类数据模型的分类当前流行的基本数据模型有当前流行的基本数据模型有4类:类:层次模型层次模型 ( (树树) )网状模型网状模型 ( (图图) )关系模型关系模型 (Relational Model) ( (表表) )面向对象模型面向对象模型数据模型的分类当前流行的基本数据模型有4类:层次模型层次模型最早使用的一种模型最早使用的一种模型数据结构是一棵有向树数据结构是一棵有向树特点:
18、特点:ABA_CC层次模型最早使用的一种模型ABA_CC层次模型举例层次模型举例系号系名负责人专业代号专业名教师编号姓名职务学号姓名性别课号课程名学时层次模型举例系号系名负责人专业代号专业名教师编号姓名职务学号网状模型网状模型数据结构是一个有向图数据结构是一个有向图特点:特点:能表示实体之间的多种复杂联系能表示实体之间的多种复杂联系缺点缺点: 编写应用程序比较复杂编写应用程序比较复杂,需熟悉数据库的逻需熟悉数据库的逻辑结构辑结构AA_BB_CBC网状模型数据结构是一个有向图AA_BB_CBC关系模型关系模型数据的逻辑结构是数据的逻辑结构是二维表有严格的数学基础及关系数据理论有严格的数学基础及关
19、系数据理论由若干个关系模式组成由若干个关系模式组成市场上典型的关系市场上典型的关系DBMSDBMS产品产品: : DB2,ORACLE,SYBASE,SQL Server,InformixDB2,ORACLE,SYBASE,SQL Server,Informix等等微机型产品微机型产品: Foxpro,Access,: Foxpro,Access, Paradox Paradox等等关系模型数据的逻辑结构是二维表数据模型中基本术语数据模型中基本术语(1)(1)字段(字段(fieldfield) 标记实体属性的命名单位标记实体属性的命名单位称为字段,或数据项。称为字段,或数据项。(2)(2)记录
20、(记录(recordrecord) 字段的有序集合称为记录字段的有序集合称为记录(3)(3)文件(文件(filefile) 同一类记录的集合称为文件同一类记录的集合称为文件(4)(4)关键码(关键码(keykey) 能惟一标识文件中每个记能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称录的字段或字段集,称为记录的关键码(简称为键)为键)数据模型中基本术语(1)字段(field) 标记实体属性的命6.3 关系数据库理论基础关系数据库理论基础6.3.1 关系的定义关系的定义6.3.2 关系模型的常用术语关系模型的常用术语6.3.3 关系代数关系代数6.3.4 关系的完整性关系的完整性
21、6.3 关系数据库理论基础6.3.1 关系的定义6.3.1 关系的定义关系的定义1域(域(Domain)2笛卡尔积(笛卡尔积(Cartesian Product)3关系关系6.3.1 关系的定义1域(Domain)域(域(Domain)域是一组具有相同数据类型的值的集合域是一组具有相同数据类型的值的集合例如例如整数、实数、字符串、大于整数、实数、字符串、大于0且小于且小于500的的整数整数“男男”,“女女” 域(Domain)域是一组具有相同数据类型的值的集合笛卡尔积(笛卡尔积(Cartesian Product)给给定定一一组组域域D1,D2,Dn,则则D1,D2,Dn的笛卡尔积表示为:的笛
22、卡尔积表示为: D1D2Dn=(d1,d2, ,dn) |diDi, i=1,2, ,n 其其中中每每一一个个(d1,d2, ,dn)叫叫作作一一个个n元元组组或或简简称元组,元组中的每一个值称元组,元组中的每一个值di叫作一个分量叫作一个分量笛卡尔积可以表示为一张二维表笛卡尔积可以表示为一张二维表表中每一行即对应一个元组表中每一行即对应一个元组表中的每一列对应一个域表中的每一列对应一个域笛卡尔积(Cartesian Product)给定一组域D1D1=男人集合男人集合Man=王兵,李军,张伟王兵,李军,张伟D2=女人集合女人集合Woman=丁梅,吴芳丁梅,吴芳D3=孩子集合孩子集合Child
23、ren=王一,李一,李二王一,李一,李二D1D2D3=(王兵,丁梅,王一),(王兵,(王兵,丁梅,王一),(王兵,丁梅,李一),(王兵,丁梅,李二),(王丁梅,李一),(王兵,丁梅,李二),(王兵,吴芳,王一),(王兵,吴芳,李一),兵,吴芳,王一),(王兵,吴芳,李一),(王兵,吴芳,李二),(李军,丁梅,王一)(王兵,吴芳,李二),(李军,丁梅,王一),(李军,丁梅,李一),(李军,丁梅,李,(李军,丁梅,李一),(李军,丁梅,李二),(李军,吴芳,王一),(李军,吴芳,二),(李军,吴芳,王一),(李军,吴芳,李一),(李军,吴芳,李二),(张伟,丁李一),(李军,吴芳,李二),(张伟,
24、丁梅,王一),(张伟,丁梅,李一),(张伟,梅,王一),(张伟,丁梅,李一),(张伟,丁梅,李二),(张伟,吴芳,王一),(张丁梅,李二),(张伟,吴芳,王一),(张伟,吴芳,李一),(张伟,吴芳,李二)伟,吴芳,李一),(张伟,吴芳,李二)D1=男人集合Man=王兵,李军,张伟D2=女人集合W该该D1,D2,D3的笛卡尔积的笛卡尔积的基数的基数=323=1823=18,即有,即有1818个个元组,元组,这这18个元组可以组成一张二维表。个元组可以组成一张二维表。ManWomanChildren王兵王兵丁梅丁梅王一王一王兵王兵丁梅丁梅李一李一王兵王兵丁梅丁梅李二李二王兵王兵吴芳吴芳王一王一王兵
25、王兵吴芳吴芳李一李一王兵王兵吴芳吴芳李二李二李军李军丁梅丁梅王一王一李军李军丁梅丁梅李一李一李军李军丁梅丁梅李二李二李军李军吴芳吴芳王一王一李军李军吴芳吴芳李一李一李军李军吴芳吴芳李二李二张伟张伟丁梅丁梅王一王一张伟张伟丁梅丁梅李一李一张伟张伟丁梅丁梅李二李二张伟张伟吴芳吴芳王一王一张伟张伟吴芳吴芳李一李一张伟张伟吴芳吴芳李二李二该D1,D2,D3的笛卡尔积的基数=323=18 ,即有1关系关系D1D2Dn的的子子集集叫叫作作在在域域D1,D2,Dn上上的的关关系系,表表示示为为:R(D1,D2,Dn)。其中其中R表示关系名,表示关系名,n是关系的是关系的度度。关关系系是是笛笛卡卡尔尔积积的的
26、有有限限子子集集,所所以以关关系系也也是是一一张张二二维维表表。表表中中的的每每列列对对应应一一个个域域,表表中中的的每每行行对对应应一一个个元元组组。由由于于域域可可以以相相同同,为为了了加加以以区分,必须给每列起一个名字,称为属性。区分,必须给每列起一个名字,称为属性。关系D1D2Dn 的子集叫作在域D1,D2,Dn上例例如如针针对对Man、Woman、Children集集合合,存存在在这这样样事事实实:王王兵兵与与丁丁梅梅是是一一对对夫夫妻妻,拥拥有有子子女女王王一一;李李军军和和吴吴芳芳是是一一对对夫夫妻妻,拥拥有有李李一一和和李李二二两两个个子子女女,则则从从原原笛笛卡卡尔尔积积中中
27、可可以以得得到到一一个个子集子集R:R=(王王兵兵,丁丁梅梅,王王一一),(李李军军,吴吴芳芳,李一),(李军,吴芳,李二)李一),(李军,吴芳,李二) R即即称称为为一一个个关关系系,若若将将该该关关系系命命名名为为Family,可得到二维表,可得到二维表6-3。例如针对Man、Woman、Children集合,存在这样事ManWomanChildren王兵丁梅王一李军吴芳李一李军吴芳李二 关系关系FamilyManWomanChildren 王兵丁梅王一李军吴芳李一李军关系具有以下性质关系具有以下性质(1)关关系系中中每每一一列列的的值值都都是是同同一一类类型型的的数数据据,来自同一个域。
28、来自同一个域。(2)关关系系中中不不同同的的列列可可以以对对应应同同一一个个域域,但但必必须给予不同的属性名。须给予不同的属性名。(3)关系中任意两个元组不能完全相同。)关系中任意两个元组不能完全相同。(4)关系中元组的次序可以随意交换。)关系中元组的次序可以随意交换。(5)关系中列的次序可以任意交换。)关系中列的次序可以任意交换。(6)关系中每一个分量必须是不可分的数据项。)关系中每一个分量必须是不可分的数据项。关系具有以下性质(1)关系中每一列的值都是同一类型的数据,来6.3.2 6.3.2 关系模型的常用术语关系模型的常用术语高雪部门编号部门编号部门部门系主任系主任0101基础部庞新02
29、02自动化系胡敏0301计算机系0302信息工程系韩克0303管理系任强高雪高雪表表6-5 系部一览系部一览6.3.2 关系模型的常用术语高雪部门编号部门系主任010(1)关系关系:即二维表格,如表:即二维表格,如表6-5。(2)元组元组:表中的一行。:表中的一行。(3)属属性性:表表中中的的一一列列,通通常常每每列列有有一一个个列列名名,即即属属性性名名,如表如表6-5对应三个属性:部门编号、部门和系主任。对应三个属性:部门编号、部门和系主任。(4)主主键键:表表中中可可以以惟惟一一确确定定一一个个元元组组的的属属性性组组,如如表表6-5中中部部门门编编号号,只只要要给给定定一一个个确确定定
30、的的部部门门编编号号,就就可可以以确确定定该该部部门门的的部部门门名名称称及及电电话话等等其其它它属属性性值值。注注意意:主主键键可可以以是是一一个属性,也可能由几个属性构成。个属性,也可能由几个属性构成。(5)域域:属性的取值范围。:属性的取值范围。(6)关系模式关系模式:对关系的描述,其表示形式为:对关系的描述,其表示形式为: 关系名(属性关系名(属性1,属性,属性2,属性,属性n) 例如表例如表6-5的关系可描述为:的关系可描述为: 系部一览(部门编号、部门、系主任)系部一览(部门编号、部门、系主任)(1)关系:即二维表格,如表6-5。6.3.3 6.3.3 关系代数关系代数关系代数是由
31、一组以关系作为运算对象关系代数是由一组以关系作为运算对象的特定运算组成的的特定运算组成的传统的集合运算传统的集合运算已知集合已知集合R、S并(并(R S):同属于):同属于R、S的元组的集合的元组的集合差(差(R-S) :属于:属于R 而不属于而不属于S 的所有元组组成的的所有元组组成的集合集合交(交(R S) :同时属于:同时属于R、S 的元组组成的集合的元组组成的集合笛卡尔积(笛卡尔积(R S):关系中的元组为每一个):关系中的元组为每一个R中的中的元组与所有的元组与所有的S 中的元组的组合中的元组的组合6.3.3 关系代数关系代数是由一组以关系作为运算对象的特例例6-1 已知关系已知关系
32、R、S和和T如表如表6-7、6-8及及6-9所示,求出所示,求出RS、RS、R-S和和RT。表6-7 关系RABCDA1B1C1D1A1B2C2D2A2B2C1D3表表6-7 关系关系R ABCDA1B2C2D1A1B3C2D2A2B2C1D3表6-9 关系TBEB1E1B2E2表6-8 关系S例6-1 已知关系R、S和T如表6-7、6-8及6-9所示,表表6-10 RS ABCDA1B1C1D1A1B2C2D2A2B2C1D3A1B2C2D1A1B3C2D2表6-10 RS ABCDA1B1C1D1A1B2C2D表6-11 关系RSABCDA2B2C1D3表6-12 关系R-SABCDA1B
33、1C1D1A1B2C2D2表6-11 关系RSABCDA2B2C1D3表6-12 关表表6-13 关系关系RT R.AR.BR.CR.DT.BT.EA1B1C1D1B1E1A1B1C1D1B2E2A1B2C2D2B1E1A1B2C2D2B2E2A2B2C1D3B1E1A2B2C1D3B2E2表6-13 关系RT R.AR.BR.CR.DT.BT.E专门的关系运算专门的关系运算投影投影关关系系R上上的的投投影影是是从从R中中选选择择若若干干属属性性列列组组成新的关系,记作:成新的关系,记作: A A(R)= tA | t R 其中其中A为为R中的属性列中的属性列专门的关系运算投影关系R上的投影是
34、从R中选择若干属性列组例例6-2 已知关系已知关系S如表如表6-8所示,所示,计算出计算出A A,C C(S)。)。表6-8 关系SABCDA1B2C2D1A1B3C2D2A2B2C1D3ACA1C2A2C1表表6-14 关系关系A A,c c(S)注意:关系中任意两个注意:关系中任意两个元组不能完全相同,因元组不能完全相同,因此进行投影运算后得到此进行投影运算后得到的关系应消去重复元组。的关系应消去重复元组。 例6-2 已知关系S如表6-8所示,计算出A,C(S)。表专门的关系运算专门的关系运算选择选择选择是在关系选择是在关系R中选择满足给定条件的元组,记作:中选择满足给定条件的元组,记作:
35、 (R)= t | tR F(t)=真真 其其中中F表表示示选选择择条条件件,它它是是一一个个逻逻辑辑表表达达式式,取取逻逻辑辑值值“真真”或或“假假”。F是是由由比比较较运运算算符符或或逻逻辑辑运运算算符符连连接接组组成成的的表表达达式式,运运算算对对象象可可以以是是常常量量、变变量量(属属性性名名)或或简简单单函函数数,属属性性名名也也可可以以用用其其序号来代替。序号来代替。 选选择择运运算算实实际际上上就就是是从从关关系系R中中选选取取使使逻逻辑辑表表达达式式F为真的元组,它是对关系的水平分割。为真的元组,它是对关系的水平分割。专门的关系运算选择选择是在关系R中选择满足给定条件的元组例6
36、-3 已知关系已知关系S如表如表6-8所示,所示,计算出计算出A=A1(R)。)。表表6-15 关系关系A=A1(R)ABCDA1B1C1D1A1B2C2D2表表6-8 关系关系SABCDA1B2C2D1A1B3C2D2A2B2C1D3例6-3 已知关系S如表6-8所示,计算出A=A1(R专门的关系运算专门的关系运算连接连接连连接接是是从从两两个个关关系系的的笛笛卡卡尔尔积积中中选选取取属属性间满足一定条件的元组,记作:性间满足一定条件的元组,记作:专门的关系运算连接例6-4 已知关系已知关系R和和S如表如表6-16和和6-17所示,计算出所示,计算出RS。表6-16 关系RABC123456
37、789ECD232563985表6-17 关系SABCD12324563表表6-18 关系关系RS例6-4 已知关系R和S如表6-16和6-17所示,计算出R专门的关系运算专门的关系运算除除设设关关系系R(X,Y)和和S(Y,Z),其其中中X,Y,Z为为属属性性组组。R中中的的Y与与S中中的的Y为为对对应应的的属属性性,可可以以有有不不同同的的属属性性名名,但但必必须须出出自自相相同同的的域域集集。则则R与与S的的除除运运算算得到一个新的关系得到一个新的关系P(X),记作:),记作:专门的关系运算除设关系R(X,Y)和S(Y,Z),其中X例例6-5 已知关系已知关系R、S1和和S2如表如表6-
38、19、表表6-20和表和表6-21所示,计算出所示,计算出R S1及及R S2。ABCa1Aa2Ba3Cb2Cb3Ac1Cd3Be2B表表6-19 关系关系RB3表表6-20 关系关系S1ACaC b AdB表表6-22 关系关系R S1例6-5 已知关系R、S1和S2如表6-19、表6-20和表表表6-23 关系关系R S2Aae表表6-21 关系关系S2BC2BABCa1Aa2Ba3Cb2Cb3Ac1Cd3Be2B表表6-19 关系关系R表6-23 关系R S2Aae表6-21 关系S2BC2例例6-6 使用关系运算表示出选修使用关系运算表示出选修“计算机计算机基础基础”课程的学生名单。课
39、程的学生名单。分分析析:首首先先对对“课课程程一一览览”表表进进行行选选择择和和投投影影运运算算,得得到到一一个个新新的的关关系系R1R1,其其内内容容是是课课程程名名为为“计计算算机机基基础础”的的课课程程号号,将将此此关关系系(R1R1)与与“学学生生成成绩绩”表表进进行行自自然然连连接接运运算算及及投投影影运运算算后后,得得到到选选修修“计计算算机机基基础础”课课程程的的学学生生的的学学号号,再再与与“学学生生情情况况”表表进进行行自自然连接运算和投影运算,可得到学生姓名。然连接运算和投影运算,可得到学生姓名。R1 = =课程号课程号(课程名课程名=计算机基础计算机基础(课程一览)(课程
40、一览)R2=学号学号(R1学生成绩)学生成绩)R3=姓名姓名(学生情况(学生情况R2)例6-6 使用关系运算表示出选修“计算机基础”课程的学生名6.3.4 6.3.4 关系的完整性关系的完整性实体完整性实体完整性参照完整性参照完整性用户自定义完整性用户自定义完整性6.3.4 关系的完整性实体完整性参照完整性参照完整性 参照完整性 6.4 数据库系统结构数据库系统结构6.4.1 数据库系统的三级模式结构数据库系统的三级模式结构6.4.2 数据库系统的两级映像数据库系统的两级映像6.4 数据库系统结构6.4.1 数据库系统的三级模式结6.4.1 数据库系统的三级模式结构数据库系统的三级模式结构三级
41、模式(数据抽象的三个级别)三级模式(数据抽象的三个级别)外模式(用户模式)外模式(用户模式)模式(逻辑模式)(概念模式)模式(逻辑模式)(概念模式)内模式(存储模式)内模式(存储模式)6.4.1 数据库系统的三级模式结构三级模式(数据抽象的三6.4.2 数据库系统的两级映像数据库系统的两级映像两级映像两级映像外模式外模式/模式映像模式映像模式模式/内模式映像内模式映像6.4.2 数据库系统的两级映像两级映像数据库的体系结构数据库的体系结构三级模式是处理数据的结构框架(数据库框架)三级模式是处理数据的结构框架(数据库框架)DBMS内模式模 式外模式3外模式2外模式1应用A应用E应用B应用C应用D外模式/ /模式映象模式/ /内模式映象数据库的体系结构三级模式是处理数据的结构框架(数据库框架)D