《数据库原理》PPT课件_第1页
《数据库原理》PPT课件_第2页
《数据库原理》PPT课件_第3页
《数据库原理》PPT课件_第4页
《数据库原理》PPT课件_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

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

文档简介

2020/5/4,数据库原理,HunanInstituteofTechnologyDepartmentofComputerScienceSpring2007,数据库原理PrinciplesofDatabase,湖南工学院计算机系,2020/5/4,数据库原理,教材及参考书(1),教材陈利平,高金华等:数据库原理(第一版),中国铁道出版社,2007,2020/5/4,数据库原理,教材及参考书(2),参考书王珊,陈红:数据库系统原理教程,清华大学出版社,2000郭盈发,张红娟:数据库原理,西安电子科技大学出版社,2003上机软件SQLServer2000,2020/5/4,数据库原理,学习方式,听课(启发式、讨论式)读书(预习、复习)报告(综合练习),2020/5/4,数据库原理,考试成绩,平时成绩(书面作业、上机练习、综合练习)期末考试,2020/5/4,数据库原理,内容安排(1),基础篇第1章数据库系统概述第2章关系数据模型第3章关系数据库的标准语言SQL第4章关系数据库规范化理论设计篇第5章数据库设计,2020/5/4,数据库原理,内容安排(2),系统篇第6章数据库的管理第7章数据库系统的访问第8章数据库技术的发展,2020/5/4,数据库原理,湖南工学院计算机系,数据库原理PrinciplesofDatabase第1章数据库系统概述,2020/5/4,数据库原理,第1章数据库系统概述,本章要点:数据库技术的发展数据库系统涉及的最基本、最重要的概念,2020/5/4,数据库原理,第1章数据库系统概述,1.1数据库技术的发展1.2数据库的基本概念1.3数据模型1.4数据库系统的结构1.5数据库管理系统1.6小结,2020/5/4,数据库原理,当今时代是信息技术飞速发展的时代。而作为信息技术主要支柱之一的数据库技术在社会各个领域中有着广泛的应用。对信息进行收集、组织、存储、加工、传播、管理和使用都以数据库为基础,利用数据库可以为各种用户提供及时的、准确的、相关的信息,满足这些用户的各种不同的需要。数据库技术研究的问题是:如何科学地组织和存储数据,如何高效地获取和处理数据,如何更广泛、更安全地共享数据。,2020/5/4,数据库原理,数据库应用例1,如航空售票系统,包括的数据项:1)座位预定信息:座位分配、座位确认等2)航班信息:航班号、飞机型号、机组号、起飞地、目的地、起飞时间、到达时间等。3)机票信息:票价、折扣、有无等。系统工作:1)查询:某一时间内从某个指定地到另一指定地的航班,是否有可以选择的座位、飞机型号、票价、折扣等。2)更新:登记航班、分配座位等3)统计:统计经常乘坐某一航班的乘客信息等。,2020/5/4,数据库原理,数据库应用例2,图书管理系统,包括的主要数据项:1)图书信息:书号、书名、作者姓名、出版日期等2)作者信息:姓名、性别、住址、电话等3)出版社信息:名称、地址、社长、电话等4)读者信息:姓名、借书号、借书数量等管理工作:1)查询:查看图书、检索指定作者的图书、检索指定出版社出版的图书等。2)更新:新书登记、作者信息等,2020/5/4,数据库原理,1.1数据库技术的发展,随着计算机硬件和软件的发展,计算机数据管理方法至今大致经历了四个阶段:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段。,2020/5/4,数据库原理,1.1.1人工管理阶段这个阶段数据管理的特点如下:数据不保存系统没有专用的软件对数据进行管理数据不共享数据不具有独立性程序与数据之间的关系可用图1-1表示:,图1-1人工管理阶段,2020/5/4,数据库原理,1.1.2文件系统阶段用文件系统管理数据的特点如下:数据以文件形式可长期保存下来文件系统可对数据的存取进行管理文件组织多样化程序与数据之间有一定独立性与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:,2020/5/4,数据库原理,数据冗余度大数据独立性差数据一致性差在文件系统阶段,程序与数据之间的关系可用图1-2表示。,图1-2文件系统阶段,2020/5/4,数据库原理,例1.1】某学校利用计算机对教职工的基本情况进行管理,各部门分别建立三个文件:职工档案文件、职工工资文件和职工保险文件。每一职工的电话号码在这三个文件中重复出现,这就是“数据冗余”。若某职工的电话号码需要修改,就要修改这三个文件中的数据,否则会引起同一数据在三个文件中不一样;产生的原因主要是三个文件中数据没有联系。,2020/5/4,数据库原理,若在职工档案文件中存放电话号码值,而其他文件中不存放电话号码值,而存放档案文件中电话号码值的位置作为“指针”。则可消除文件系统中的三个缺点。,2020/5/4,数据库原理,1.1.3数据库系统阶段数据库系统管理数据的特点如下:数据结构化数据结构化是数据库与文件系统的根本区别。【例1.2】要建立学生成绩管理系统,系统包含学生(学号、姓名、性别、系别、年龄)、课程(课程号、课程名)、成绩(学号、课程号、成绩)等数据,分别对应三个文件。,2020/5/4,数据库原理,数据共享性高、冗余少,易扩充数据独立性高数据的独立性是指数据的逻辑独立性和数据的物理独立性。有统一的数据控制功能数据库管理系统提供四方面的数据控制功能:数据的安全性(security)控制数据的完整性(integrity)控制,2020/5/4,数据库原理,并发(concurrency)控制数据恢复(recovery)数据库系统阶段,程序与数据之间的关系可用图1-3表示。,图1-3数据库系统阶段,2020/5/4,数据库原理,1.1.4高级数据库阶段1.分布式数据库技术分布式数据库系统主要有以下特点:数据的物理分布性和逻辑整体性。场地自治和协调。各地的计算机由数据通信网络相联系。数据的分布透明性。适合分布处理的特点,提高系统处理效率和可靠性。,2020/5/4,数据库原理,分布式数据库系统具体结构如图1-4所示。,图1-4分布式数据库,2020/5/4,数据库原理,2.面向对象数据库技术面向对象数据库系统的主要特点:对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归的联系。具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。3.面向应用领域的数据库技术,2020/5/4,数据库原理,1.2数据库的基本概念,在介绍数据库的基本概念之前,先介绍一些数据库最常用的术语和基本概念。,2020/5/4,数据库原理,在数据处理中,我们最常用到的基本概念就是数据和信息,信息与数据有着不同的含义。信息(Information)1)定义:信息是关于现实世界事物的存在方式或运动状态的反映的综合,具体说是一种被加工为特定形式的数据,但这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。如:“2000年硕士研究生将扩招30%”,对接受者有意义,使接受者据此作出决策。,2020/5/4,数据库原理,2.信息的特征信息源于物质和能量,它不可能脱离物质而存在,信息的传递需要物质载体,信息的获取和传递要消耗能量。如信息可以通过报纸、电台、电视、计算机网络进行传递。信息是可以感知的,人类对客观事物的感知,可以通过感觉器官,也可以通过各种仪器仪表和传感器等,不同的信息源有不同的感知形式。如报纸上刊登的信息通过视觉器官感知,电台中广播的信息通过听觉器官感知。信息是可存储、加工、传递和再生的。动物用大脑存储信息,叫做记忆。计算机存储器、录音、录像等技术的发展,进一步扩大了信息存储的范围。借助计算机,还可对收集到的信息进行取舍整理。,2020/5/4,数据库原理,1.2.1数据(Data),1.数据的定义数据是用来记录信息的可识别的符号,是信息的具体表现形式。2.数据的表现形式可用多种不同的数据形式表示同一信息,而信息不随数据形式的不同而改变。如“2000年硕士研究生将扩招30%”,其中的数据可改为汉字形式“两千年”、“百分之三十”。数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括数字和文字,还包括图形、图象、声音等。这些数据可以记录在纸上,也可记录在各种存储器中。,2020/5/4,数据库原理,数据包括数字、文字、声音、图形、图像等用数据描述的现实世界中的对象可以是实在的事物,如描述一个学生的情况可用学号、姓名、性别、年龄、系别、入学时间等,则可以这样描述:(80102、赵文、男、22、计算机系、2003)这里的学生记录就是数据。,2020/5/4,数据库原理,数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。如上例中的数据2000、30%被赋予了特定的语义,它们就具有了传递信息的功能。3.数据处理数据处理是将数据转换成信息的过程,包括对数据的收集、存储、加工、检索、传输等一系列活动。其目的是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据。可用下式简单的表示信息、数据与数据处理的关系:信息=数据+数据处理数据是原料,是输入,而信息是产出,是输出结果。“信息处理”的真正含义应该是为了产生信息而处理数据。,2020/5/4,数据库原理,1.2.2数据库(DataBase,简称DB)数据库是长期存储在计算机内有组织的共享的数据的集合。数据库中的数据按一定的数据模型组织、描述和储存。数据库特点:集成性共享性,2020/5/4,数据库原理,1.2.3数据库管理系统(DataBaseManagementSystem,简称DBMS)数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它是数据库系统的核心组成部分。它的主要功能有以下几个方面:数据定义数据操纵数据库运行管理,2020/5/4,数据库原理,数据库的建立和维护功能数据通信1.2.4数据库系统(DataBaseSystem,简称DBS)数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成(见图1-5)。,2020/5/4,数据库原理,图1-5数据库系统,2020/5/4,数据库原理,1.2.5用户(User)用户是指使用数据库的人,即对数据库的存储、维护和检索等操作。用户大致可分为终端用户、应用程序员和数据库管理员。1.终端用户(EndUser)主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员。,2020/5/4,数据库原理,2.应用程序员(ApplicationProgrammer)负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。3.数据库管理员(DadaBaseAdministrator,简称DBA)DBA是数据库所属单位的代表。,2020/5/4,数据库原理,1.3数据模型,数据模型(DataModel)是专门用来抽象、表示和处理现实世界中的数据和信息的工具。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易理解;三是易在计算机上实现。数据模型是数据库系统的核心和基础。,2020/5/4,数据库原理,数据模型与概念模型,1三个世界的划分由于计算机不能直接处理现实世界中的具体事物,所以人们必须将具体事物转换成计算机能够处理的数据。在数据库中用数据模型来抽象、表示和处理现实世界中的数据。数据库即是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的数据的集合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。这个集合或者包含了信息的一部分(用用户视图模拟),或者包含了信息的全部(用概念视图模拟),而这种模拟是通过数据模型来进行的。,2020/5/4,数据库原理,为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,在实际的数据处理过程中,首先将现实世界的事物及联系抽象成信息世界的信息模型,然后再抽象成计算机世界的数据模型。信息模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示,是概念模型;概念模型经过抽象,转换成计算机上某一DBMS支持的数据模型。所以说,数据模型是现实世界的两级抽象的结果。在数据处理中,数据加工经历了现实世界、信息世界和计算机世界三个不同的世界,经历了两级抽象和转换。这一过程如图1.6所示。,数据模型与概念模型,2020/5/4,数据库原理,图1.6数据处理的抽象和转换过程,数据模型与概念模型,2020/5/4,数据库原理,1.3.1概念模型1.概念模型中的基本概念实体(entity)实体是一个数据对象,指应用中可以区别的客观存在的事物。属性(attribute)实体所具有的某一特性成为属性。实体集(entityset)所有属性名完全相同的同类实体的集合,称为实体集。,2020/5/4,数据库原理,码(Key)能惟一标识实体的属性或属性集,称为码,有时也称为实体标识符,或简称为键。域(Domain)属性的取值范围称为该属性的域(值域)实体型(EntityType)实体集的名及其所有属性名的集合,称为实体型。,2020/5/4,数据库原理,计算机世界中的基本概念信息世界中的实体抽象为计算机世界中的数据,存储在计算机中。在计算机世界中,常用的主要概念如下:1.字段(Field):对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。如学生有学号、姓名、年龄、性别、系等字段。2.记录(Record):对应于每个实体的数据称为记录。如一个学生(990001,张立,20,男,计算机)为一个记录。3.文件(File):对应于实体集的数据称为文件。如所有学生的记录组成了一个学生文件。,2020/5/4,数据库原理,2概念模型中实体的联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。两个实体集之间的联系可归纳为以下三类:,2020/5/4,数据库原理,一对一联系(1:1)如果对于实体集E1中的每个实体,实体集E2至多有一个(也可没有)实体与之联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”(见图1-7所示)。图17两个实体集之间的联系,2020/5/4,数据库原理,一对多联系(1:n)如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:n”(见图1-8所示)。,实体集E1实体集E2,图1-8两个实体集之间的联系(1:n),2020/5/4,数据库原理,多对多联系(m:n)如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“m:n”(见图1-9所示)。,实体集E1实体集E2,图1-9两个实体集之间的联系(m:n),2020/5/4,数据库原理,3概念模型的表示方法概念模型的表示方法很多,其中广泛被采用的是实体联系模型(EntityRelationshipModel)。它是由PeterChen于1976年在题为“实体联系模型:将来的数据视图”论文中提出的,简称为E-R模型。E-R模型的要素E-R模型的主要的元素是:实体集、属性、联系集,其表示方法如下:实体用方框表示,方框内注明实体的命名。,2020/5/4,数据库原理,属性用椭圆形框表示,框内写上属性名,并用无向连线与其实体集相连,加下画线的属性为标识符。联系用菱形框表示,并用线段将其与相关的实体连接起来,并在连线上标明联系的类型,即1:1、1:n、m:n。因此,E-R模型也称为E-R图。E-R图(E-Rdiagram)是用来描述实体集、属性和联系的图形。图中每种元素都用结点表示。用实线来连接实体集与它的属性以及联系与它的实体集。,2020/5/4,数据库原理,【例1.4】图1-12是一个E-R图,表示一个简单的电影数据库。实体集是电影、影星和制片公司。电影实体集有三个属性:电影名、电影制作日期、片长。另外两个实体集影星和制片公司正好有两个相同的属性:名称和地址。图中还有两个联系:签约是电影及其影星的联系。因此这也是影星及其参演电影的联系。拥有是电影及其所属电影公司的联系。,2020/5/4,数据库原理,图1-12电影数据库的实体联系图,2020/5/4,数据库原理,建立E-R图建立E-R图的步骤:确定实体和实体的属性;确定实体和实体之间的联系及联系的类型;给实体和联系加上属性。注:如何划分实体及其属性有两个原则可参考:一是属性不再具有需要描述的性质。属性在含义上是不可分的数据项。二是属性不能再与其他实体集具有联系,即E-R模型指定联系只能是实体集间的联系。,2020/5/4,数据库原理,例如,教师是一个实体集,可以有教师编号、姓名、性别等属性,工资若没有进一步描述的特性,则工资可作为教师的一个属性。但若涉及到工资的详细情况,如基本工资、各种补贴、各种扣除时,它就成为一个实体集。如图1-15所示。,2020/5/4,数据库原理,2020/5/4,数据库原理,1.3.2数据模型1.数据模型的组成要素数据模型是数据库系统的核心和基础,任何DBMS都支持一种数据模型。数据模型通常由数据结构、数据操作和完整性约束三部分组成。数据结构数据结构描述了系统的静态特性,是数据模型本质的内容。数据操作数据操作描述了系统的动态特性。,2020/5/4,数据库原理,数据的约束条件数据的约束条件是一组完整性规则的集合。2.最常用的数据模型目前,数据库领域中最常用的数据模型有四种,它们是:层次模型(HierarchicalModel)l网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)其中,前两类模型称为非关系模型。,2020/5/4,数据库原理,1.3.3层次模型层次模型是数据库系统中最早出现的数据模型,典型的层次模型系统是美国IBM公司于1968年推出的IMS(InformationManagementSystem)数据库管理系统,这个系统在20世纪70年代在商业上得到广泛应用。其数据库模型如图1-16所示。,图1-16层次模型,2020/5/4,数据库原理,1.层次模型的数据结构树的结点是记录类型,有且仅有一个结点无父结点,这样的结点称为根结点,每个非根节点有且只有一个父结点。在层次模型中,一个结点可以有几个子结点,也可以没有子结点。前一种情况下,这几个子结点称为兄弟结点,如图1-16中的专业和教研室;后一种情况下,该结点称为叶结点,如图1-16中的学生和教师。图1-17是图1-16数据模型的一个实例。它是计算机系记录值及其所有的后代记录值组成的一棵树。,2020/5/4,数据库原理,图1-17学校层次数据库模型,2020/5/4,数据库原理,层次模型的数据结构的特点:有且仅有一个结点没有双亲,该结点称为根结点;除根结点以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系;任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。,2020/5/4,数据库原理,2.层次模型的数据操作与数据完整性约束层次模型的数据操作的最大特点是必须从根结点入手,按层次顺序访问。层次模型的数据操作主要有查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次模型的完整性约束条件。3.层次模型的优缺点层次模型的优点主要有:层次数据模型本身比较简单,只需很少几条命令就能操纵数据库,比较容易使用。结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系。,2020/5/4,数据库原理,它提供了良好的数据完整性支持。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型实现,其性能优于关系模型,不低于网状模型。层次模型的缺点主要有:层次模型不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。对数据的插入和删除的操作限制太多。查询子女结点必须通过双亲结点。由于结构严密,层次命令趋于程序化。,2020/5/4,数据库原理,1.3.4网状模型用有向图结构表示实体类型及实体间联系的数据模型成为网状模型(NetworkModel)。1969年,CODASYL组织提出DBTG报告中的数据模型是网状模型的主要代表。1.网状模型的数据结构网状模型的特点:有一个以上的结点没有双亲;至少有一个结点可以有多于一个双亲。即允许两个或两个以上的结点没有双亲结点,允许某个结点有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。,2020/5/4,数据库原理,网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系,箭头表示从箭尾的记录类型到箭头的记录类型间联系是1:n联系。如:学生和教师间的关系。一个学生可以有多个老师任教,一个老师可以教多个学生。如图1-18所示,图1-18学校网状模型,2020/5/4,数据库原理,2.网状模型的数据操纵与完整性约束网状模型的数据操纵主要包括查询、插入、删除和修改数据。它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束,主要有:支持记录码的概念,码是唯一标识记录的数据项的集合。如学生记录中学号是码,因此数据库中不允许学生记录中学号出现重复值。保证一个联系中双亲记录和子女记录之间是一对多的联系。可以支持双亲记录和子女记录之间某些约束条件。如有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。,2020/5/4,数据库原理,3.网状模型的优缺点网状模型的优点主要有:能更为直接地描述客观世界,可表示实体间的多种复杂联系,如一个结点可以有多个双亲。具有良好的性能,存储效率较高。网状模型的缺点主要有:结构复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于最终用户掌握。其DDL、DML语言极其复杂,用户不容易使用。数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。,2020/5/4,数据库原理,1.3.5关系模型关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。1970年,美国IBM公司的研究员E.F.Codd首次提出了数据系统的关系数据模型,标志着数据库系统新时代的来临,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。由于E.F.Codd的杰出工作,他于1981年荣获ACM图灵奖。1980年后,各种关系数据库管理系统的产品迅速出现,如Oracle、Ingress、Sybase、Informix等,关系数据库系统统治了数据库市场,数据库的应用领域迅速扩大。,2020/5/4,数据库原理,与层次模型和网状模型相比,关系模型的概念简单、清晰,并且具有严格的数据基础,形成了关系数据理论,操作也直观、容易,因此易学易用。无论是数据库的设计和建立,还是数据库的使用和维护,都比非关系模型时代简便得多。与其他的数据模型相同,关系模型也是由数据结构、数据操作和完整性约束三部分组成。1.数据结构在关系模型中,数据的逻辑结构是关系。关系可形象地用二维表表示,它由行和列组成。现以职工表(图1-19所示)为例,介绍关系模型中的一些术语。,2020/5/4,数据库原理,l关系(Relation):一个关系可用一个表来表示,常称为表,如图1-19中的这张职工表。每个关系(表)都有与其它关系(表)不同的名称。元组(Tuple):表中的一行数据总称为一个元组。一个元组即为一个实体的所有属性值的总称。一个关系中不能有两个完全相同的元组。,图1-19关系模型的数据结构,2020/5/4,数据库原理,属性(Attribute):表中的每一列即为一个属性。每个属性都有一个属性名,在每一列的首行现实。一个关系中不能有两个同名属性。如图1-19的表有五列,对应五个属性(员工编号,性命,年龄,性别,部门号)。域(Domain):一个属性的取值范围就是该属性的域。如职工的年龄属性域为2位整数(18-70),性别的域为(男,女)等。分量(Component):一个元组在一个属性上的值称为该元组在此属性上的分量。主码(Key):表中的某个属性组,它可以唯一确定一个元组,如图1-19中的职工编号,可以唯一确定一个职工,也就成为本关系的主码。,2020/5/4,数据库原理,关系模式:一个关系的关系名及其全部属性名的集合简称为该关系的关系模式。一般表示为:关系名(属性1,属性2,属性n)关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件是:l关系中的每一列都必须是不可分的基本数据项,即不允许表中还有表。l属性间的顺序、元组间的顺序是无关紧要的。,2020/5/4,数据库原理,2.数据操作系数据模型的操作主要包括查询、插入、删除和修改数据。它的特点在于:操作对象和操作结果都是关系,即关系模型中的操作是集合操作。它是若干元组的集合,而不像非关系模型中那样是单记录的操作方式。关系模型中,存取路径对用户是隐藏的。用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”,从而方便了用户,提高了数据的独立性。,2020/5/4,数据库原理,3.完整性约束完整性约束是一组完整的数据约束规则,它规定了数据模型中的数据必须符合的条件,对数据作任何操作时都必须保证制。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。其具体含义在后面介绍。4.关系模型的存储结构关系模型的数据独立性最高,用户基本上不能干预物理存储。在关系模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件的形式存储,有的系统一个表对应于一个操作系统文件,有的系统一个数据库中所有的表对应于一个或多个操作系统文件,有的系统自己设计文件结构。,2020/5/4,数据库原理,1.4数据库系统的结构,可以从多种不同的角度考查数据库系统的结构。从数据库管理系统的角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的体系结构。从数据库最终用户的角度看,数据库系统的结构分为集中式结构、分布式结构和客户机/服务器结构,这是数据库系统外部的体系结构。,2020/5/4,数据库原理,1.4.1数据库系统的三级模式结构各实际的数据库管理系统虽然使用的环境不同,内部数据的存储结构不同,使用的语言也不同,但对数据,一般都采用三级模式结构。1.数据模式(DataSchema)在数据模型中有“型”(Type)和“值”(Value)的概念。型是对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如:学生记录定义为(学号、姓名、性别、系别、年龄),称为记录型,而(001101,张立,男,计算机,20)则是该记录型的一个记录值。,2020/5/4,数据库原理,模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。它仅仅涉及到型的描述,不涉及到具体的值。某数据模式下的一组具体的数据值称为数据模式的一个实例。2.数据库系统的三级模式结构通常DBMS把数据库从逻辑上分为三级,即外模式、模式和内模式,它们分别反映了看待数据库的三个角度。为了支持三级模式,DBMS必须提供在这三级模式之间的两级映象:即外模式/模式映象与模式/内模式映象。,2020/5/4,数据库原理,图1.20数据库系统的三级模式结构,数据库系统的结构,2020/5/4,数据库原理,模式(Schema)模式也称概念模式(ConceptualSchema)或概念视图,是数据库中全体数据的逻辑结构和特征的描述。一个数据库只有一个模式。DBMS提供模式描述语言(模式DDL)来严格地定义模式。外模式(ExternalSchema)外模式又称子模式(Subschema)或用户模式或外视图,是三级结构的最外层,也是最靠近用户的一层,反映数据库用户看待数据库的方式,是模式的某一部分的抽象表示。,2020/5/4,数据库原理,它是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。DBMS提供子模式描述语言(子模式DDL)来定义子模式。内模式(InternalSchema)内模式又称为存储模式(StorageSchema)或内视图,是三级结构中的最内层,也是靠近物理存储的一层,即与实际存储数据方式有关的一层,由多个存储记录组成,但并非物理层,不必关心具体的存储位置。,2020/5/4,数据库原理,内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示,外模式是概念模式的某一部分的抽象表示。三级结构的优点l保证数据的独立性。将外模式和模式分开,保证了数据的逻辑独立性;将模式和内模式分开,保证了数据的物理独立性。l有利于数据共享。在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。l简化了用户接口。按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。l利于数据的安全保密。在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。,2020/5/4,数据库原理,1.4.2数据库系统的二级映象1.外模式/模式映象外模式描述的是数据的局部逻辑结构,而模式描述的是数据的全局逻辑结构。数据库中的同一模式可以有任意多个外模式,对于每一个外模式,都存在一个外模式/模式映象。它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。2.模式/内模式映象数据库中的模式和内模式都只有一个,所以模式/内模式映象是唯一的。它确定了数据的全局逻辑结构与存储结构之间的对应关系。,2020/5/4,数据库原理,1.4.3面向用户的数据库体系结构用数据库最终用户的观点,数据库系统的结构分为集中式结构、分布式结构和客户机/服务器结构。1.集中式结构集中式结构是指一台主机带上多个用户终端的数据库系统(图1-22所示)。终端一般只是主机的扩展,它们并不是独立的计算机。终端本身并不能完成任何操作,它们依赖主机完成所有的操作。在集中式结构中,DBMS、DB、应用程序都是集中存放在主机上的。集中式结构的优点是简单、可靠、安全。它的缺点是主机的任务繁重,终端数有限,且当主机出现故障时,整个系统就不能使用。,2020/5/4,数据库原理,图1-22集中式结构,2020/5/4,数据库原理,2.客户机/服务器结构在客户机/服务器结构中,同样需要一台主计算机(称之为服务器),一台或多台个人电脑(称之为客户机)通过网路连接到服务(图1-23所示)。,图1-23客户机/服务器结构,2020/5/4,数据库原理,3.分布式结构分布式数据库是一组结构化的数据集合,它们在逻辑上属于同一系统而在物理上分布在计算机网络的不同结点上(图1-24所示)。,2020/5/4,数据库原理,1.5数据库管理系统,1.5.1DBMS(数据库管理系统)工作模式数据库管理系统是对数据进行管理的软件系统,它是数据库系统的核心组成部分,用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。DBMS的工作示意图如图1-25所示。,2020/5/4,数据库原理,DBMS的工作模式如下:接受应用程序的数据请求和处理请求。将用户的数据请求转换成复杂的机器代码。实现对数据库的操作。,图1-25DBMS的工作模式,2020/5/4,数据库原理,从对数据库的操作中接受查询结果。对查询结果进行处理。将处理结果返回给用户。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。为了使读者对数据库系统工作有一个整体的概念,现以查询为例,介绍一下访问数据库的主要步骤,该过程如图1-26所示。当执行应用程序中一条查询数据库的记录时,则向DBMS发出读取相应记录的命令,并指明外模式名。DBMS接到命令后,调出所需的外模式,,2020/5/4,数据库原理,并进行权限检查;若合法,则继续执行;否则向应用程序返回出错信息。DBMS访问模式,并根据外模式/模式映象,确定所需数据在模式上的有关信息(逻辑记录型)。DBMS访问内模式,并根据模式/内模式映象,确定所需数据在内模式上的有关信息(读取的物理记录及存取方法)。DBMS向操作系统发出读相应数据的请求(读取记录)。操作系统执行读命令,将有关数据从外存调入到系统缓冲区上。,2020/5/4,数据库原理,DBMS把数据按外模式的形式送入用户工作区,返回正常执行的信息。,图1-26访问数据库的步骤,2020/5/4,数据库原理,1.5.2DBMS的主要功能DBMS的主要功能有以下几个方面:1.数据库定义功能DBMS提供数据定义语言DDL(DataDefineLanguage),定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映象,定义有关的约束条件。2.数据操纵功能DBMS提供数据操纵语言DML(DataManipulationLanguage)实现对数据库的基本操作,包括检索、插入、修改、删除等。,2020/5/4,数据库原理,3.数据库运行管理功能它包括以下四个方面:数据的安全性控制。数据的完整性控制。多用户环境下的并发控制。数据库的恢复。4.数据库的建立和维护功能它包括数据库的初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。,2020/5/4,数据库原理,5.数据通信DBMS提供与其他软件系统进行通信的功能。实现用户程序与DBMS之间的通信,通常与操作系统协调完成。1.5.3DBMS的组成一般按程序实现的功能可分为以下几部分:1.语言编译处理程序数据定义语言DDL及其编译程序数据操纵语言DML及其编译程序,2020/5/4,数据库原理,2.系统运行控制程序主要包括以下几部分:系统总控程序安全性控制程序完整性控制程序并发控制程序数据存取和更新程序通信控制程序3.系统建立、维护程序主要包括以下几部分:装配程序重组程序系统恢复程序,2020/5/4,数据库原理,4.数据字典(DataDictionary,简称DD)数据字典中到底应包括哪些信息,并没有明确的规定,一般由DBMS的功能强弱而定。其数据主要有两类:一类是来自用户的信息,如表、视图(用户所使用的虚表)和索引的定义以及用户的权限等;另一类是来自系统状态和数据库的统计信息,如通讯系统用的协议、数据库和磁盘的映射关系、数据使用的频率统计等。,2020/5/4,数据库原理,1.6数据模型与数据库系统的发展,数据模型是数据库系统的核心和基础,数据模型的发展经历了格式化数据模型(层次数据模型和网状数据模型的统称)、关系数据模型和面向对象的数据模型三个阶段,按照这种划分,数据库技术的发展也经历了三个发展阶段。,2020/5/4,数据库原理,第一代数据库系统,1.6.1第一代数据库系统层次数据库系统和网状数据库系统的数据模型分别为层次模型和网状模型,但从本质上讲层次模型是网状模型的特例,二者从体系结构、数据库语言到数据存储管理上均具有共同的特征,都是格式化模型,属于第一代数据库系统。第一代数据库系统的特点是:1支持三级模式的体系结构层次数据库和网状数据库均支持三级模式结构,即外模式、模式和内模式,并通过外模式与模式、模式与内模式二级映象,保证了数据的物理独立性和逻辑独立性。2用存取路径来表示数据之间的联系数据库不仅存储数据而且存储数据之间的联系。数据之间的联系在层次和网状数据库系统中是用存取路径来表示和实现的。,2020/5/4,数据库原理,第一代数据库系统,3独立的数据定义语言第一代数据库系统使用独立的数据定义语言来描述数据库的三级模式以及二级映象。格式一经定义就很难修改,这就要求数据库设计时,不仅要充分考虑用户的当前需求,还要了解需求可能的变化和发展。4导航的数据操纵语言导航的含义就是用户使用某种高级语言编写程序,一步一步的引导程序按照数据库中预先定义的存取路径来访问数据库,最终达到要访问的数据目标。在访问数据库时,每次只能存取一条记录值。若该记录值不满足要求就沿着存取路径查找下一条记录值。,2020/5/4,数据库原理,第二代数据库系统,第二代数据库系统是指支持关系数据模型的关系数据库系统。关系模型不仅简单、清晰,而且有关系代数作为语言模型,有关系数据理论作为理论基础。所以在关系模型提出后,很快便从实验室走向了社会,20世纪80年代几乎所有新开发的数据库系统都是关系型数据库系统。这些商用数据库系统的运行,特别是微机RDBMS的使用,使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等各个方面,成为实现和优化信息系统的基本技术。,2020/5/4,数据库原理,第二代数据库系统,关系模型之所以能成为深受广大用户欢迎的数据模型,与第一代数据库系统所支持的格式化模型相比,主要具有以下特点:关系模型的概念单一,实体以及实体之间的联系都用关系来表示;关系模型以关系代数为基础,形式化基础好;数据独立性强,数据的物理存取路径对用户隐蔽;关系数据库语言是非过程化的,将用户从编程数据库记录的导航式检索中解脱出来,大大降低了用户编程的难度。,2020/5/4,数据库原理,一般说来,将第一代数据库和第二代数据库称为传统数据库。由于传统数据库尤其是关系数据库系统具有许多优点,人们纷纷采用数据库技术来进行数据管理,数据库技术被应用到了许多新的领域,如计算机辅助设计/计算机辅助制造(CAD/CAM),计算机辅助工程(CASE),图像处理等,这些新领域的应用不仅需要传统数据库所具有的快速检索和修改数据的特点,而且在应用中提出了一些新的数据管理的需求,如要求数据库能够处理声音、图像、视频等多媒体数据。在这些新领域中,传统数据库暴露了其应用的局限性,主要表现在以下几个方面:,传统数据库的局限性,2020/5/4,数据库原理,1面向机器的语法数据模型传统数据库中采用的数据模型是面向机器的语法数据模型,只强调数据的高度结构化,只能存储离散的数据和有限的数据与数据之间的关系,语义表示能力较差,无法表示客观世界中的复杂对象,如声音、图像、视频等多媒体数据,工程、测绘等领域中的非格式化数据。此外,传统数据模型缺乏数据抽象,无法揭示数据之间的深层含义和内在联系。2.数据类型简单、固定传统的DBMS主要面向事务处理,只能处理简单的数据类型,如整数、实数、字符串、日期等,而不能根据特定的需要定义新的数据类型。例如,不能定义包含三个实数分量(x,y,z)的数据类型circle来表示圆,而只能分别定义三个实型的字段。这样对于复杂的数据类型只能由用户编写程序来处理,加重了用户的负担,也不能保证数据的一致性。,传统数据库的局限性,2020/5/4,数据库原理,3结构与行为完全分离从应用程序员的角度来看,在某一应用领域内标识的对象可以包含两方面的内容,即对象的结构和对象的行为。传统的数据库可以采用一定的数据库模式来表示前者,而对于后者,却不能直接存储和处理,必须通过另外的应用程序加以实现。例如,对于多媒体数据,虽然可以在带有前面所提到的缺陷的情况下以简单的二进制代码形式存储其结构,但却无法存储其行为(如播放声音、显示图像等)。这样,这些多媒体数据必须由相应的应用程序来识别,而对于其他不了解其格式的用户来说,数据库中存储的是没有任何意义的二进制数据。由此可见,在传统数据库中,对象的结构可以存储在数据库中,而对象的行为必须由应用程序来表示,对象的结构与行为完全相分离。,传统数据库的局限性,2020/5/4,数据库原理,4被动响应传统数据库只能根据用户的命令执行特定的服务,属于被动响应,用户要求做什么,系统就做什么。而在实际应用中,往往要求一个系统能够管理它本身的状态,在发现异常情况时及时通知用户;能够主动响应某些操作或外部事件,自动采取规定的行动等等。例如,一个仓库管理系统除了希望数据库系统能够正确,高效地存储有关物品的数据,还希望数据库系统能够对仓库库存进行监控,当库存太少或太多时主动向用户发出警告。要完成这样的工作,数据库系统必须更加主动、更加智能化,而传统的数据库显然不能适应这一要求。5事务处理能力较差传统数据库只能支持非嵌套事务,对于较长事务的运行较慢,且中事务发生故障时恢复比较困难。由于存在上述种种缺陷,使得传统数据库无法满足新领域的应用需求,数据库技术遇到了挑战,在这种情况下,新一代数据库技术应运而生。,传统数据库的局限性,2020/5/4,数据库原理,第三代数据库系统,第三代数据库系统是指支持面向对象(ObjectOriented,简称OO)数据模型的数据库系统。在数据库面临许多新的应用领域时,1989年9月,一批专门研究面向对象技术的著名学者著文“面向对象的数据库系统宣言”,提出继第一代(层次、网状)和第二代(关系)数据库系统后,新一代DBS将是OODBS。1990年9月,一些长期从事关系数据库理论研究的学者组建了高级DBMS功能委员会,发表了“第三代数据库系统宣言”的文章,提出了第三代DBMS应具有的三个基本特点。,2020/5/4,数据库原理,1.第三代数据库系统应支持面向对象的数据模型除提供传统的数据管理服务外,第三代数据库系统应支持数据管理、对象管理和知识管理,支持更加丰富的对象结构和规则,以提供更加强大的管理功能,支持更加复杂的数据类型,以便能够处理非传统的数据元素(如超文本、图片、声音等)。90年代成功的DBMS都会提供上述服务。有关OO模型的基本内容,将在下一节“面向对象的数据库技术”中详细介绍。2.第三代数据库系统必须保持或继承第二代数据库系统的优点第三代数据库系统不仅能很好的支持对象管理和规则管理,还要更好地支持原有的数据管理,保持第二代数据库系统的非过程化的数据存取方式和数据独立性。,第三代数据库系统,2020/5/4,数据库原理,第三代数据库系统,3第三代数据库系统必须具有开放性数据库系统的开放性(open)是指必须支持当前普遍承认的计算机技术标准,如支持SQL语言,支持多种网络标准协议,使得任何其他系统或程序只要支持同样的计算机技术标准即可使用第三代数据库系统;开放性还包括系统的可移植性、可连接性、可扩展性和可互操作性等。,2020/5/4,数据库原理,研究第三代数据库系统的途径数据库工作者为了给应用建立合适的数据库系统,进行了艰苦的探索,从多方面发展了现行的数据库系统技术,主要的研究途径和方向有:对传统数据库(主要是关系数据库)进行不同层次上的扩充。与计算机领域中其他学科的新技术紧密结合,丰富和发展数据库系统的概念、功能和技术。面向应用领域的数据库技术的研究。其中,前两个途径是立足于数据库已有的成果和技术,加以发展进化,有

温馨提示

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

评论

0/150

提交评论