数据库系统概论9关系数据库_第1页
数据库系统概论9关系数据库_第2页
数据库系统概论9关系数据库_第3页
数据库系统概论9关系数据库_第4页
数据库系统概论9关系数据库_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、授课主题授课主题第第9讲讲计划学计划学时时2关系数据库关系数据库教学目的教学目的和要求和要求1、关系模型的数据结构、操纵、完整性约束、以及、关系模型的数据结构、操纵、完整性约束、以及存储结构。存储结构。2、理解数据库系统的三级模式两级映像结构。、理解数据库系统的三级模式两级映像结构。3、关系数据结构、形式化定义以及完整性规则、关系数据结构、形式化定义以及完整性规则教学重点教学重点和难点和难点关系模式的结构和对三级模式的理解关系模式的结构和对三级模式的理解教学内容教学内容1、最常用的数据模型、最常用的数据模型2、数据库系统结构、数据库系统结构3、数据库系统的组成、数据库系统的组成4、关系数据结构

2、及形式化定义、关系数据结构及形式化定义5、关系的完整性、关系的完整性教学过程教学过程见课件见课件 1.2.4 最常用的数据模型 非关系模型非关系模型 层次模型层次模型(Hierarchical Model) 网状模型网状模型(Network Model) 关系模型关系模型(Relational Model) 面向对象模型面向对象模型(Object Oriented Model) 对象关系模型对象关系模型(Object Relational Model)层次模型l有且只有一个结点没有双亲结点,这个结点称为根结点。l根以外的其他结点有且只有一个双亲结点。R1R2R3R4R5根结点叶结点兄弟结点网状

3、模型l允许一个以上结点没有双亲结点l一个结点可以有多于一个双亲结点。R1R2R3R1R2R3R4R5 1970年美国年美国IBM公司的研究员公司的研究员E.F.Codd首次在首次在“A Relation Model of Data for Shared Data Banks”论文中论文中提出了数据库系统的关系模型,为数据库技术奠定了理论提出了数据库系统的关系模型,为数据库技术奠定了理论基础,因而他于基础,因而他于1981年获得图灵奖。年获得图灵奖。 关系数据库系统采用关系数据库系统采用关系模型关系模型作为数据的组织方式。作为数据的组织方式。 计算机厂商新推出的数据库管理系统几乎都支持关系模型计

4、算机厂商新推出的数据库管理系统几乎都支持关系模型 关系模型重点:理解关系模型的数据结构、操作、完整性约束和存储结构。 学生登记表 英语系1980-5-8男王五05301英语系1979-10-9男李四05202中文系1980-9-6女张三05201院系出生日期性别姓名学号 在在用户观点用户观点下,关系模型中数据的逻辑结构是一张二维下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。表,它由行和列组成。一、关系数据模型的数据结构 关系模式中的一些术语:关系、元组、属性、码、域、分量、关系模式。学生S (学号,姓名,性别,出生日期,院系)课程C(课程号,课程名,学分)选课SC(学号,课程编号,

5、成绩)课程课程学生学生选课选课MN课程号课程名学分成绩姓名性别出生日期院系学号结论:无论是实体还是实体的联系都是用关系来表示,关系模式的概念很单一。注意:关系的概念虽然看起来很简单,但要设计一个没有冗余的好模式,并不容易。由于关系数据库理论支持关系的规范化设计过程,在设计关系模式时,要根据实际要求尽量规范化。规范化的最基本的一条就是关系的每一个分量必须是一个不可再分的数据项,也就是说,不允许表中有表(满足1NF)。如P29 图1.27。二、关系数据模型的操纵与完整性约束 数据操作是数据操作是集合操作集合操作,即操作对象和操作结果都是若干,即操作对象和操作结果都是若干元组的集合,即关系。这种操作

6、方式也称为一次一集合元组的集合,即关系。这种操作方式也称为一次一集合的方式。其操作主要包括查询、插入、删除、更新。的方式。其操作主要包括查询、插入、删除、更新。 关系的完整性约束条件关系的完整性约束条件: 实体完整性、参照完整性、用户实体完整性、参照完整性、用户定义的完整性定义的完整性三、关系数据模型的存储结构 在数据库物理组织中,关系表以在数据库物理组织中,关系表以文件文件形式存储,一般形式存储,一般一个表对应一个操作系统文件,或者多个表存储在一一个表对应一个操作系统文件,或者多个表存储在一个文件中,存储路径对用户隐藏。不同的数据库管理个文件中,存储路径对用户隐藏。不同的数据库管理系统有不同

7、的存储方式。系统有不同的存储方式。返回本节1.3 数据库系统结构 从从数据库管理系统角度数据库管理系统角度看(数据库系统内部的模式结构),看(数据库系统内部的模式结构),数据库系统通常采用三级模式两级映像结构。数据库系统通常采用三级模式两级映像结构。 从数据库从数据库最终用户角度最终用户角度看(数据库系统外部的体系结构)看(数据库系统外部的体系结构) ,数据库系统的结构分为数据库系统的结构分为: 单用户结构单用户结构 主从式结构主从式结构 分布式结构分布式结构 客户服务器客户服务器 浏览器应用服务器数据库服务器多层结构等浏览器应用服务器数据库服务器多层结构等图图1.28 数据库系统的三级模式结

8、构数据库系统的三级模式结构 1.3.2 数据库系统的三级模式两级映像结构用户1用户2用户3用户4用户5外模式A外模式B模式内模式数据库外模式A/模式映像外模式B/模式映像模式/内模式映像一、模式(Schema)也称逻辑模式:是数据库中也称逻辑模式:是数据库中全部数据全部数据的逻辑描述。的逻辑描述。逻辑模式中包含的内容有:逻辑模式中包含的内容有: 标识数据项、记录及文件类型,并命名。标识数据项、记录及文件类型,并命名。 规定数据项在记录中的划分与次序规定数据项在记录中的划分与次序 规定码规定码 说明数据项之间的联系,给记录间的联系命名说明数据项之间的联系,给记录间的联系命名 定义与数据有关的完整

9、性、安全性要求。定义与数据有关的完整性、安全性要求。二、外模式(External Schema) 外模式(也称子模式或用户模式)外模式(也称子模式或用户模式) 数据库用户(包括应用程序员和最终用户)看到和使用数据库用户(包括应用程序员和最终用户)看到和使用的的局部数据局部数据的逻辑结构。的逻辑结构。 是模式的子集,数据库用户的数据视图,是与某一应用是模式的子集,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。有关的数据的逻辑表示。 外模式并不实际存储数据。外模式并不实际存储数据。 外模式的用途外模式的用途每个用户只能看见和访问所对应的外模式中的数据,是每个用户只能看见和访问所对应的外模

10、式中的数据,是保证数据库安全性的一个有力措施。保证数据库安全性的一个有力措施。三、内模式(Internal Schema) 内模式(也称存储模式):是数据内模式(也称存储模式):是数据物理结构和存物理结构和存储方式储方式的描述的描述四、二级映像外模式外模式/模式映像:逻辑独立性模式映像:逻辑独立性模式模式/内模式映像:物理独立性内模式映像:物理独立性三层模式两级映像结构的好处 保证了数据的独立性:物理存储结构改变不用改变应用程序。l逻辑独立性:当模式改变时(例如增加新的关系,新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据

11、数据的外模式编写的,从而也不必修改,保证了数据与程序的逻辑独立性。l物理独立性:当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式作相应改变,可以使模式保持不变,从而应用程序不必改变,保证了数据与程序的的物理独立性。简化用户接口:用户不需了解数据实际存储。有利于数据共享:所有用户使用统一概念模式导出的不同外模式或视图,减少了数据冗余。有利于数据安全保密:每个用户只能操作属于自己的数据视图。返回本节1.4 数据库系统的组成 硬件平台及数据库硬件平台及数据库 -足够大的内存 -足够大的磁盘 -较高的通道能力 软件软件 -DBMS -支持DBMS的OS -具有与数据库

12、接口的高级语言及其编译系统 -以DBMS为核心的应用开发工具 -为特定应用环境开发的数据库应用系统 人员人员 -数据库管理员 -系统分析员和数据库设计人员 -应用程序员 -用户2.1.1 关系2.1 关系数据结构及形式化定义 域(Domain) 域是一组具有相同数据类型的值的集合。例:整数、实数、介于某个取值范围的整数、指定长度的字符串集合、男,女给定一组域给定一组域D1D1,D2D2,DiDi,Dn(Dn(可以有相同的域可以有相同的域) ),则笛卡尔积定义为:则笛卡尔积定义为: D1D1D2D2DiDiDnDn = = (d1d1,d2d2,didi,dndn)diDidiDi,i = 1i

13、 = 1,2 2,nn。其中每个(其中每个(d1d1,d2d2,didi,dndn)叫做)叫做元组元组,元组中,元组中的每一个值的每一个值didi叫做叫做分量分量,didi必须是必须是DiDi中的一个值。中的一个值。 2. 笛卡尔积(Cartesian Product)例:给定两个域:例:给定两个域: D1=D1=姓名姓名=(=(张三,李四,王五张三,李四,王五) )、D2=D2=院系院系=(=(英语系,中文系英语系,中文系) ),则笛卡儿积为,则笛卡儿积为D1D1D2=(D2=(张三,英语张三,英语系系) ),( (张三,中文系张三,中文系) ),( (李四,英语系李四,英语系) ),( (

14、李四,中文系李四,中文系) ),( (王五,英语系王五,英语系) ),( (王五,中文系王五,中文系)显然,笛卡尔积的显然,笛卡尔积的基数基数就是构成该积所有域的基数累乘就是构成该积所有域的基数累乘积。该笛卡尔积的基数是积。该笛卡尔积的基数是M=3M=32=62=6,即该笛卡尔积共有,即该笛卡尔积共有6 6个元个元组,它可组成一张二维表组,它可组成一张二维表, ,如表所示。如表所示。姓名姓名院系院系张三张三英语系英语系张三张三中文系中文系李四李四英语系英语系李四李四中文系中文系王五王五英语系英语系王五王五中文系中文系3、关系(、关系(Relation) 定义定义 笛卡尔积笛卡尔积D1D2DiD

15、n的的有一定意义的子集有一定意义的子集称作称作在域在域D1,D2,Dn上的关系,记作:上的关系,记作:R(D1,D2,Di,Dn) 其中:其中:R为关系名,为关系名,n为关系的度或目(为关系的度或目(Degree),),Di是域组中的第是域组中的第i个域名。个域名。 当当n=1n=1时,称该关系为单元关系;时,称该关系为单元关系; 当当n=2n=2时,称该关系为二元关系;时,称该关系为二元关系; 以此类推,关系中有以此类推,关系中有n n个域,称该关系为个域,称该关系为n n元关系。元关系。姓名姓名院系院系张三张三英语系英语系李四李四中文系中文系王五王五英语系英语系关系中的码:关系中的码:(1

16、)候选码候选码(Candidate key):能唯一标识一个元组的属性组合(2)主码主码(primary key):多个候选码中主要应用属性组。其中的每个属性称为主属性(prime attribute),而不包含任何候选码中的属性称为非码属性(non-key attribute)。(3)合成码合成码(组合码):码含有多个属性(4)外部码外部码(foreign key):不是当前关系的码,但是其他关系中的主码(5)全码全码(all key):所有属性共同组成关系模式的候选码例:学生S (学号,姓名,性别,出生日期,院系) 课程C(课程号,课程名,学分) 选课SC(学号,课程编号,成绩)关系数据库

17、中的关系具有下列性质:(1)(1)列是同质的,即每一列中的分量是列是同质的,即每一列中的分量是同一数据类型同一数据类型,来自同一个,来自同一个域。域。(2)(2)不同的列名可以出自相同的一个域,称其中每一列为一个属性不同的列名可以出自相同的一个域,称其中每一列为一个属性,不同的属性必须有不同的属性名。,不同的属性必须有不同的属性名。(3)(3)对同一组域,域的次序对关系没有影响,即关系中列的次序可对同一组域,域的次序对关系没有影响,即关系中列的次序可以交换。以交换。(4)(4)关系中的任意两个元组不能完全相同。关系中的任意两个元组不能完全相同。(5)(5)关系中元组的顺序无关,即关系中元组的顺

18、序可以交换。关系中元组的顺序无关,即关系中元组的顺序可以交换。(6)(6)分量必须取原子值,即每一分量都必须是不可再分的数据项。分量必须取原子值,即每一分量都必须是不可再分的数据项。这是规范条件中最基本的一条。这是规范条件中最基本的一条。 关系可以有三种类型:基本关系(通常称为基本表或基表关系可以有三种类型:基本关系(通常称为基本表或基表),查询表和视图表。),查询表和视图表。基本表是实际存在的表,它是实际储存数据的逻辑表示。基本表是实际存在的表,它是实际储存数据的逻辑表示。查询表是查询结果相对应的表。查询表是查询结果相对应的表。视图表是由基本表和其它视图导出的表,是虚表,不对应视图表是由基本

19、表和其它视图导出的表,是虚表,不对应实际存储的数据。实际存储的数据。关系的基本类型:关系的基本类型:定义:定义: 对关系结构的描述对关系结构的描述称为关系模式。关系模式可以形式化称为关系模式。关系模式可以形式化地表示为:地表示为:R(U, D, DOM,F),其中:,其中: R:关系名。:关系名。 U:组成该关系的属性名集合。:组成该关系的属性名集合。 D:属性的域。:属性的域。 DOM:属性向域的映像集合。:属性向域的映像集合。 F:属性间数据的依赖关系集合。:属性间数据的依赖关系集合。2.1.2 关系模式例:学生选修课成绩登记表,定义关系模型例:学生选修课成绩登记表,定义关系模型SC如下:

20、如下:-SC(-Sno,Cno,Grade;-C(12),N(3);-(Sno C(12),(Cno N(3),(Grade N(3);-(Sno,Cno) Grade;-)由于由于D对模式设计关系不大,因此通常把关系模式看作是对模式设计关系不大,因此通常把关系模式看作是一个三元组:一个三元组:R(U,F),当且仅当当且仅当U上的一个关系上的一个关系r满足满足F时,时,r称为关系模式称为关系模式R(U,F)的一个关系。的一个关系。最简单的写法是:最简单的写法是:R(U)。如:。如:学生(学号,姓名,性别,出生日期,籍贯)强调:强调:关系模式指出了关系由哪些属性组成。关系模式是静态的、关系模式指

21、出了关系由哪些属性组成。关系模式是静态的、稳定的,而关系是动态的、不断变化的,它是关系模式在某稳定的,而关系是动态的、不断变化的,它是关系模式在某一时刻的状态和内容。关系模式是型,关系是值。一时刻的状态和内容。关系模式是型,关系是值。 关系模型的完整性规则是对关系的某种约束条件,关系模型的完整性规则是对关系的某种约束条件,目的是目的是为了避免操作数据库时破坏数据的一致性为了避免操作数据库时破坏数据的一致性。关系模型中可以有。关系模型中可以有三类完整性约束:三类完整性约束:实体完整性实体完整性;参照完整性参照完整性;用户自定义的完整性。用户自定义的完整性。2.3 关系的完整性其中实体完整性和参照

22、完整性是关系模型必须满足的完其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。整性约束条件,被称作是关系的两个不变性。2.3.2 2.3.2 实体完整性实体完整性(Entity Integrity)实体完整性规则是指表中实体完整性规则是指表中行行的完整性,的完整性,即若属性即若属性A是基本关系是基本关系R的主属性,则属性的主属性,则属性A不能取空值,必须唯一不能取空值,必须唯一。空值就是。空值就是“不知道不知道”或或“无意义无意义”。例例1:有如下关系模式:有如下关系模式:学生(学生(学号学号,姓名,性别,年龄,所在系),姓名,性别,年龄,所在系)学号属性

23、为主码,不能取空值。学号属性为主码,不能取空值。 选课(选课(学号,课程号学号,课程号,成绩),成绩)学号,课程号为主码,均不能取空值。学号,课程号为主码,均不能取空值。学号姓名性别年龄所在系000101李晨男18信息系000102王博女19数学系010101刘思思女18信息系010102王国美女20物理系7040001014230101028510101023000101872000101901000101成绩成绩课程号课程号学号学号scsc 范伟 男 19 数学系010102(1 1)外码)外码 设设F是基本关系是基本关系R的一个或一组属性,但不是关系的一个或一组属性,但不是关系R的码。的

24、码。Ks是基本关系是基本关系S的主码。如果的主码。如果F与与Ks相对应,则称相对应,则称F是是R的外的外码。码。如下一张幻灯片如下一张幻灯片 说明:说明: 关系关系R和和S不一定是不同的关系。不一定是不同的关系。 S的主码的主码K和和R的外码的外码F必须定义在同一个域上必须定义在同一个域上(数据类型和数据类型和数据长度必须相同数据长度必须相同)。 外码并外码并不一定不一定要与相应的主码要与相应的主码同名同名。 但一般情况下往往但一般情况下往往取相同的名字,以便于识别。取相同的名字,以便于识别。2.3.3 2.3.3 参照完整性参照完整性( (引用完整性引用完整性) ) 学号姓名性别年龄所在系0

25、00101李晨男18信息系000102王博女19数学系010101刘思思女18信息系010102王国美女20物理系010203范伟男19数学系系名系地址电话信息系博学楼3012201数学系博学楼2012203物理系笃行楼3022208主码主码外码外码studentdepartment“所在系所在系”在在department中为主码,中为主码,在在student中不为主码,则为外码。中不为主码,则为外码。Student表是引用关系,表是引用关系,department是被引用关系。是被引用关系。思考:能否执行下列两条命令?Insert into student values(010103,张三,男

26、,19,英语系)Delete from department where 系名=物理系(2 2)参照完整性规则)参照完整性规则 参照完整性就是参照完整性就是定义外码与主码之间的引用规则定义外码与主码之间的引用规则。即。即若若属性(或属性组)属性(或属性组)F 是基本关系是基本关系R的外码,它与基本关系的外码,它与基本关系S的主的主码码K相对应(基本关系相对应(基本关系R和和S不一定是不同的关系),则对于不一定是不同的关系),则对于R中每个元组在中每个元组在F上的值必须为如下两种取值之一:上的值必须为如下两种取值之一: 取空值(取空值(F的每个属性值均为空值);的每个属性值均为空值); 等于等于S中某个元组的主码值。中某个元组的主码值。注意:注意:若要删除被引用的

温馨提示

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

评论

0/150

提交评论