数据库概论课件汇总整本书电子教案全套课件完整版ppt最新教学教程最全课件_第1页
数据库概论课件汇总整本书电子教案全套课件完整版ppt最新教学教程最全课件_第2页
数据库概论课件汇总整本书电子教案全套课件完整版ppt最新教学教程最全课件_第3页
数据库概论课件汇总整本书电子教案全套课件完整版ppt最新教学教程最全课件_第4页
数据库概论课件汇总整本书电子教案全套课件完整版ppt最新教学教程最全课件_第5页
已阅读5页,还剩754页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 数据库概论第1章 数据库概论 本章是以数据库技术的基础为主要内容,它介绍了数据库系统的组成、数据模型、数据库模式结构、数据库技术的产生与发展及数据库的体系结构以及几个方面的知识。通过学习本章的知识,可以对数据库技术基础知识有一个基本的了解,认识解数据库的结构及组成等相关部分,为进一步学习后边的相关知识打下基础。本章内容:1.1 数据库系统1.2 数据库管理系统1.3 数据模型1.4 数据库系统的模式结构1.5 数据库技术的产生与发展1.6 数据库系统的体系结构第1章 数据库概论第1章 数据库概论11 数据库系统1.1.1 数据库系统组成1.数据库(DataBase,简称为DB)物理数据

2、库,数据库的主体描述数据库,数据字典系统管理2.硬件环境3.软件环境4.数据库管理员(Database Administrator,简记为DBA) 系统分析员、数据库管理员、应用程序员、用户 DBA主要职责第1章 数据库概论1.1 数据库系统1.1.2 数据库系统的效益(1) 简易性。(2) 灵活性。(3) 集中性。(4) 高效性。(5) 实用性。(6)标准化。第1章 数据库概论1.2 数据库管理系统1.2.1 DBMS的主要功能1数据库的定义功能2.数据库操纵功能 4种基本操作:增删改查3.数据库运行控制功能 4大基本功能:安全性、完整性、并发、恢复4.数据库的维护功能5.数据字典数据库的数

3、据库1.2.2 DBMS的组成1.数据描述语言(DDL)(1) 外模式DDL(2) 模式DDL(3) 内模式DDL2.数据操纵语言(DML)(1) 存储语句(2) 控制语句(3) 检索语句(4) 更新语句3.数据库管理的例行程序(1) 语言翻译处理程序。(2) 公用程序。(3) 系统运行控制程序。第1章 数据库概论1.2.3 DBMS的工作过程第1章 数据库概论13 数据模型1.3.1 信息和数据信息是对现实世界各种事物的存在特征、运动形态以及不同事物间的相互联系等在人脑中的抽象反映,进而形成概念。数据是对信息的符号化表示,即用一定的符号表示信息。数据是信息的载体,而信息是数据的内涵。第1章

4、数据库概论1.3.2 数据模型的三个层次(1) 概念数据模型又称概念模型,是现实世界到概念世界的抽象。实体联系模型(Entity-Relationship Model,简称E-R模型)。(2) 逻辑数据模型又称数据模型,是概念世界的抽象描述到信息世界的转换。层次模型、网状模型、关系模型。3个要素: 数据结构 数据操作 数据完整性约束(3) 物理数据模型又称物理模型,是信息世界模型在机器世界的实现。第1章 数据库概论1.3.3 信息世界中的基本概念1.实体(entity) 客观存在并可互相区别的事物称为实体。2.属性(attribute) 实体所具有的某一特性称为属性。3.码(key) 唯一标识

5、实体的属性或属性集称为码。4.域(domain) 属性的取值范围称为该属性的域。5.实体型(entity type) 具有相同属性的实体必然具有共同的特征和性质。6.实体集(entity set) 同型实体的集合称为实体集。7.联系(relationship) 在现实世界中事物间的关联称为联系。1:1 1:n m:n第1章 数据库概论1.3.4 概念模型的E-R模型表示方法E-R图提供了表示实体型、属性和联系的方法。(1) 实体型(集):用矩形表示,矩形框内写明实体集名。(2) 属性:用椭圆形表示,并用无向边将其与相应的实体集连接起来。(3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分

6、别与有关实体连接起来,并且在无向边旁标上联系的类型(1:1、1:N或M:N)。第1章 数据库概论【例1.1】为某仓库的管理设计一个E-R模型。仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。E-R图的建立过程如下:(1) 首先确定实体型。(2) 确定实体集联系。(3) 把实体型和联系组合成E-R图。(4) 确定实体型和联系的属性。(5) 确定实体型的码。第1章 数据库概论第1章 数据库概论【例1.1】为某仓库的管理设计一个E-R模型。仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。三元联

7、系 :例如上例中,如果规定某个工程项目指定需要某个供应商的零件一元联系:例如零件之间有组合关系,一种零件可以是其他部件的子零件,也可以由其他零件组合而成。第1章 数据库概论将实体及其属性与实体及其联系分别用两张E-R图表示第1章 数据库概论合并E-R图表示第1章 数据库概论1.3.5 数据库层次的数据模型数据库是根据数据模型划分的,任何一个DBMS都是针对不同的数据模型设计出来的。1.层次数据模型层次数据模型是数据库系统中最早出现的数据模型。它是用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次数据模型。定义:(1) 只有一个结点没有双亲结点,称之为根结点;(2) 根以外的其他结点有

8、且只有一个双亲结点。层次模型的特点是记录联系层次分明,最适合表现客观世界中有严格层次关系的事物;缺点是不能直接表示事物间多对多联系。第1章 数据库概论1.3.5 数据库层次的数据模型2.网状数据模型用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。网状数据模型的基本结构是以记录为结点的网络结构。定义:(1) 有一个以上的结点没有双亲结点;(2) 至少有一个结点有多于一个的双亲结点。网状数据模型数据库系统的操纵主要包括查询、插入、删除和更新数据,无论是数据表示还是数据操纵方面已明显优于层次模型。20世纪70年代,网状模型有许多成功的DBMS产品,例如Honeywell公司的IDS/II

9、,HP公司的IMAGE/3000,Burroughs公司的DMSII,Univac公司的DMS1100,Cullinet公司的IDMS,CINCOM公司的TOTAL等。第1章 数据库概论1.3.5 数据库层次的数据模型3.关系数据模型关系模型是目前最重要的一种模型。在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。 表1.1第1章 数据库概论学号姓名性别学院年龄籍贯20190111王强男计信学院23北京市20190112李明男软件学院22上海市20190123张芳女理学院24天津市1.3.5 数据库层次的数据模型3.关系数据模型相关概念(1) 关系:对应通常说的表(2) 元组:表

10、中的一行即为一个元组(3) 属性:表中的一例即为一个属性(4) 主键(Key):表中的某个属性组,它可以唯一确定一个元组,(5) 域(Domain):属性的取值范围(6) 分量:元组中的一个属性值;(7) 关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性n)第1章 数据库概论1.3.5 数据库层次的数据模型3.关系数据模型 表1.2 非二维表第1章 数据库概论 学号姓名成绩英语数学数据库180001李明696886190007张三788073190008王五8563701.3.5 数据库层次的数据模型4.面向对象的数据模型面向对象数据库是面向对象的概念与数据库技术结合的产物。第

11、1章 数据库概论1.3.6 物理模型机器世界是计算机硬件和操作系统的总称。信息世界表达的数据模型及其上的数据操纵最终要用计算机世界提供的手段和方法实现,计算机世界对应的是物理模型表示。存储数据时数据描述术语: (1) 位(bit):一个二进制数。(2) 字节(B ,byte):8bit为一个字节,可以存放一个ASCII字符。(3) 字(word):若干字节组成一个字。(4) 块(block):是内外存交换数据的基本单位,(5) 桶(bucket):外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。(6) 卷(volume):一台输入输出设备所能装载的全部有用的信息,称为

12、“卷”。第1章 数据库概论14 数据库系统的模式结构1.4.1 数据库系统的三级模式结构模式内模式外模式第1章 数据库概论1.4.2 数据库的二级映象功能与数据独立性数据库系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象。正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。第1章 数据库概论1.5 数据库技术的产生与发展1.5.1 人工管理阶段(20世纪50年代中期以前)(1) 数据不保存。(2) 数据的独立性差。(3) 只有程序(Program)的概念、没有文件(File)的概念。(4) 数据面向应用。第1章 数据库概论第1章 数据库概论1.5

13、数据库技术的产生与发展1.5.2 文件系统管理阶段(20世纪50年代后期-60年代中后期)(1) 可长期保存(2) 功能较简单。(3) 文件的形式多样化(4) 数据独立于程序。(5) 对数据的存取以记录为单位。1.5 数据库技术的产生与发展1.5.3 数据库管理阶段(20世纪60年代今)(1) 数据的结构化(2) 数据共享(3) 减少了数据的冗余和不一致性(4) 有较高的数据独立性 (5) 方便的用户接口(6) 数据控制功能第1章 数据库概论16 数据库系统的体系结构1.6.1 单用户数据库系统早期的最简单的数据库系统。在单用户系统中,整个数据库系统,包括应用程序、DBMS、数据,都装在一台计

14、算机上,由一个用户独占,不同机器之间不能共享数据。第1章 数据库概论16 数据库系统的体系结构1.6.2 主从式结构的数据库系统主从式结构是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存储数据库,共享数据资源。第1章 数据库概论16 数据库系统的体系结构1.6.3 分布式结构的数据库系统分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。16 数据库系统的体系结构1.6.4 客户/服务器结构的数据库系统把DBMS功能和应用分开,

15、网络中某个结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器,其他结点上的计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机,这就是客户/服务器机构的数据库系统。第1章 数据库概论本章小结本章从数据库的产生与发展出发,介绍了数据库发展经历的三个过程,然后详细分析了数据库、数据库管理系统、数据库系统的构成及相互关系,概括数据模型的分类以及特点,并从市场主流数据库应用的角度上归纳了目前数据库的几种体系结构。本章重点:数据模型,特别是ER模型的设计,这是数据库设计的基础,是联系数据库设计人员与用户的纽带,弄清ER模型的对应关系即一对一、一对多、多对多三种对应关系,这是

16、ER模型的关键。第1章 数据库概论第2章 关系数据库本章内容:2.1 关系数据概述2.2 关系数据结构2.3 关系代数2.4 关系演算2.5 查询优化2.6 函数依赖2.7 关系的规范化第2章 关系数据库关系数据库系统是目前使用最广泛的数据库系统。关系数据理论是本书的难点,也是数据库技术的重要组成部分,其中涉及到了关系代数、关系演算、函数依赖、范式定理等内容,这是数据库设计以及数据库优化处理的理论基础,也为如何构建数据库体系提供了理论依据。第2章 关系数据库2.1.1 数据结构关系模型的数据结构非常单一,只有关系,实体及实体之间的联系都用关系来表示。即关系模型中数据的逻辑结构是一张二维表。2.

17、1 关系数据概述2.1.2 关系操作关系操作是高度非过程化的,用户不必指出存取路径,也不必求助于循环、递归等来完成。关系操作是由数据库管理系统(DBMS)来完成的。关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。关系查询语言根据其理论基础的不同分为两大类,一是关系代数语言(查询操作是以集合操作为基础的运算);另一是关系演算语言(查询操作是以谓词演算为基础的运算)。关系操作方式的特点是集合操作,即操作的对象和结果都是集合。2.1 关系数据概述2.1.3 完整性1.实体完整性规则实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值;即关系中的主码不允许取空值。一

18、个关系数据库中实际存在的表通常对应现实世界的一个实体集。2.参照完整性规则参照完整性规则是指任一时刻,关系R1中外部码属性A的每个值,必须或者为空,或者等于另一关系R2(R2和R1可以是相同的)中某一元组的主码值。R1中的属性A和R2中的主码是定义在一个共同的基本域上的。即限制引用不存在的元组。3.用户定义的完整性规则用户定义的完整性规则是针对某一具体应用环境给出的数据库的约束条件。它反映某一个具体的应用所处理的数据必须满足的语义要求。2.1 关系数据概述前后目录2.2.1 关系的定义及性质1.域(Domain)域是一组具有相同数据类型的值的集合,是关系中的一列取值的范围。例如:整数的集合是一

19、个域,实数的集合是一个域,-1,0,1、长度大于10个字节的字符串集合也是一个域。2.2 关系数据结构2.笛卡尔积(Cartesian Product) 设D1,D2,Dn (它们可以是相同的)为任意集合,定义D1,D2,Dn 的笛卡尔积为:D1D2n(d1,d2,dn)diDi,i =1,2,n其中每一个元素(d1,d2,dn)叫做一个n元组(Tuple),di叫做一个分量(Component)。例如,D1=0,1,D2=a,b,c,则D1和D2的笛卡儿积为:D1D2=(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)注意:笛卡尔积中元组分量是有序的。2.2 关系数据结构

20、【例】设域D1=a,b,D2=0,1,求D1D2。D1D2=(a,0),(a,1),(b,0),(b,1)将D1D2用二维表表示,如下表所示。2.2 关系数据结构D1D2a0a1b0b1D1D2的基数为 , ,即D1D2有4个元组。【例】设学生域D1=刘玉,张雯,班级域D2=一班,二班,班长域D3=张浩,杨洋,求D1D2D3的二维表表示。D1D2D3的二维表表示如表2.2所示。2.2 关系数据结构D1D2D3刘玉一班张浩刘玉一班杨洋刘玉二班张浩刘玉二班杨洋张雯一班张浩张雯一班杨洋张雯二班张浩张雯二班杨洋D1D2D3的基数为 , ,即D1D2D3有8个元组。注笛卡尔积的运算规则(1)对任意集合A

21、,根据定义有A=,A= (表示空集)(2)一般地说,笛卡尔积运算不满足交换律,即ABBA (当A,B,AB时)(3)笛卡尔积运算不满足结合律,即(AB)CA(BC) (当A,B,C时)(4)笛卡尔积运算对并和交运算满足分配律,即A(BC)=(AB)(AC)(BC)A=(BA)(CA)A(BC)=(AB)(AC)(BC)A=(BA)(CA)2.2 关系数据结构3.关系(Relation)D1D2n的子集叫做域D1,D2,Dn,上的关系,表示为:R(D1,D2,Dn)这里R表示关系的名字,n是关系的目或度(Degree)。关系是笛卡尔积的任意子集,但在实际应用中,有一些子集是没有实际意义的。2.2

22、 关系数据结构4.码、主码、外部码、主属性码是关系中的某一属性或属性组(注有的码是由几个属性共同决定的),若它的值唯一地标识了一个元组,则称该属性或属性组为候选码(Candidate key);若一个关系有多个候选码,则选定其中一个为主码(Primary key)。包含在任意一个候选码中的属性都称为主属性;外部码(Foreign key)是某个关系中的一个属性(可以是一个普通的属性,也可以是主码,也可以是主码的一部分),这个属性在另一个关系中是主码。2.2 关系数据结构5.关系的性质(1) 列是同质的,即每一列中的分量是同类型的数据,来自同一个域。(2) 不同的列可以出自同一个域,每一列称为属

23、性,需给予不同的名称。(3) 列的顺序无所谓,即列的次序可以任意交换。(4) 关系中的各个元组是不同的,即不允许有重复的元组。(5) 行的顺序无所谓,即行的次序可以任意交换。(6) 每一分量必须是不可分的数据项。2.2 关系数据结构2.2.2 关系模式与关系数据库1.关系模式对关系的描述称为关系模式,它包括关系名、组成该关系的各个属性、属性域的映像、属性间的数据依赖关系等。属性域的映像常常直接说明为属性的类型、长度。2.关系子模式关系子模式是用户所用到的那部分数据的描述。它除了指出用户的数据外,还应指出模式与子模式之间的对应性。3.存储模式关系存储时的基本组织方式是文件,由于关系模式有码,存储

24、一个关系可以用散列方法或索引方法实现。如果关系中记录数目较少(100以内),也可以用堆文件方式实现。另外,还可对任意的属性集建立辅助索引。4.关系数据库对于关系数据库也有型和值的概念。关系数据库的型是对数据库描述,包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合。数据库的型也称为数据库的内含(Intention),数据库的值也称为数据库的外延(Extension)。数据库的型是稳定的,数据库的值是随时间不断变化的,因为数据库的数据在不断变化。2.2 关系数据结构关系代数用到的运算符号有四类:集合运算符、专门的关系运算符、算术比较符和逻辑运

25、算符。(1) 集合运算符:U (并)、(交)、(差)、(笛卡儿积)。 (2) 专门的关系运算符:(选择)、(投影)、 IXI (连接)、(除)。(3) 算术比较符:(小于),(小于等于),(大于),(大于等于),(不等于),(等于)。(4) 逻辑运算符:(与),(或),(非)。2.3 关系代数2.3.1 传统的集合运算1.并(Union)设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作:RUS=t|tRtS2.差(Difference)设关系R和关系S具有相同的目n,且相应的属性取自

26、同一个域,则关系R和S差由属于R而不属于S的所有元组组成。其结果仍为n目的关系,记为RS,形式定义如下:RS=t|tRt S,t是元组变量,R和S的目数相同。2.3 关系代数3.交(Intersection)设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成,其结果关系仍为n目关系。记作:RS=t|tRtS;关系的交也可以由关系的差来表示,即RS=R-(R-S)。4.广义笛卡尔积(Extended Cartesian product)设关系R为n目关系,关系S为m目关系,广义笛卡尔积RS是一个(n+m)元组的集合。元组的前n个分量是R的一

27、个元组,后m个分量是S的一个元组。若R有k1个元组,S有k2个元组,则RS有k1k2个元组。记作:RS=| trR tsS2.3 关系代数2.3.2专门的关系运算1.选择(Select),亦称为限制(Restriction)根据某些条件对关系做水平分解,选择符合条件的元组。关系R关于公式F的选择运算用F(R)表示,定义如下:F(R)=t | tRF(t)=真其中,为选择运算符,F(R)表示从R中挑选满足公式F的元组所构成的关系。2.3 关系代数【例2.5】已知学生表S如左表所示,对学生表进行选择操作:列出所有女同学的基本情况。选择的条件是:SEX=女。用关系代数表示为:SEX=女(S),也可以

28、用属性序号表示属性名:4=女(S),结果如右表所示。2.3 关系代数SNO SNAME AGE SEX DEPT S3 刘莎莎 18 女 理学院 S9 王 莉 21 女 计信院 S4 李志鸣 19 男 计信院 S5 吴康 20 男 理学院SNO SNAME AGE SEX DEPT S3 刘莎莎 18 女 理学院 S9 王 莉 21 女 计信院 2.投影(Projection)投影操作是对一个关系做垂直分解,消去关系中某些列,并重新排列次序,删去重复元组。设关系R是k元关系,R在其分量 , , (mk,i1,im为1到k之间互不相同的整数)上的投影,用 ,. . . (R)表示,它是从R中选择

29、若干属性列组成的一个m元组的集合。形式定义如下:,., (R)= t | t =R投影之后不仅取消了某些列,而且还可能取消某些元组。2.3 关系代数【例2.6】对职工表如左表所示进行投影操作。列出职工表中的所有部门,关系代数表示为:3(职工) 或部门(职工) ,结果如右表所示。2.3 关系代数职工编号 姓名 部门 2113程晓清销售部2116刘红英财务部2136 李小刚管理部2138蒋 民采购部2141王国洋销售部部门销售部财务部管理部采购部3连接连接运算是从两个关系的广义笛卡儿积中选取满足一定条件的元组。记作:其中,是比较运算符。A和B,分别为R和S上度数相等且可比的属性组。连接运算是从关系

30、R和S的笛卡尔积(RS)中选取(R关系)在A属性组上的值与(S关系)在B属性组上的值满足比较关系的元组。根据条件不同,连接运算又分为多种类型,这里只讨论常用的连接运算有:等值连接、自然连接、外连接。2.3 关系代数(1)等值连接为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。【例2.7】如下表所示,分别为关系R、S、 条件连接结果,等值连接结果 R IXI S R IXI S R S BE B=E2.3 关系代数AB12345623CDE123234345ABCDE123121242312534345342342323534ABCDE34423233

31、12(2)自然连接自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。【例2.7】如下表所示,分别为关系SC、TC、 自然连接结果。2.3 关系代数SNumCNumGRADECNumCNAMECDEPTTNAMES3S1S4S9C3C2C3C487887983C2C3C4C1离散数学高等数学数据结构计算机原理计算机通讯计算机计算机刘伟陈红马良兵李晓东SNumCNumGRADECNAMECDEPTTNAMES3C387高等数学通讯陈红S1C288离散数学计算机刘伟S4C379高等数学通讯陈红S9C483数据结构计算机马良兵SC TCSC

32、 IXI TC 4.除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X的属性列上的投影,元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:RS=trX|trRy(S)Yx 其中Yx为x在R中的象集,x=trX。除操作是同时从行和列角度进行运算。2.3 关系代数【例2.8】如下表 (a)所示,表示学生学习关系SC,如表(b) 所示,表示课程成绩条件关系CG,如表(c)所示,表示满足课程成绩条件(离散数学为优和数据结构为优)的学生

33、情况关系用(SCCG)表示。2.3 关系代数SNAMESEXCNAMECDEPTGRADECNAMEGRADE李志鸣男离散数学通讯优离散数学优刘月莹女离散数学计算机良数据结构优吴康男离散数学通讯优王文晴女数据结构计算机优吴康男高等数学通讯良王文晴女离散数学计算机优(c)SCCG刘月莹女数据结构计算机优SNAMESEXCDEPT李志鸣男数据结构通讯优李志鸣男通讯李志鸣男高等数学通讯良王文晴女计算机(a) 学生学习关系SC (b) 课程成绩条件关系CG2.3.3 关系代数表达式及其应用实例查询语句的关系代数表达式的一般形式是:(RS)或者 (R IXI S)上面的式子表示:首先取得查询涉及到的关系

34、,再执行笛卡尔积或自然联接操作得到一张中间表格,然后对该中间表格执行水平分割(选择操作)和垂直分割(投影操作),当查询涉及到否定或全部、包含值时,上述形式就不能表达了,就要用到差操作或除法操作。【例2.9】设教学数据库EDCATION中有三个关系:学生关系STUDENT(SNO,SNAME,AGE,SEX,SDEPT)学习关系SC(SNO,CNO,GRADE)课程关系COURSE(CNO,CNAME,CPNO,CDEPT,TNAME)试用关系代数表达式表示下面每个查询语句。查询信息系全体学生查询年龄小于20岁的元组查询学生关系STUDENT在学生姓名和所在系两个属性上的投影2.3 关系代数SD

35、EPT=信息(STUDENT) 或 5=信息(STUDENT) 其中5是SDEPT的属性序号。AGE20(STUDENT) 或 3Y且YZ,其中X是码,Y和Z是非主属性,可将其分解为R1(X,Y)和R2(Y,Z);本例中,我们把S分解为SS(SNO,SDEPT)和SA(SDEPT,ADDR)。2.7 关系的规范化2.7.4 BC范式BCNF是3NF的改进,其定义是:若关系模式R是第一范式,且R中的每一个决定因素都包含码,则称R属于BC范式。【例2.26】 在例2.19中的关系模式SJP(S,J,P)中,F=(S,J)P,(J,P)S ;所以(S,J)和(J,P)都是码,S,J,P都是主属性。由

36、于SJP中的每一个决定因素都包含码,所以它是BC范式。2.7 关系的规范化【例2.27】 在例2.20的关系模式STJ(S,T,J)中,F=(S,J)T,(S,T)J,TJ;(S,J)和(S,T)都是码,由于决定因素T不包含码,所以它不是BC范式,只是第三范式。它仍然存在插入异常等现象。仍需对其进行规范化。具体做法是:削去主属性对码的传递依赖。将不是码的决定因素与它所决定的属性取出来放到一个关系中,原关系中削去这个决定因素。关系模式STJ(S,T,J)可分解为TJ(T,J)和SJ(S,J)。2.7 关系的规范化2.7.5 模式分解要想设计好的关系,就要将一个较低的关系进行规范化,关系规范化过程

37、实质是对关系不断分解的过程,通过分解使关系逐步达到较高范式。范式分解的方案不是唯一的,应遵循下列基本原则:(1) 分解必须是无损的。利用关系投影运算分解,每次分解都要使范式由低一级向高一级范式变换,但分解后必须仍能表达原来的语义(即围绕函数依赖进行),也就是说能通过自然连接恢复原来关系的信息。(2) 分解后的关系必须是相互独立的。分解后的关系集合中,不会因为对一个关系的内容修改波及到分解出的别的关系的内容。2.7 关系的规范化规范化的过程2.7 关系的规范化消除主属性对码的部分和传递函数依赖消除非主属性对码的传递函数依赖消除非主属性对码的部分函数依赖使每个属性都不可再分非规范表1NF2NF3N

38、FBCNF规范化的过程要注意的问题(1) 确定关系中的主属性,非主属性;(2) 确定关系中的候选码;(3) 确定关系中的主码;(4) 找出属性间的函数依赖;(5) 根据实际应用,确定规范到第几范式;(6) 分解必须是无损的,不能丢失信息;(7) 分解后的关系必须是独立的。2.7 关系的规范化【例2.28】设有关系模式R(X,Y,Z),F=(XY,YZ),在关系模式R中存在有Z对X的传递依赖。所以,R2NF。如表为关系R的具体值。将R分解为R1和R2两个模式,但如果将R1和R2连接起来,结果不等于R,比原来多了两个元组。有损分解2.7 关系的规范化关系R R1 R2 R1R2XYZ分解XYYZ连

39、接XYZA1A2A3A4C2C4C6C4B1B2B3B4A1A2A3A4C2C4C6C4C2C4C6C4B1B2B3B4A1A2A3A4A2A4C2C4C6C4C4C4B1B2B3B4B4B2(a)关系R (b)R3 (c)R4 (d)R1R2XYZ分解XYYZ连接XYZA1A2A3A4C2C4C6C4B1B2B3B2A1A2A3A4C2C4C6C4C2C4C6B1B2B3A1A2A3A4C2C4C6C4B1B2B3B22.7 关系的规范化无损连接掌握关系运算理论,是学好SQL语言的基础,而范式定理又是设计数据库的理论依据,这两部分知识是学数据库技术中不可缺少的两个组成部分,本章介绍了关系数据

40、库的结构,归纳了关系代数的八种运算模式,并以实际案例来说明各种运算方法以及优化策略,最后着重介绍了函数依赖和范式定理,以此来引导构建数据库的理论模型。本章重点:函数依赖和范式定理,要求掌握部分完全函数依赖、部分函数依赖、传递函数依赖的定义以及范式定理1NF、2NF、3NF、BCNF的定义与区别。本章小节关系查询语言分为哪两大类,二者有何区别?试述关系模型的完整性规则。关系代数的基本运算有哪些?建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系

41、办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,指出各关系的候选码、外部码,并指出是否存在传递函数依赖,试将各个关系分解成3NF。理解并给出下列术语定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、全码、1NF、2NF、3NF、BCNF思考与练习本章内容:3.1 数据库设计的基本步骤3.2 需求分析3.3 概念设计3.4 逻辑结构设计3.5 物理设计第3章 数据库设

42、计 数据库设计是建立本课程领域的核心技术,也是信息系统开发和建设的关键环节,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个问题是数据库在应用领域的主要研究课题。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统.本章主要以培训类学校学生信息管理系统为案例,详细介绍了数据库设计的的步骤以及各步骤之间的关系,从而指导学生以实际应用程序的角度来理解数据库设计的全过程并能够更深入地掌握数据库设计技术。3.1 数据库设计概述数据库设计是一个复杂的系统工程。数据库应用系统的开

43、发既是一项软件工程,遵循软件工程开发的一般原则和方法,又有其自身特点。仿照软件生存周期的阶段划分原则和设计方法,可以把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个时期,称为数据库应用系统的生存周期。数据库设计通常分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。第3章 数据库设计 下面以某培训类学校学生信息管理系统为例,来分析一下,数据库设计的过程,该培训类学校主要涉及了学生信息管理,学生选课,收费以及一些维护处理等功能,详见下图3.1 数据库设计的基本步骤使用、维护数据库需求收集和分析设计概念结构设计逻辑结构评价

44、设计,性能预测数据模型优化试验性运行设计物理结构物理实现应用需求(数据、处理)转换规则,DBMS功能优化方法应用要求,DBMS详细特征需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段运行维护阶段3.2 需求分析需求分析就是分析用户对数据库的具体需求,主要包括功能需求和应用需求两个方面,是整个数据库设计的起点和基础。需求分析的结果是否准确反映用户的实际需求,将直接影响以后各个阶段的设计,甚至直接影响到整个数据库系统设计的成败。需求分析阶段的最后可以形成一份完整的文档资料需求分析说明书,作为数据库后续设计阶段的重要依据。第3章 数据库设计 3.2.1 需求描述与分析从数据库设计的角度

45、考虑,需求分析阶段的目标是:对现实世界要处理的对象(组织,部门,企业等)进行全面的、详细调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,确定新系统功能,并把这些要求写成用户和数据库设计者都能够接受的文档。需求分析阶段应该对系统的整个应用情况作详细的调查,需求分析中调查分析的方法很多,通常的办法是对不同层次的企业管理人员进行个人访问,内容包括业务处理和企业组织中的各个数据。访问的结果应该包括数据的流程、过程之间的接口以及访问者和职员两方面对流程和接口语义上的核对说明和结论。某些特殊的目标和数据库的要求,应该从企业组织中的最高层机构得到。需求分析阶段

46、必须强调用户的参与,本阶段一个重要而困难的任务是设计人员还应该了解系统将来要发生的变化,收集未来应用所涉及的数据,充分考虑到系统可能的扩充和变动,使系统设计更符合未来发展的趋向,并且易于改动,以减少系统维护的代价。3.2.2 需求分析分类信息需求定义了未来系统用到的所有信息,描述了数据之间本质上和概念上的联系,描述了实体、属性、组合及联系的性质。处理需求中定义了未来系统的数据处理的操作,描述了操作的优先次序、操作执行的频率和场合、操作与数据之间的联系。在信息需求和处理需求的定义说明的同时还应定义安全性和完整性约束。这一阶段的输出是“需求说明书”,其主要内容是系统的数据流图和数据字典。3.2.3

47、 需求分析的内容与方法1.需求分析的内容(1) 调查组织机构情况(2) 调查各部门的业务活动情况(3) 熟悉业务活动(4) 确定新系统的边界2.需求分析的方法需求分析的方法有多种,下面归纳了六种主要方法:(1) 跟班作业。(2) 开调查会。(3) 请专人介绍。(4) 找人询问。(5) 设计调查表请用户填写。(6) 查阅记录。3.2.4 需求分析的步骤1.分析用户活动,产生用户活动图这一步主要了解用户当前的业务活动和职能,分析其处理流程(即业务流程)。2.确定系统范围,产生系统范围图3.分析用户活动所涉及的数据,产生数据流图数据流图(Data Flow Diagram,简记为DFD)是从“数据”

48、和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表达法,具有直观,易于被用户和软件人员双方都能理解的一种表达系统功能的描述方式。DFD有四个基本成分:数据流(用箭头表示),加工或处理(用圆圈表示),文件(用双线段表示)和外部实体(数据流的源点或终点,用方框表示)。评定成绩教室安排核对选课单教 师评定考试成绩成绩单申请选课学 生教室安排平时成绩选课名单允许参加考试已选课程名单选课单选课成绩教师课程任课介绍教师课程介绍1.0选课教室安排选用教材教材教室2.0上课试卷考场考场试卷3.0考试同意/不同意接受同意/不同意选课考场安排4.分析系统数据,产生数据字典仅仅有DFD并不能构成需求说明书

49、,因为DFD只表示出系统有哪几部分组成和各部分之间的关系,并没有说明各个成分的含义。只有对每个成分都给出确切定义后,才能较完整地描述系统。3.2.5 数据字典数据字典提供对数据库描述的集中管理,它的功能是存储和检索各种数据描述(称为元数据metadata),如叙述性的数据定义等,并且为DBA提供有关的报告。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。因此在数据库设计中占有很重要的地位。数据字典中通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数

50、据流以及数据存储的逻辑内容。【例3.1】一个数据流选课单,每张选课单有一个数据项为选课单号。在数据字典中可对此数据项作如下描述。数据项名:选课单号说 明:标识每张选课单类 型:CHAR(8)长 度:8别 名:选课单号取值范围:00000001999999992.数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或有若干个数据项和数据结构混合而成。它包括数据结构名、含义及组成该数据结构的数据项名或数据结构名。3.数据流数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应包括数据流名、说明、流出的加工名

51、、流入的加工名以及组成该数据流的数据结构或数据项。数据流名:考场安排说 明:由各课程所选学生数,选定教室、时间,确定考试安排来 源:考试去 向:教师数据结构:考场安排 考试课程 考试时间 教学楼 教室编号【例3.2】考场安排是一个数据流,在数据字典中描述考场安排。4.数据存储数据存储是处理过程中要存储的数据,可以是手工凭证、手工文档或计算机文档。对数据存储的描述应包括:数据存储名、说明、输入数据流、输出数据流、数据量(每次存取多少数据)、存取频率(单位时间内存取次数)和存取方法(是批处理,还是联机处理;是检索,还是更新;是顺序存取,还是随机存取)等。【例3.4】课程是个数据存储,在数据字典中可

52、对其作如下描述。数据存储名:课程说 明:对每门课程的名称、学分、先行课程号和摘要的描述。输出数据流:课程介绍数 据 描述:课程号课程名学分数先行课程号摘要数 量:每年500种存 取 方式:随机存取5.加工过程对加工处理的描述包括加工过程名、说明、输入数据流、并简要说明处理工作、频度要求、数据量及响应时间等。处理过程:确定选课名单说 明:对要选某门课程的每一个学生,根据已选修课程确定其是否可 选该课程。在根据学生选课的人数选择适当的教室,制定选课单。输 入:学生选课 可选课程 已选课程输 出:选课单程序提要:a.对所选课程在选课表中查找其是否已选此课程 b.若未选过此课程,则在选课表中查找是否已

53、选此课程的先行课程 c.若a、b都满足,则在选课表中增加一条选课记录 d.处理完全部学生的选课处理后,形成选课单33 概念设计3.3.1 概念设计的必要性及要求1.将概念设计从数据库设计过程中独立开来的优点(1) 各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。(2) 不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定。(3) 概念模式不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而才有可能准确地反映用户的信息需求。2.概念模型的要求(1) 应真实、充分地反映现实世界中事物和事物之间的联系(2) 应简洁、清晰、独立于机器、容易理解(3)

54、应易于变动(4) 应很容易向关系、层次或网状等各种数据模型转换3.3.2 概念设计的方法与步骤1.概念设计的方法(1) 自顶向下方法。(2) 自底向上方法。(3) 逐步扩张方法。(4) 混合方式方法。2.概念设计的步骤(1) 进行数据抽象,设计局部概念模式(2) 将局部概念模式综合成全局概念模式(3) 评审3.3.3 E-R模型的操作1.实体类型的分裂一个实体类型可以根据需要分裂成若干个实体类型。分裂方式有垂直分割和水平分割两种形式。(1) 垂直分割垂直分割是指把一个实体类型的属性分成若干组,然后按组形成若干实体类型。(2) 水平分割水平分割是指把一个实体类型分裂为互不相交的子类(即得到原实体

55、类型的一个分割)。垂直分割教 师教师号姓名出生日期奖金职务工资性别教师不变信息教师号姓名出生日期性别教师可变信息教师号奖金工 资职务水平分割 女教师教师号姓名出生日期奖金职务工资男教师教师号姓名出生日期奖金职务工资2.实体类型的合并实体类型合并是实体类型分裂的逆过程,相应地,也有水平合并和垂直合并两种(一般要求被合并者应具有相同的码)。在实体类型水平分裂时,原有的联系类型也要相应分裂;反之,在水平合并时,联系类型是否改变或合并要视合并实际情况而定。相应地,垂直合并时,也可能导致新联系类型的产生。3.联系类型的分裂一个联系类型可分裂成几个新联系类型。4.联系类型的合并联系类型的合并是分裂操作的逆

56、过程。必须注意,合并的联系类型必须是定义在相同的实体类型组合中,否则是不合理的合并3.3.4 采用E-R方法的数据库概念设计1.设计局部E-R模式(1) 确定局部结构范围设计各个局部E-R模式的第一步,是确定局部结构的范围划分。划分的方式一般有两种:一种是依据系统的当前用户进行自然划分,另一种是按用户要求数据库提供的服务归纳成几类(2) 实体定义每一个局部结构都包括一些实体类型,实体定义的任务就是从信息需求和局部范围定义出发,确定每一个实体类型的属性和码。注:属性,不能再具有需要描述的性质,属性必须是不可分的数据项,不能包含其它属性,属性也不能与其它实体具有联系。(3) 联系定义E-R模型的“

57、联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考虑局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。在确定联系类型时,应注意防止出现冗余的联系(即可从其他联系导出的联系),如果存在,要尽可能地识别并消除这些冗余联系,以免将这些问题遗留给综合全局的E-R模式阶段。冗余的联系?教师任教课程授课选修学生(4) 属性分配实体与联系都确定下来后,局部结构中的其他语义信息大部分可用属性描述。这一步的工作有两类

58、:一确定属性,二是把属性分配到有关实体和联系中去。确定属性的原则是:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的;不同实体类型的属性之间应无直接关联关系。属性不可分解的要求是为了使模型结构简单化,不出现嵌套结构。2.设计全局E-R模式所有局部E-R模式都设计好后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部E-R模式,而且必须合理地表示一个完整、一致的数据库概念结构(1) 确定公共实体类型为了实现多个局部E-R模式的合并,首先要确定各局部结构中的公共实体类型。(2) 局部E-R模式的合并 合并原则是:首先进行两两合并;其次合并那些现实世界中有联

59、系的局部结构;再合并从公共实体类型开始,最后再加入独立的局部结构。(3) 消除冲突 属性冲突 结构冲突 命名冲突3.全局E-R模式的优化(1) 实体类型的合并(2) 冗余属性的消除通常在各个局部结构中是不允许冗余属性存在的。冗余属性消除与否,也取决于它对存储空间、访问效率和维护代价的影响。有时为了兼顾访问效率,有意保留冗余属性。(3) 冗余联系的消除学籍管理局部应用的分E-R图n1n11mn1nnmn1n1n11系有班级管理班主任组成指导归档拥有住宿参加具有导师学生性别宿舍档案材料社会关系学生会课程管理局部应用分E-R图11pmn1nnm系开设课程选修学生担任上课教师教材教室教师管理局部应用分

60、E-R图34 逻辑结构设计3.4.1 逻辑设计环境逻辑设计的输入输出图独立于DBMS的概念模式处理要求约束条件DBMS特征DBMS可处理的模式和子模式应用程序设计指南物理设计指南逻辑设计3.4.2 逻辑设计的步骤1.将E-R模型转成一般的关系、网状、层次模型2.设计用户子模式子模式是模式的逻辑子集。3.应用程序设计梗概设计应用程序的草图4.模式评价定量分析、性能测量5.数据模型的优化3.4.3 从E-R图向关系模型转换1.从E-R图向关系模型转换的原则(1) E-R图中的每一个实体,都相应地转换为一个关系,该关系应包括对应实体的全部属性,并应根据该关系表达的语义确定码,因为关系中的码属性是实现

温馨提示

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

评论

0/150

提交评论