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