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

下载本文档

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

文档简介

1、1.1 数据库系统概述 订票存取款股票超市日常办公数据库系统数据库系统已成为人们提高工作效率和管理水平的重要手段,已成为企业提高竞争力有力武器。那么,什么是数据库系统?它是如何构成如何工作的呢?我们怎样才能成功开发出一个高性能的数据库系统呢? 数据库系统涉及的相关概念(1)数据(DATA)如: “姓名“,12各(2)数据库(DATABASE 简称DB) 如:xskc.mdb(ACCESS)(3)数据库管理系统( DataBase Management System 简称DBMS) 如: MYSQL可以控制管理数据库(4)数据库管理员( Database Administrator DBA) (

2、5)数据库系统( DataBase System 简称DBS) 数据库系统( DataBase System 简称DBS) 它是存储介质、处理对象和管理系统的集合体,一般由数据库、硬件、软件、数据库管理员四部分构成。 1数据库(DataBase,简称为DB) 数据库是与一个特定组织的各项应用相关的全部数据的汇集。通常由两大部分组成: (1)有关应用所需要的工作数据的集合,称为物理数据库,它是数据库的主体; (2)关于各级数据结构的描述,称为描述数据库,通常是由一个数据字典系统管理。 数据库构建主要是通过综合各个用户的文件,除去不必要的冗余,使之相互联系形成的数据结构,数据结构的实现取决于数据库

3、的类型。2硬件支持系统 硬件是数据库赖以存在的物理设备,包括CPU,内存,外存,数据通道等各种存储、处理和传输数据的设备。3软件支持系统 主要包括操作系统、数据库管理系统、各种宿主语言和支持开发的实用程序等。 WINDOWS,UNIX / 操作系统 ACCESS,ORACLE /数据库管理系统 C+,VB,ASP等等 /宿主语言 XXX工资管理系统 /应用程序4数据库管理员(Database Administrator,简记为DBA) 管理、开发和使用数据库系统的人员主要有系统分析员、数据库管理员(DBA)、应用程序员和用户。 应用系统(超市管理系统)应用开发工具软件(C+)数据库管理系统(M

4、ySQL)操作系统(WINDOWS)硬件/数据库数据库用户5。数据库系统层次结构图1.2 数据库管理系统 数据库管理系统(DBMS)是数据库系统中对数据进行管理的软件,是数据库系统的核心组成部分。对数据库的一切操作,包括定义、查询、更新及各种控制等都是通过DBMS进行的。DBMS是用户与数据库的接口。1.数据库的定义功能 DBMS提供数据定义语言(Data Definition Language,简称DDL)定义数据库的结构,包括外模式、内模式及其相互之间的映像,定义数据的完整性约束、保密限制等约束条件。定义工作是由DBA完成的。 一.DBMS的主要功能 2.数据库操纵功能 DBMS提供数据操

5、纵语言(Data Manipulation Language,简称DML)实现对数据库的操作。基本的数据操作有四种:检索、插入、删除和修改。 DBMS的主要功能 3.数据库运行控制功能 DBMS对数据库的控制主要通过四个方面实现:数据安全性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。 DBMS的主要功能 3.数据库运行控制功能 (1)数据安全性控制 数据库安全性的控制是对数据库的一种保护。它的作用是防止未经授权的用户蓄意或无意地修改数据库中的数据,以免数据泄露,更改或破坏,使企业蒙受巨大的损失。 DBMS的主要功能 3.数据库运行控制功能 (2)数据完整性控制 数据完整性控制是

6、DBMS对数据库提供保护的另一个重要方面。其目的是保持进入数据库中的存储数据的语义的正确性和有效性,防止任何对数据造成违反其语义的操作。 DBMS的主要功能 3.数据库运行控制功能 (3)并发控制 并发控制是DBMS的第三类控制机制。数据库技术的一个优点是数据的共享性。但多个应用程序同时对数据库进行操作可能会破坏数据的正确性,或者在数据库内存储了错误的数据,或者用户读取了不正确的数据(称为脏数据)。 DBMS的主要功能 3.数据库运行控制功能 (4)恢复机制 恢复机制是保护数据库的又一重要方面。在对数据库进行操作的过程中,可能会出现各种故障,例如停电、软硬件各种错误、人为破坏等,导致数据库损坏

7、或者数据不正确。此时DBMS的恢复机制有能力把数据库恢复至最近的某个正确的状态。为了保证恢复工作的正常进行,系统要经常为数据库建立若干备份副本。 DBMS的主要功能 4.数据库的维护功能 包括数据库的初始数据的载入、转换、转储、数据库的重组和性能监视、分析等数据库的维护功能。 DBMS的主要功能 数5.数据字典(Data Dictionary,记为DD) DD中存放着数据库三级结构的描述,对于数据库的操作要通过查阅DD进行。现在有的大型系统中,把DD单独抽出来自成一个系统,成为一个软件工具,使得DD成为一个比DBMS更高级的用户和数据库之间的接口。 DBMS的主要功能 数据字典的主要作用是:供

8、数据库管理系统快速查找有关对象的信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、外模式表和模式表;供数据库管理员查询,以掌握整个系统的运行情况;支持数据库设计与系统分析。数据字典的功能 二.DBMS的工作过程 1.3 数据模型 DBMS都是针对数据模型进行设计的,任何一个数据库都要组织成符合DBMS规定的数据模型。 数据模型不仅要能表示存储了哪些数据,更重要的是还要能以一定的结构形式表示出各种不同数据之间的联系。利用这些联系很快找到相关联的数据,完成相关数据的运算处理。因此,数据模型应具有描述数据和数据联系两方面的功能。 概念数据模型 它是一种与具体的计算机和数据库管理系统

9、无关的,面向客观世界和用户的模型。(给用户看的)逻辑数据模型 是概念世界的抽象描述到信息世界的转换。它是一种面向数据库系统的模型,直接与DBMS有关。(面向专业人员)物理数据模型。 是信息世界模型在机器世界的实现。它是面向计算机物理表示的模型,此模型给出了数据模型在计算机上真正的物理结构的表示(存放在磁盘上的) 一.数据模型的三个层次(1)实体(entity)如 “学生”,“工人”(2)属性(attribute) 如“学号”,“姓名”(3)码(key) 如 “学号”(4)域(domain) 学号取8位(5)实体型(entity type)学生(学号,姓名,.)(6)实体集(entity set

10、) 全体学生(7)联系(relationship) 实体对应关系1.概念数据模型一对一联系(1:1) 例如,一个企业只有一个厂长,而一个厂长只在一个企业中任职,则企业与厂长之间具有一对一联系。 一对多联系(1:N) 例如,一个企业聘用多名工人,而一名工人只在一个企业中工作,则企业与工人之间具有一对多联系。多对多联系(M:N) 例如,一个企业聘用多名工程师,而一个工程师在多个企业中兼职,则企业与工程师之间具有多对多联系。 联系概念模型的表示方法很多,其中最为常用实体联系方法(Entity-Relationship approach)。该方法用E-R图来描述现实世界的概念模型。E-R图提供了表示实

11、体型、属性和联系的方法。(1)实体型(集):用矩形表示,矩形框内写明实体集名。(2)属性:用椭圆形表示,并用无向边将其与相应的实体集连接起来。(3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,并且在无向边旁标上联系的类型(1:1,1:N或M:N)。 联系本身也是一种实体型,也可以有属性 实体集A联系名实体集B属性名1属性名n属性名1属性名n属性名1属性名nnm学生选课课程学号课程名课程号课程号学号姓名nm多对多学生选课学校学号学校名称学校编号姓名n1一对多校长选课学校编号学校名称学校编号姓名11一对一实体型之间关系带属性的ER图层次模型(hierarchical m

12、odel)网状模型(network model)关系模型(relational model)。 2.逻辑数据模型(1)层次模型 用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(hierarchical model),层次模型的每个父结点可以有多个子结点,但每个子结点只允许有一个父结点 对于描述一种简单的“树”型结构,层次模型非常合适,并且这种模式对于包含大量数据的数据库来说,效率很高。例如,银行的客户系统就很适合层次模型,这是因为每个客户可能包含多个账户,每个账户可能会进行多个交易。 网状模型是利用集合理论创造出的一种类似树状层次的结构,与树状层次结构不同的是其中的子结点可以

13、拥有多个父结点。其实,层次模型是网状模型的一个特例。网状数据库系统的典型代表是DBTG数据库管理系统。 某一结点可以无父结点,某一结点也可以有多个父结点。 (2)网状模型下图为一个描述网状模型的简图: 网状模型的数据库,对于寻找附属于指定的对象的一组记录时,效率非常高。但是在按照某种特定的方式查找数据库记录时,数据库的速度会降低。 关系模型是目前最重要的一种模型。在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。例如,表1-1中的学生人事记录就是一个关系模型,它涉及下列概念。(3)关系数据模型 关系:对应通常说的表,如图1-1中的这张学生人事记录表;元组:表中的一行即为一个元组,

14、如(95001,张三,男,计算机系,北京)属性:表中的一列即为一个属性, 如 学号、 姓名;候选码(KEY):表中的某个属性组,它可以唯一确定一个元组,如学号,身份证,阅览证号主码或主键(KEY):表中如果有多个候选码,只能选其中唯一一个作为主码域(domain):属性的取值范围,如人的年龄一般在1-100岁之间。图1-1中学生年龄属性的域应是(1438),性别的域是(男,女),系别的域是一个学校所有系名的集合;分量:元组中的一个属性值; (8)关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,属性N)例如,上面的关系可描述为:学生(学号,姓名,性别,系别,年龄,籍贯) 假设上面的5

15、个实体型即学生、班级、课程、教师、参考书分别具有下列属性:学生(学号、姓名、性别、年龄)班级(班级编号、所属专业系)课程(课程号、课程名、学分)教师(职工号、姓名、性别、年龄、职称)参考书(书号、书名、内容提要、价格) 逻辑模型的实例 机器世界是计算机硬件和操作系统的总称。信息世界表达的数据模型及其上的数据操纵最终要用计算机世界提供的手段和方法实现,计算机世界对应的是物理模型表示。 3.物理数据模型(1) 位(bit):一个二进制数。(2) 字节(byte):8bit为一个字节,可以存放一个ASCII字符。(3) 字(word):若干字节组成一个字。一个字所含的二进制位数称为字长。(4) 块(

16、block):是内外存交换数据的基本单位,它又称物理块或磁盘块,它的大小有512字节、1024字节、2048字节等。内外存数据交换由操作系统的文件系统管理。(5) 桶(bucket):外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。(6) 卷(volume):一台输入输出设备所能装载的全部有用的信息,称为“卷”。例如磁带机的一盘磁带就是一卷,磁盘的一个盘组也是一卷。 3.物理数据模型1.4 数据库系统的模式结构 模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(instance)。

17、同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其关系,而实例反映的是数据库某一时刻的状态。1.4 数据库系统的模式结构 1.模式模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。2.外模式 外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特性的描述,是数据库用户的数据视图,是与某一应用有关的数据逻辑表示。1.4 数据库系统的模式结构 3.内模式 内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照

18、B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。一个数据库只有一个内模式。数据库三级模式应用A应用B应用C应用D外模式1外模式2外模式3概念模式内模式数据库外模式/概念模式映象概念模式/内模式映象外模式: 用户模式模式 : 逻辑模式内模式 : 物理模式1.5 数据库技术的产生与发展 数据管理经历了三个发展阶段:人工管理阶段;文件系统阶段数据库系统阶段。20世纪50年代中期以前,计算机应用于科学计算。硬件无直接存取设备,软件无操作系统和专门管理数据的软件;数据处理方式是批处理;管理者是人,方式是手工;是低级阶段。特点是:(1)数

19、据无结构化,不在计算机内部保存。(2)要手工管理数据物理存储。(3)数据面向程序不共享。(4)数据无独立性。一个程序只处理一批数据。(5)数据处理的效率很低,编写程序麻烦。 1人工管理阶段20世纪50年代后期和60年代中期,PC应用从科学计算扩大到了数据管理领域。硬件有了磁盘、磁鼓等直接存储设备;软件有了文件系统;处理方式是批处理和联机实时处理。其特点是:(1)文件长期保存。(2)由文件系统对数据进行管理。(3)数据物理结构与逻辑结构有了区别,但较简单。(4)数据共享性差。(5)程序与数据之间只有一定的独立性。缺点:数据冗余大;数据与程序间缺少独立性。2.文件管理阶段20世纪60年代后期,硬件

20、出现了大容量的磁盘,价格下降,软件出现了数据库管理系统。其特点是:(1) 数据结构化,这是数据库与文件系统的根本区别。(2) 由DBMS提供统一的管理控制功能(安全性、完整性、并发控制、数据库恢复)。(3) 数据的共享性好。 (4) 数据的独立性高。(5)可控数据冗余度,冗余度低。3. 数据库管理阶段4. 数据独立性的比较文件阶段应用程序与数据之间的关系数据库阶段程序与数据之间的关系 人工管理阶段文件系统阶段5. 数据库技术的产生应用程序1应用程序2应用程序n数据库系统阶段数据1数据2数据n文件系统物理文件1物理文件2物理文件n数据库管理系统数据库1.6 数据库系统的体系结构 从数据库管理系统

21、角度来看,数据库系统是一个三级模式结构,但数据库的这种模式结构对最终用户和程序员是透明的,他们见到的仅是数据库的外模式和应用程序。从最终用户角度来看,数据库系统分为单用户结构、主从式结构、分布式结构和客户/服务器结构。 单用户数据库系统是一种早期的最简单的数据库系统。在单用户系统中,整个数据库系统,包括应用程序、DBMS、数据,都装在一台计算机上,由一个用户独占,不同机器之间不能共享数据。1单用户数据库系统DBDBDB 主从式结构是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发

22、地存储数据库,共享数据资源。2.主从式结构的数据库系统主机DB 分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以处理本地数据库中的数据,执行局部应用;也可以同时存储和处理多个异地数据库中的数据,执行全局应用。3. 分布式结构的数据库系统主机DB主机DB网络DB主机 主从式数据库系统中的主机和分布式数据库系统中的每个结点机是一个计算机,即执行DBMS功能又执行应用程序。随着工作站功能的增强和广泛使用,人们开始把DBMS功能和应用分开,网络中某个结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器,其他结点上的

23、计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机,这就是客户/服务器机构的数据库系统。4. 客户/服务器结构的数据库系统 第一章数据库系统概述SQL数据库入门第1章 数据库入门数据库系统1.11.21.31.41.51.6知识架构数据库管理系统数据模型数据库系统的模式结构数据库技术的产生与发展数据库系统的体系结构学习目标掌握数据库系统,数据模型13了解数据库的产生与发展2熟悉数据库的模式与体系结构掌握了解熟悉2.1 关系数据库概述 关系数据库理论是美国E.F.Codd先生1970首先提出的。 关系数据模型的主要特点是数学理论和以结构简单(二维表格)为基础。 关系模型由三部分组成

24、:数据结构、关系操作集合和关系的完整性约束条件集合。关系运算理论关系模式设计理论关系数据关系数据库关系代数语言关系演算语言包括数据依赖,范式,模式设计方法1.2 关系数据结构 一.关系数据结构关系的非形式化定义:满足一定条件的二维表。基本术语1.域:一组具有相同数据类型的值的集合。2.笛卡尔积(Cartesian Product) 给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为: D1D2Dn(d1,d2,dn)diDi,i1,2,n 2.1 关系模型67元组(Tuple):每一个元素(d1,d2,dn)分量:元素中的每一个值di若Di(i1,2,n)为有限集,

25、其基数(Cardinal number)为mi(i1,2,n),则D1D2Dn的基数为: n M=mi i=1 例如:D1=孙悟空,宋江,林黛玉 D2=男,女 D3=西游记,水浒传,红楼梦D1D2D3=孙悟空,男,宋江,男,林黛玉,男, 孙悟空,女,宋江,女,林黛玉,女 D3= 孙悟空,男,西游记,宋江,男,西游记, 林黛玉,男,西游记, 孙悟空,女,西游记, 宋江,女,西游记,林黛玉,女,西游记, 孙悟空,男,水浒传,宋江,男,水浒传, 林黛玉,男,水浒传, 孙悟空,女,水浒传, 宋江,女,水浒传,林黛玉,女,水浒传, 孙悟空,男,红楼梦,宋江,男,红楼梦, 林黛玉,男,红楼梦, 孙悟空,女

26、,红楼梦, 宋江,女,红楼梦,林黛玉,女,红楼梦 2.1 关系模型683.关系(Relation)的数学定义 D1D2Dn的子集叫作在域D1、 D2、Dn上的关系,用 R(D1, D2, , Dn) 表示。R:关系的名字n:关系的目或度(Degree)。 2.1 关系模型69单元关系(Unary relation)n=1二元关系(Binary relation)n=22.1 关系模型70 小说名 人物名 性 别西游记孙悟空 男水浒传宋江 男红楼梦林黛玉 女小说人物对照表对于一个笛卡尔积只有取它的子集才有意义,这也和用户看待的二维表一样,只有满足一定条件的二维表才是研究的对象。 候选码(Cand

27、idate Key):在一个关系中,能惟一标识元组的属性或最小属性集称为关系的候选码。主码(Primary Key):若一个关系中有多个候选码,则选其中的一个为主码。 包含在任何一个候选码中的属性称为主属性(Primary Attribute),不包含在任何候选码中的属性称为非主属性(Non-primary Attribute)或非码属性(Non-key Attribute)。4.码712.1 关系模型外码(Foreign Key):设F是基本关系R的一个或一组属性,但不是R的码。Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码。并称基本关系R为参照关系(Referencing R

28、elation),基本关系S为被参照关系(Referenced Relationship)。4.码722.1 关系模型例如:学生关系和专业关系分别为:学生(学生编号,姓名,性别,年龄,专业编号,身份证号码)专业(专业编号,专业名称,专业负责人)4.码73在关系数据库中,表与表的联系就是通过公共属性实现的,这个公共属性是一个表的主码和另外一个表的外码 2.1 关系模型5.关系的性质1)分量必须取原子值2)列是同质的,即每一列的分量是同一类型的数据,来自同一个域。3)表中的列称为属性,给每列起一个名称即属性名,不同属性要起不同的属性名。4)列的顺序无关5)关系中任意两行不能相同。6)行的顺序无关。

29、742.1 关系模型1 操作对象是关系2 基本操作方式 属性指定 元祖选择 关系合并 元组插入 元组删除 2.关系操作75检索更新2.1 关系模型76关系代数语言关系演算语言具有关系代数和关系演算双重特点的语言域关系数据语言元组关系数据语言ISBLAPLHAQUELQBESQL关系数据语言关系数据语言2.1 关系模型实体完整性参照完整性用户自定义完整性3. 关系完整性约束772.1 关系模型实体完整性 规则:若属性A是基本关系R的主属性,则属性A不能取空值。782.1 关系模型79导师编号姓名性别职称1001刘易男副教授1002张清枚男教授1003王敏女教授研究生编号姓名性别研究方向导师编号2

30、004001李勇男网络安全10012004002刘晨女IPv610022004003张三男数据仓库10032004004李立男数据挖掘10022004005赵兵男网格安全导 师 研究生2.1 关系模型80外码:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。规则:若F是基本关系R的外码,并与 S的主码Ks相对应,则对于R中每个元组在F上的值必须为: 取空值(F的每个属性值均为空值) 等于S中某个元组的主码值参照完整性2.1 关系模型参照完整性例如: 学生(学号、姓名、性别) 课程(课程号、课程名、学时) 学习 (学号、课程号、成

31、绩)81思考: 每个关系的主码 哪个关系有外码2.1 关系模型某一具体应用所涉及的数据必须满足的语义要求。82职称(助教,讲师,副教授,教授)性别(男,女)用户自定义的完整性2.1 关系模型2.3 关系代数 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用关系的运算来表示查询的。任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果也为关系。 概述 传统的集合运算 4种 专门的关系运算 4种集合运算符-并差交广义笛卡尔积比较运算符 大于大于等于小于小于等于等于不等于运

32、算符含义运算符含义表1 关系代数运算符 2.2 关系代数关系代数运行符专门的关系运算符 选择投影连接除逻辑运算符 非与或运算符含义运算符含义表2 关系代数运算符(续) 2.2 关系代数概述并 R S R St|tR tSABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1a1b2c2a2b2c1a1b3c2并示意图RS交 R S R St|tR tSABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1ABCa1b2c2a2b2c1交示意图RS差 R S R St|tR tSABCa1b1c1a1b2c2a2b2c

33、1ABCa1b2c2a1b3c2a2b2c1ABCa1b1c1差示意图RS笛卡尔积 RXS trts|trR tsS ABCABCa1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSsnosnameSsexSageSdept95001李勇男20计算机95002刘晨女19信息95003王敏女18管理95004张立男19信息studentcnocnm

34、aecpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL64courseSnocnograde9500119295001285950013889500229095002380sc选择(即限定条件) f ( R )=t|tR F( t)=真例1查询信息系全体学生 sdept=信息(student) 或 5=信息(student) (按序号) 例2查询年龄小于20的学生 Sage20(student) 或 420(student) snosnameSsexSageSdept95002刘晨女19信息95004张立男19信息snosnameSs

35、exSageSdept95002刘晨女19信息95003王敏女18管理95004张立男19信息投影(即选出若干属性列) A ( R )=tA|tR例3查询学生的姓名和所在系 sname,sdept(student) 或 2,5(studnt) (按序号) 例2查询学生关系中有哪些系 sdept(student)Sdept计算机信息管理信息snameSdept李勇计算机刘晨信息王敏管理张立信息连接(将两个关系或多个关系按照条件连接)R S= trts|trR tsS trAts B非等值连接 AB , 等值连接 A=B 自然连接 :滤掉重复列的连接非等值连接 列1列2 , ABCa1b15a1b

36、26a2b38a2b412BEb13b27b310b32b52AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310RSR SC1980查询所有学生的数据,结果按出生年份降序排序GET W(学生) DOWN 出生年份*2.3.1 元组关系演算查询所有学生的数据GET W(学生)查询学生表中有哪些院系GET W(学生.学院)查询所有1980年以后出生的学生学号和籍贯GET W(学生.学号,学生.籍贯):学生.出生年份1980查询所有学生的数据,结果按出生年份降序排序GET W(学生) DOWN 出生年份*2.3.1 元组关系演算 域关系演算表达式

37、的定义用域变量代替元组变量的每一个分量,域变量的变化范围是某个值域而不是一个关系域关系演算的查询表达式为: t1,t2,tk|P(t1,t2,tk) 其中t1,t2,tk代表域变量,P是域演算公式。2域关系演算 109*2.3.1 域关系演算2.5 查询优化 数据管理经历了三个发展阶段:人工管理阶段;文件系统阶段数据库系统阶段。111用户输入查询查询的内部表示执行查询步骤向用户报告查询结果查询语句的句法分析查询优化处理查询 1、响应用户查询的一般过程 2.4 查询优化112例:查询学号为091502的学生选修的课程名称。E1=课程名(课程.学号=学习.学号学习.学号=091502(课程学习)E

38、2=课程名(课程.学号=学习.学号(课程 学号=091502(学习)E3=课程名(课程 学号=091502(学习)查询效率:E3E2E12.4.1 查询优化的必要性关系代数表达式的等价变换规则1131)连接、笛卡尔积交换律 E1E2E2 E1 E1 E2 E2 E1 E1 E2 E2 E1FF2)连接、笛卡尔积结合律 (E1E2) E3 E1(E2E3 ) (E1 E2) E3 E1 (E2 E3) (E1 E2) E3 E1 (E2 E3)F1F2F1F22.4.1 查询优化的必要性3、投影的串接定律(注意条件)A1,A2,An(B1,B2,Bm(E) A1,A2,An(E)4、选择的串接定

39、律F1(F2(E) F1F2(E)5、选择与投影的交换律(注意条件)F(A1,A2,An(E) A1,A2,An (F(E)(F只涉及A1,A2,An )A1,A2,An (F(E) A1,A2,An F(A1,An,B1,Bm(E)6、选择与笛卡尔积的交换律F (E1E2) F (E1 ) E2F (E1E2) F1 (E1 ) F2(E2) F (E1E2) F 2(F 1(E1 ) E2)1147、选择与并的交换F (E1E2) F (E1 ) F (E2)8、选择与差的交换F (E1-E2) F (E1 ) -F (E2)9、投影与笛卡尔积的交换律A1,A2,An,B1,B2,Bm (

40、E1E2) A1,A2,An (E1) B1,B2,Bm ( E2)10、投影与并的交换A1,A2,An(E1E2)A1,A2,An (E1) A1,A2,An(E2)1152.4.1 查询优化的必要性5、关系代数表达式的优化算法输入:一个关系表达式的语法树输出:计算该表达式的程序方法:1)把F1F2 .Fn(E)变换为 F1 (F2(Fn( E) 2)对每一个选择尽可能把它移到树的叶端。 3)对每一个投影尽可能把它移到树的叶端。4)合并选择和投影或一个选择后跟一个投影。5)将得到的语法树的内节点分组。(每一双目运算和它所有的直接祖先为一组。6)生成一个程序,每组节点的计算是程序中的一步。求值

41、顺序为先子孙,后祖先。116规则4规则3,5,9,10规则4-8规则3-5 1、尽可能早地执行选择操作(减少中间运算结果) 2、合并笛卡尔积和其后的选择操作,使之称为一个连接运算 3、合并连续的选择和投影操作,以免分开运算造成多次扫描文件,从而节省了操作时间 4、找出表达式里的公共子表达式。 5、适当地对关系文件做预处理1172.4.2 查询优化的策略和算法例:求001001号学生所选修的课程名及成绩 CN,G (SC.S#=001001SC.C#=C.C# (SC C)118CN,GSC.S#=001001SC.C#=C.C#SCC2.4.2 查询优化的策略和算法119CN,GSC.C#=C

42、.C#SCCSC.S#=001001CN,GSC.C#=C.C#SCCSC.S#=001001选择的串接定律选择与笛卡尔积的交换 120CN,GSC.C#=C.C#SCCSC.S#=001001CN,G,SC.C#,C.C#5、选择与投影的交换律F(A1,A2,An(E) A1,A2,An (F(E)(F只涉及A1,A2,An )A1,A2,An (F(E) A1,A2,An F(A1,An,B1,Bm(E)121CN,GSC.C#=C.C#SCCSC.S#=001001C#,CNG,C# 投影与笛卡尔积的交换律优化后的表达式122CN,G ( C#,G( SC.S#=001001(SC) C

43、N,C#(C)例:查询选修了数据库原理的学生姓名和成绩 123姓名,成绩 (课程名=数据库原理 学生.学号=学习.学号学习.课程号=课程.课程号(学生 学习 课程)姓名,成绩 (课程名=数据库原理 (学生 学习 课程)124姓名,成绩课程名=数据库原理学生.学号=学习.学号学习.课程号=课程.课程号课程学生学习125姓名,成绩学习.课程号=课程.课程号课程学生学习 课程名=数据库原理学生.学号=学习.学号规则 4 、6选择的串接选择和笛卡尔积交换126姓名,成绩学习.课程号=课程.课程号课程学生学习 课程名=数据库原理学生.学号=学习.学号姓名,成绩,学习.课程号,课程.课程号规则 5选择和投

44、影交换127姓名,成绩学习.课程号=课程.课程号课程学生学习 课程名=数据库原理学生.学号=学习.学号姓名,课程号,成绩课程号规则 9投影和笛卡尔积交换128规则 5选择和投影交换姓名,成绩学习.课程号=课程.课程号课程学生学习 课程名=数据库原理学生.学号=学习.学号课程号姓名,学生.学号,学习.学号,课程号,成绩姓名,课程号,成绩129规则 9投影和笛卡尔积交换姓名,成绩学习.课程号=课程.课程号课程学生学习 课程名=数据库原理学生.学号=学习.学号课程号姓名,学号课程号,学号,成绩姓名,课程号,成绩130姓名,成绩学习.课程号=课程.课程号课程学生学习 课程名=数据库原理学生.学号=学习

45、.学号课程号姓名,学号姓名,课程号,成绩优化后的表达式131姓名,成绩 ( 课程号,成绩,姓名(学号,姓名(学生) 学习 ) 课程号( 课程名=数据库原理(课程)关系系统:关系系统的定义关系系统的分类1322.5 关系系统关系系统(关系数据库系统):支持关系模型的数据库管理系统。1关系系统的定义一个系统可定义为关系系统,当且仅当它支持:(1)关系数据结构。(2)支持选择、投影和(自然)连接运算。对这些运算不必要求定义任何物理存取路径。1332.5.1 关系系统定义1) 表式系统:仅支持数据结构,不能算关系系统。2) (最小)关系系统:数据结构+三种关系操作。3)关系完备的系统:数据结构+所有关

46、系代数操作。4)全关系系统:支持关系模型的所有特征。 S: 数据结构 M: 数据操作 I: 完整性约束 134SMIMIS SIM SIM2.5.2 关系系统分类准则0:一个关系型的DBMS必须能完全通过它的关系能力来管理数据库。135 一个关系型DBMS的关系能力包括属性指定、元组选择、插入和删除、关系合并以及数据完整性和并发控制等,准则0指出,一个RDBMS必须能完全通过这些关系能力来管理数据库,而不需要用户介入。*2.5.3 全关系系统的12条基本准则 准则1:信息准则。 准则2:保证访问准则。 准则3:空值的系统化处理。 准则4:基于关系模型的动态的联机数据字典。136 准则1-4 保

47、证数据库完整性 *2.5.3 全关系系统的12条基本准则 准则5:统一的数据子语言。 准则6:视图更新准则。 准则7:高级的插入、修改和删除操作。137 准则5-7 保证数据库操作*2.5.3 全关系系统的12条基本准则 准则8:数据物理独立性。 准则9:数据逻辑独立性。 准则10:数据完整性的独立性。 准则11:分布独立性。 准则12:无破坏准则。138准则8-11 保证数据库独立性 *2.5.3 全关系系统的12条基本准则2.6 函数依赖 一个关系模式应当是一个5元组,它可以形式化地表示为:R(U,D,dom,F),其中R为关系名(student)U为组成该关系的属性名集合(sno,sna

48、me.)D为属性组U中属性所来自的域(取值范围)dom为属性向域的映象集合,子集,视图F为属性间数据的依赖关系集合。Sno-sname通常写作 R(U,F)snosnameSsexSageSdept95001李勇男20计算机95002刘晨女19信息95003王敏女18管理95004张立男19信息studentcnocnamecpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL64courseSnocnograde9500119295001285950013889500229095002380sc三表合并snosnameSsexSagec

49、nocnamecpnoCcreditgradeSdept95001李勇男201数据库5485计算机95001李勇男202数据库结构285计算机95001李勇男203微机原理1490计算机95004张立男191数据库6378信息95004张立男192数据库结构7482信息95004张立男193微机原理6290信息一.带来的问题1. 插入异常。根据实体完整性,主码的取值不能为空,就是说sno和cno这两列不能没有属性值。如果一个学生没有选课就不可以插进来。snosnameSsexSagecnocnamegradeSdept95001李勇男201数据库85计算机95001李勇男202数据库结构85计

50、算机95001李勇男203微机原理90计算机95004张立男191数据库78信息95004张立男192数据库结构82信息95004张立男193微机原理90信息snosnameSsexSagecnocnamegradeSdept95001李勇男201数据库85计算机95001李勇男202数据库结构85计算机95001李勇男203微机原理90计算机95004张立男191数据库78信息95004张立男192数据库结构82信息95004张立男193微机原理90信息2. 删除异常。如果一个年纪的学生全部毕业了,在删除该学生团体元组的同时,把这个团体的课程及系部信息也丢掉了。3. 数据冗余。一个学生选多省

51、门课,相关信息就得跟随多少次。snosnameSsexSagecnocnamegradeSdept95001李勇男201数据库85计算机95001李勇男202数据库结构85计算机95001李勇男203微机原理90计算机95004张立男191数据库78信息95004张立男192数据库结构82信息95004张立男193微机原理90信息4. 更新异常.由于数据冗余,在数据修改时会出现问题。例如,改一门课程,就得涉及许多学生修改。snosnameSsexSagecnocnamegradeSdept95001李勇男201数据库85计算机95001李勇男202数据库结构85计算机95001李勇男203微机

52、原理90计算机95004张立男191数据库78信息95004张立男192数据库结构82信息95004张立男193微机原理90信息二、函数依赖定义 设有关系模式R(A1,A2,An)或简记为R(U),X,Y是U的子集(属性集),r是R的任一具体关系,如果在当前值r的任意两个元组t1,t2中, 若t1X= t2X,必然有t1Y= t2Y,则称X函数确定Y,或Y函数依赖于X,记为XY。X叫做决定因素,XY为模式R的一个函数依赖。或者说,对于X的每一个具体值,都有Y唯一的具体值与之对应,即Y值由X值决定,因而这种数据依赖称为函数依赖。A1A2A3A4.An.snosnmaesexsage.95001李

53、勇男2095001李勇男20.R(U)r (如student)YXt1t2XY三. 码候选码 , 主码,全码,外码主属性, 非主属性snosnameSsexSagebodynoSdept95001李勇男20130702.计算机studentscsnocnograde95001185四、几种函数依赖完全函数依赖在R(U)中,如果Y函数依赖于X,但对于X的任何一个真子集X,都有Y不函数依赖于X,则称Y对X完全函数依赖,记为XY。snocnograde95001185XYX 部分函数依赖如果XY,但Y不完全函数依赖于X,称Y对X部分函数依赖,记为XY。XYsnocnosnamegrade950011

54、name85X即: XY 同时 XY 传递函数依赖 在R(U)中,如果XY, Y不包含X,Y不函数依赖于X,YZ,则称Z对X传递函数依赖。snosdeptmaster95001计算机李明95050外语王海sno-sdept, sdept-master 则sno-master2.7 数据库系统的体系结构 范式最早是由E.F.Codd提出来的,满足特定要求的模式称之为范式(Normal form,简称NF)。所谓第几范式,就是满足特定要求的模式的集合。 范式共有六个级别,从低到高依次是1NF,2NF,3NF,BCNF,4NF,5NF,若某关系模式R为第三范式,那么它一定是一个第二范式,但反之不然。

55、 第一范式是规范化的最低要求,第一范式要求数据表不能存在重复记录,即存在一个主码,主码是码的最小子集。每个字段对应的值都是不可分割的数据项。1、 第一范式 学号 姓名英语数学数据库970001李明696886980007张三788073990008王五856370 学号 姓名成绩英语数学数据库970001李明696886980007张三788073990008王五856370若关系模式R是第一范式,且R中的每一个非主属性完全函数依赖于R的某个侯选码,则称R是属于第二范式。即去掉非主属性对某个侯选码的部分函数依赖。2 、第二范式snosnameSsexSagecnogradeSdept95001

56、李勇男20185计算机95001李勇男20285计算机95001李勇男20390计算机95004张立男19178信息95004张立男19282信息1NF(sno,cno)-sname 同时sno-sname 存在部分函数依赖(sno,cno)-ssex 同时sno-ssex 存在部分函数依赖去掉非主属性对主属性的部分函数依赖,成为2NFsnosnameSsexSageSdept95001李勇男20计算机95001李勇男20计算机Snocnograde9500119295001285studentSC若关系模式R是第二范式,且R中的每一个非主属性都不传递函数依赖于R的某个侯选码,则称R是属于第三

57、范式。即去掉非主属性对侯选码的传递函数依赖3、第三范式snosdeptmaster95001计算机李明95050外语王海sno-sdept, sdept-master 则sno-master将其分解去掉传递函数依赖,分解为两个关系snosdept95001计算机95050外语sdeptmaster计算机李明外语王海160凡是满足3NF的关系,一般都能获得满意的效果。但是某些情况下,3NF仍会出现问题。原因是没有对主属性与关键字之间给出任何限制,如果出现主属性部分或传递依赖于KEY,则也会使关系性能变坏4、BCNF(扩充的3NF)范式1614、BCNF(扩充的3NF)范式162一个满足BCNF的

58、关系模式有:所有非主属性对每一个码都是完全函数依赖。所有主属性对每一个不包含它的码也是完全函数依赖。没有任何属性完全函数依赖于非码的任何一组属性。例:关系模式SJP(S,J,P) S:学生 学生选修课程有一定的名次 J:课程 每门课程中每一名次只有一个学生 P:名次 (名次没有并列)163BCNF(扩充的3NF) 函数依赖: (S,J) P 分析得知:SJP 3NF SJP BCNF (J,P) S例:关系模式STJ(S,T,J) S:学生 某一学生选定某门课,就对应一个固定教师 T:教师 每个教师只教一门课 J: 课程 每门课有若干教师 函数依赖: (S,J) T ,(S,T) J,TJ分析

59、得知:STJ 3NF但是:STJ BCNF 因为: T J,而T不是码 STJ可以分解为:ST(S,T)TJ(T,J)1644、BCNF(扩充的3NF)判断题:()若关系中所有的属性均为主属性,则关系至少可以达到NF?()若关系为双目关系,则至少可以达到BCNF?()若每个决定因素都是单属性,则至少可以达到NF?(4)若每个码都是单属性,则R至少可以达到2NF?1663NF与BCNF的关系 如果一个关系数据库中的所有关系模式都属于BCNF,那么在函数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度,消除了插入异常和删除异常。如果关系模式RBCNF,必定有R3NF。如果R3NF,且R

60、只有一个候选码,则R必属于BCNF。消除非主属性对码的传递函数依赖消除非主属性对码的部分函数依赖使每个属性都不可再分非规范表1NF2NF3NF消除主属性对码的部分函数依赖BCNF需求分析 概念结构设计 逻辑结构设计 数据库物理设计 数据库实施 数据库运行与维护3.1 数据库设计的基本步骤 数据库设计步骤结构图1.需求分析:这一阶段要求充分而准确了解和分析用户需求(包括数据需求和处理需求)。这是整个设计过程的基础,是最费时最困难的一步。2.概念结构设计:是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。3.逻辑结构设计:将概念模型转换为某个DBM

温馨提示

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

评论

0/150

提交评论