第5章计算机软件技术基础_第1页
第5章计算机软件技术基础_第2页
第5章计算机软件技术基础_第3页
第5章计算机软件技术基础_第4页
第5章计算机软件技术基础_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、第第5章章 数据库技术数据库技术5.1 数据库基本概念5.2 关系代数5.3 数据库设计5.1 数据库基本概念数据库基本概念5.1.1 数据库技术与数据库系统5.1.2 数据描述5.1.3 数据模型5.1.1 数据库技术与数据库系统数据库技术与数据库系统1. 数据库管理技术数据库管理技术(1)人工管理(2)文件管理1) 数据的冗余度比较大。2) 由于数据是面向应用的,使程序与数据还是 互相依赖。3) 文件系统对数据的控制没有统一的方法,而 是完全靠应用程序自己对文件中的数据进行 控制,因此,使应用程序的编制很麻烦,而 且缺乏对数据的正确性、安全性、保密性等 有效且统一的控制手段。(3)数据库管

2、理1) 数据是结构化的,是面向系统的,数据的冗余度小。2) 数据具有独立性。3) 保证了数据的完整性、安全性和并发性。2. 数据库管理系统数据库管理系统数据库管理系统功能:1) 定义数据库。2) 管理数据库。3) 建立和维护数据库。4) 数据通信。(1) 语言处理部分 分为以下四部分。数据描述语言ddl(data description language)解释程序。 模式ddl是数据库管理员用来定义数据库总体逻辑数据结构的。 子模式ddl是用户用来定义其所用的局部逻辑数据结构的。 物理ddl又称为设备介质语言,主要用来定义数据的物理存储方式。数据操纵语言dml处理程序。终端询问解释程序。数据库

3、控制命令解释程序。(2) 系统运行控制程序 分为以下几个模块。 系统总控程序。 访问控制程序。 并发控制程序。 保密控制程序。 数据完整性控制程序。 数据访问程序。 通信控制程序。(3) 系统建立与维护程序 分为以下几个模块: 数据装入程序。 工作日志程序。 性能监督程序。 系统恢复程序。 重新组织程序。3. 数据库系统的构成数据库系统的构成(1) 用户在应用程序中向dbms发出读取记录的请求,同时给出记录 名和要读取记录的关键字值;(2) dbms接到请求后,利用应用程序a所用的子模式来分析这一请求;(3) dbms调用模式,进一步分析请求,根据子模式与模式之间变换 的定义,决定应读入哪些模

4、式记录;(4) dbms通过物理模式将数据的逻辑记录转换为实际的物理记录;(5) dbms向操作系统发出读取所需物理记录的请求;(6) 操作系统对实际的物理存储设备启动读操作;(7) 读出的记录从保存数据的物理设备送到系统缓冲区;(8) dbms根据模式和子模式的规定,将记录转换为应用程序所需要 的形式;(9) dbms将数据从系统缓冲区传送到应用程序a的工作区;(10) dbms向用户程序a发出本次请求执行情况的信息。5.1.2 数据描述数据描述1. 信息的存在形态信息的存在形态(1) 现实世界(2) 观念世界属性实体实体型实体集(3) 数据世界数据项(字段)(field)记录(record

5、)记录型(record type)文件(fild)关键字(key)“教师”记录型教师”记录型与“教师”文件的示意图2. 实体间的联系实体间的联系(1) 一对一(1:1)的联系 设有两个实体集e1和e2,如果e1和e2中的每一个实体最多与另一个实体集中的一个实体有联系,则称实体集e1和e2的联系是一对一的联系,通常表示为“1:1的联系”。例如,实体集学校与实体集校长之间的联系就是1:1的联系。(2) 一对多(1:n)的联系 设有两个实体集e1和e2,如果e2中的每一个实体与e1中的任意个实体(包括零个)有联系,而e1中的每一个实体最多与e2中的一个实体有联系,则称这样的联系为“从e2到e1的一对

6、多的联系”,通常表示为“1:n的联系”。例如,实体集学校与实体集教师之间的联系为一对多的联系。(3) 多对多(m:n)的联系 设有两个实体集e1和e2,其中的每一个实体都与另一个实体集中的任意个(包括零个)实体有联系,则称这两个实体集之间的联系是“多对多的联系”,通常表示为“m:n的联系”。例如,教师实体集与学生实体集之间的联系是多对多的联系。又如。学生实体集和课程实体集之间的联系也是一种多对多的联系。5.1.3 数据模型数据模型1. 层次模型层次模型建立数据的层次模型需要满足下列两个条件:(1) 有一个数据记录没有“父亲”,这个记录即是 根结点;(2) 其他数据记录有且只有一个“父亲”。学校

7、行政机构的层次模型2. 网状模型网状模型 网状数据模型的特点: (1) 可以有一个以上的结点无“父亲”; (2) 至少有一个结点有多于一个的“父亲”。学校教学情况的网状模型3. 关系模型关系模型 把数据看成一个二维表,每一个二维表称为一个关系。关系模型的优点。(1) 数据结构比较简单(2) 具有很高的数据独立性(3) 可以直接处理多对多的联系(4) 有坚实的理论基础一个关系的属性名表称为关系模式,也就是二维表的表框架,相当于记录型。若某一关系的关系名为r,其属性名为 a1,a2,an则该关系的关系模式记为 r(a1,a2,an)关系名为er关系模式(即二维表的表框架)为er(s#,sn,sd)

8、其中:s#,sn,sd分别是这个关系中的三个属性的名字 s1,s2,s3,s4,s5是属性s#(即学号)的值域 chang,wang,li,hu,ma是属性sn(即学生姓名)的值域 math,el,phys,com是属性sd(即所属系)的值域1. 并运算并运算(union) 假设有n元关系r和n元关系s,它们相应的属性值取自同一个域,则它们的并仍然是一个n元关系,它由属于关系r或属于关系s的元组组成,并记为rs。 并运算满足交换律,即rs与sr是相等的。2. 差运算差运算(difference) 假设有n元关系r和n元关系s,它们相应的属性值取自同一个域,则n元关系r和n元关系s的差仍然是一个

9、n元关系,它由属于关系r而不属于关系s的元组组成,并记为rs。差运算不满足交换律,即rs与sr是不相等的。3. 交运算交运算(intersection) 假设有n元关系r和n元关系s,它们相应的属性值取自同一个域,则它们的交仍然是一个n元关系,它由属于关系r且又属于关系s的元组组成,并记为rs。交运算满足交换律,即rs与sr是相等的。4. 笛卡尔积笛卡尔积(cartesian product) 设有m元关系r和n元关系s,则r与s的笛卡尔积记为rs,它是一个mn元组的集合(即mn元关系),其中每个元组的前m个分量是r的一个元组,后n个分量是s的一个元组。rs是所有具备这种条件的元组组成的集合。

10、 在实际进行组合时,可以从r的第一个元组开始到最后一个元组,依次与s的所有元组组合,最后得到rs的全部元组。 rs共有m*n个元组。5. 选择运算选择运算(selection) 选择运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系的一个子集。选择运算用公式表示为 rg r|rr且g(r)为真 或 g(r) r|rr且g(r)为真 公式中的r是关系名;g为一个逻辑表达式,取值为真或假。g由逻辑运算符或and(与)、或or(或)、或not(非)联接各算术比较表达式组成;算术比较符有、,其运算对象为常量、或者是属性名、或者是简单函数。在后一种表示中,为选择运算

11、符。6. 投影运算投影运算(projection) 投影运算是在给定关系的某些域上进行的运算。通过投影运算可以从一个关系中选择出所需要的属性成分,并且按要求排列成一个新的关系,而新关系的各个属性值来自原关系中相应的属性值。 给定关系r在其域列sn和c上的投影用公式表示为 rsn,c 或 sn,c(r)7. 联接运算联接运算(join) 联接运算是对两个关系进行的运算,其意义是从两个关系的笛卡尔积中选出满足给定属性间一定条件的那些元组。 设m元关系r和n元关系s,则r和s两个关系的联接运算用公式表示为 j i s|r运算的结果为mn元关系。其中:|是联接运算符;为算术比较符;i与j分别表示关系r

12、中第i个属性的属性名和关系s中第j个属性的属性名,它们之间应具有可比性。这个式子的意思是:在关系r和关系s的笛卡尔积中,找出关系r的第i个属性和关系s的第j个属性之间满足关系的所有元组。比较符有以下三种情况: 当为“”时,称为等值联接; 当为“”时,称为小于联接; 当为“”时,称为大于联接。 联接运算的上述公式还可以表示为 rfs rs|rr且ss且f(r,s)为真 其中:f为布尔函数(即联接条件),其取值为真或假;rs是关系r和关系s的笛卡尔积中的任一元组。8. 自然联接运算自然联接运算(natural join) 设关系r和关系s具有公共的属性,则关系r和关系s的自然联接的结果,是从它们的

13、笛卡尔积rs中选出公共属性值相等的那些元组。 如果关系r和关系s具有相同的属性名a1,a2,ak,则它们的自然联接是从笛卡尔积rs中选出 ra1sa1ra2sa2raksak的所有元组,并去掉重复属性的元组集合,记为 r|s其中ra1,ra2,rak表示rs中对应于关系r中的属性a1,a2,ak的属性名;同样,sa1,sa2,sak表示rs中对应于关系s中的属性a1,a2,ak的属性名。 如果用j1,j2,jm来表示rs中除去 sa1,sa2,sak以后按顺序列出的所有其他分量的序号,则根据自然联接的定义,可以用选择运算和投影运算来表示自然联接: r|sj1,j2,jm(ra1sa1ra2sa

14、2raksak (rs)上式表明,自然联接运算分以下三步进行: (1) 计算笛卡尔积rs; (2) 选出同时满足raisai(ai为为r和s的公共属性)的所有元组; (3) 去掉重复属性。例找出关系r平均成绩(aver)在85分以上的学生姓名和学号。即ps#,sn(aver85(r)(s1,ma),(s3,fan),(s4,wang)例有关系t和p。要找出讲授课程g1的教师姓名、所在系和他的职称。即 tptn,td,t(tgg1(t|p)例设有一关系w,现要在关系w中存入一个元组 (a,b,c,d,e,f,g)。 对于这个操作可以用以下运算来实现: w(a,b,c,d,e,f,g) givin

15、g w其中giving表示经过并运算后的结果赋于w。5.3 数据库设计数据库设计5.3.1 数据库设计的基本概念5.3.2 数据库设计的过程5.3.3 数据字典5.3.1 数据库设计的基本概念数据库设计的基本概念可行性分析与研究阶段系统设计阶段设计实施与系统运行阶段5.3.2 数据库设计的过程数据库设计的过程1. 需求分析需求分析(1) 了解组织机构。(2) 了解具体的业务现状。(3) 了解外部要求。(4) 了解长远规划中的应用范围和要求。2. 概念结构设计概念结构设计 概念模型主要特点:能充分反映实际应用中的实体及其相互之间的联系,是现实世界 的一个真实模型。由于概念模型独立于具体的计算机系

16、统和具体的数据库管理系统, 因此,便于用户理解,有利于用户积极参与设计工作。概念模型容易修改。当问题有变化时,反映实际问题的概念模型 可以很方便地扩充和修改。便于向各种模型转换。由于概念模型不依赖于具体的数据库管理 系统,因此,容易向关系模型、网状模型和层次模型等各种模型 转换。概念结构设计要借助于某种方便又直观的描述工具,e-r(实体-联系,entity-relationship)图是设计概念模型的有力工具。在e-r图中,用三种图框分别表示实体、属性和实体之间的联系,其规定如下: 用矩形框表示实体,框内标明实体名; 用椭圆状框表示实体的属性,框内标明属性名; 用菱形框表示实体间的联系,框内标

17、明联系名; 实体与其属性之间以无向边联接,菱形框与相关实 体之间也用无向边联接,并在无向边旁标明联系的 类型。描述实体集联系的e-r图多个实体集联系的e-r图同一个实体集内实体联系的e-r图实体属性的e-r图实体集之间联系属性的e-r图(1) 建立分e-r图划分实体和属性的原则:属性与其所描述的实体之间的联系只能是一对多的;属性本身不能再具有需要描述的性质或与其他事物具 有联系。能作为属性的尽量作为属性而不划分为实体,以简化e-r图。例在一个简单的教学管理系统中,主要的实体型是学生、教师、课程、课外科技小组,在这些实体型之间有以下几种联系: “课程-学生”联系,记为“c-s”联系,这是多对多的

18、联系; “课程-教师”联系,记为“c-t”联系,这也是多对多的联系; “学生-科技小组”联系,记为“s-r”联系,这也是多对多的联系; “教师-科技小组”联系,记为“t-r”联系,这是一对一的联系。(2) 设计初步e-r图属性域冲突。即同一个属性在不同的分e-r图中其值的 类型、取值范围等不一致或者是属性取值单位不同。命名冲突。即属性名、实体名、联系名之间有同名异 义或异名同义的问题存在。结构冲突。这主要表现在同一对象在不同的应用中有 不同的抽象。(3) 设计基本e-r图 商店管理的初步e-r图 商店管理的基本e-r图3. 逻辑结构设计逻辑结构设计(1) 逻辑结构设计的步骤将概念模型转换成一般的数据模型;将一般的数据模型转换为特定的数据库管理系统所支持的数据模 型。(2) 逻辑结构设计的目标确定整个数据库由哪些关系模式组成,即确定有哪些“表”组成;确定每个关系模式由哪些属性组成,即确定每个“表”中的字段;确定每个关系模式中的关键字属性。(3) 逻辑结构设计的规则每一个实体型转换为一个关系模式每个联系分别转换为关系模式4. 物理结构设计物理结构设计(1) 物理结构设计的准备工作要充分了解和掌握所用的数据库管理系统的性能和特点。要十分

温馨提示

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

评论

0/150

提交评论