数据库技术及应用.ppt

上传人:少林足球 文档编号:3854303 上传时间:2019-09-30 格式:PPT 页数:140 大小:613KB
返回 下载 相关 举报
数据库技术及应用.ppt_第1页
第1页 / 共140页
数据库技术及应用.ppt_第2页
第2页 / 共140页
数据库技术及应用.ppt_第3页
第3页 / 共140页
数据库技术及应用.ppt_第4页
第4页 / 共140页
数据库技术及应用.ppt_第5页
第5页 / 共140页
点击查看更多>>
资源描述

《数据库技术及应用.ppt》由会员分享,可在线阅读,更多相关《数据库技术及应用.ppt(140页珍藏版)》请在三一文库上搜索。

1、1,数据库技术及应用,2,课程内容: 1数据库原理 2数据库设计 3数据库产品学习: MS ACCESS 上机练习 MS SQL Server 2000提供课件自学 ORACLE 8 提供课件自学,3,从这门课中我们将学到什么? 1领进门:学习数据库方面的一些基本概念 2查询资料和理解资料的能力 3最重要的学习能力:发现问题,解决问题,4,教材: 1王能斌。数据库系统。电子工业出版社。1995年。 2王能斌编。数据库系统原理。电子工业出版社。2000年。 3美JD厄尔曼。数据库系统原理。,5,参考书目 1. 萨师煊,王珊. 数据库系统概论(第三版). 北京:高等教育出版社,2001 2. 李昭

2、原. 数据库原理与应用. 北京:科学出版社,2000 3. 张健沛. 数据库原理及应用系统开发. 北京:中国水利水电出版社,1999 4. 王珊,陈红. 数据库系统原理教程. 北京:清华大学出版社,1999 5. (美)Philip J. Pratt ,Jose J. Adamski. 陆洪毅,杨文波,程华等译. 数据库管理系统基础. 北京:机械工业出版社. 1999 6. Abraham Silberschatz,Henry F. Korth,S. Sudarshan. 杨冬青,唐世渭等译. 数据库系统概念. 北京:机械工业出版社. 2000 7. Hector Garcia-Molina,

3、Jeffrey D. Ullman,Jennifer Widom. 杨冬青,唐世渭,徐其钧等译. 数据库系统实现. 北京:机械工业出版社,2001,6,上机实验内容: 1。MS ACCESS 2。使用多种检索方法找资料,完成考核,课程考核:,7,第1章 数据库系统概述,8,本章概要,在本章中,首先介绍数据库中有关的主要概念,然后回顾数据管理技术的三个发展阶段。 要求了解数据库的三个发展阶段及各阶段的主要特点,掌握数据库中的有关的基本概念、数据库系统的组成及各部分的主要功能。 重点掌握实体、属性定义和实体型之间的联系类型及特点。 了解三种数据模型的特点及区别,为后面各章的学习打下基础。 了解面向

4、对象数据模型的基本特征。,9,1.1 信息、数据与数据处理,1.1.1 数据与信息 在数据处理中,我们最常用到的基本概念就是数据和信息,信息与数据有着不同的含义。 1.1.1.1 信息(Information) 1. 信息的定义 信息是关于现实世界事物的存在方式或运动状态的反映的综合,具体说是一种被加工为特定形式的数据,但这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。 如“2000年硕士研究生将扩招30%”,对接受者有意义,使接受者据此作出决策。,10,2. 信息的特征 信息源于物质和能量,它不可能脱离物质而存在,信息的传递需要物质载体,信息的获取和传递要消

5、耗能量。 如信息可以通过报纸、电台、电视、计算机网络进行传递。 信息是可以感知的,人类对客观事物的感知,可以通过感觉器官,也可以通过各种仪器仪表和传感器等,不同的信息源有不同的感知形式。 如报纸上刊登的信息通过视觉器官感知,电台中广播的信息通过听觉器官感知。 信息是可存储、加工、传递和再生的。动物用大脑存储信息,叫做记忆。计算机存储器、录音、录像等技术的发展,进一步扩大了信息存储的范围。借助计算机,还可对收集到的信息进行取舍整理。,11,1.1.1.2 数据 (Data) 1. 数据的定义 数据是用来记录信息的可识别的符号,是信息的具体表现形式。 2. 数据的表现形式 可用多种不同的数据形式表

6、示同一信息,而信息不随数据形式的不同而改变。 如“2000年硕士研究生将扩招30%”,其中的数据可改为汉字形式“两千年”、“百分之三十”。 数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括数字和文字,还包括图形、图象、声音等。这些数据可以记录在纸上,也可记录在各种存储器中。,12,1.1.1.3 数据与信息的联系 数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。 如上例中的数据2000、30%被赋予了特定的语义,它们就具有了传递信息的功能。 1.1.2 数据处理 数据处理是将数据转换成信息的过程,包括对数据的收集、存储、加工、检索、传输等一系列活动。其目的是从大

7、量的原始数据中抽取和推导出有价值的信息,作为决策的依据。 可用下式简单的表示信息、数据与数据处理的关系: 信息=数据+数据处理 数据是原料,是输入,而信息是产出,是输出结果。“信息处理”的真正含义应该是为了产生信息而处理数据。,13,1.2 数据库技术的产生、发展与研究领域,1.2.1 数据库技术的产生与发展 数据处理的中心问题是数据管理。 数据管理是指对数据的组织、分类、编码、存储、检索和维护。 随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。 1.2.1.1 人工管理阶段(50年代中期以前) 这一阶段计算机主要用于科学计算。 硬件中的外存只有卡片、纸带

8、、磁带,没有磁盘等直接存取设备。 软件只有汇编语言,没有操作系统和管理数据的软件。 数据处理的方式基本上是批处理。,14,人工管理阶段的特点如下: 1. 数据不保存 因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。 2. 系统没有专用的软件对数据进行管理 每个应用程序都要包括数据的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。 3. 数据不共享 数据是面向程序的,一组数据只能对应一个程序。 多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。,15,4. 数据不具有独立性 程序依赖于数据,如果数据的类型

9、、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。 在人工管理阶段,程序与数据之间的关系可用图1.1表示。,图1.1 人工管理阶段,16,1.2.1.2 文件系统阶段(50年代后期至60年代中期) 这一阶段,计算机不仅用于科学计算,还大量用于信息管理。 大量的数据存储、检索和维护成为紧迫的需求。 硬件有了磁盘、磁鼓等直接存储设备。 在软件方面,出现了高级语言和操作系统。 操作系统中有了专门管理数据的软件,一般称为文件系统。 处理方式有批处理,也有联机处理。,17,文件管理数据的特点如下: 1. 数据以文件形式可长期保存下来 用户可随时对文件进行查询、修改和增删等

10、处理。 2. 文件系统可对数据的存取进行管理 程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。 3. 文件形式多样化 有顺序文件、倒排文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。 4. 程序与数据间有一定独立性 由专门的软件即文件系统进行数据管理,程序和数据间由软件提供的存取方法进行转换,数据存储发生变化不一定影响程序的运行。,18,在文件系统阶段,程序与数据之间的关系可用图1.2表示。,图1.2 文件系统阶段,19,与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:

11、1. 数据冗余度大 各数据文件之间没有有机的联系,一个文件基本上对应于一个应用程序,数据不能共享。 2. 数据独立性低 数据和程序相互依赖,一旦改变数据的逻辑结构,必须修改相应的应用程序。 而应用程序发生变化,如改用另一种程序设计语言来编写程序,也需修改数据结构。 3.数据一致性差 由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致性。,20,1.2.1.3数据库系统阶段(60年代末开始) 60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加; 硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能; 硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增

12、加。 文件系统的数据管理方法已无法适应开发应用系统的的需要。 为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。,21,数据库系统管理数据的特点如下: 1. 数据共享性高、冗余少 这是数据库系统阶段的最大改进,数据不再面向某个应用程序而是面向整个系统,当前所有用户可同时存取库中的数据。 这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。 2. 数据结构化 按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。,22,例:要建立学生成绩管理系统,系统包

13、含学生(学号、姓名、性别、系别、年龄)、课程(课程号、课程名)、成绩(学号、课程号、成绩)等数据,分别对应三个文件。 若采用文件处理方式,因为文件系统只表示记录内部的联系,而不涉及不同文件记录之间的联系,要想查找某个学生的学号、姓名、所选课程的名称和成绩,必须编写一段不很简单的程序来实现。 而采用数据库方式,数据库系统不仅描述数据本身,还描述数据之间的联系,上述查询可以非常容易地联机查到。,23,3. 数据独立性高 数据的独立性是指逻辑独立性和物理独立性。 数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改

14、,从而保证了数据与程序间的逻辑独立性。 例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。 数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。 例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。,24,4. 有统一的数据控制功能 数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。 (1)数据

15、的安全性(security)控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密; 例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。 (2)数据的完整性(integrity)控制:系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。,25,正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,9,不能含字母或特殊符号; 有效性是指数据是否在其定义的有效范围,如月份只能用112之间的正整数表示; 相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个性别。 (3

16、)并发(concurrency)控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。,26,(4)数据恢复(recovery):当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。 数据库系统阶段,程序与数据之间的关系可用图1.3表示。 图1.3 数据库系统阶段,27,从文件系统管理发展到数据库系统管理是信息处理领域的一个重大变化。 在文件系统阶段,人们关注的是系统功能的设计,因此程序设计处于主导地位,数据服从于程序设计; 而在数据库系统阶段,数据的结构设计成为信息系统首先关心的问题。 数据库技术经历了以上三个阶段的

17、发展,已有了比较成熟的数据库技术,但随着计算机软硬件的发展,数据库技术仍需不断向前发展。,28,1.2.2 数据库技术的研究领域 数据库学科的研究范围主要包括以下三个领域: 1. 数据库管理系统软件的研制 DBMS是数据库系统的基础。 DBMS 的研制包括研制 DBMS 本身及以 DBMS 为核心的一组相互联系的软件系统,包括工具软件和中间件。 研制的目标是提高系统的性能和提高用户的生产率。 2. 数据库设计 数据库设计的研究范围包括: 数据库的设计方法、设计工具和设计理论的研究, 数据模型和数据建模的研究, 计算机辅助数据库设计及其软件系统的研究, 数据库设计规范和标准的研究等。,29,3.

18、 数据库理论 数据库理论的研究主要集中于关系规范化理论、关系数据理论等。 近年来,随着人工智能与数据库理论的结合以及并行计算技术的发展,数据库逻辑演绎和知识推理、并行算法等都成为新的研究方向。 随着数据库应用领域的不断扩展,计算机技术的迅猛发展,数据库技术与人工智能技术、网络通信技术、并行计算技术等到相互渗透、相互结合,使数据库技术不断涌现新的研究方向。,30,1.3 数据库系统的组成和结构,1.3.1 数据库系统的组成 数据库系统通常是指数据库和相应的软硬件系统。主要由数据(库)、用户、软件和硬件四部分组成。 1.3.1.1 数据(库) 数据库是长期存储在计算机内有组织的共享的数据的集合。

19、它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。,31,数据库特点如下: 1. 集成性:把某特定应用环境中的各种应用相关的数据及其数据之间的联系全部地集中地并按照一定的结构形式进行存储,或者说,把数据库看成为若干个单个性质不同的数据文件的联合和统一的数据整体。 2. 共享性:数据库中的一块块数据可为多个不同的用户所共享,即多个不同的用户,使用多种不同的语言,为了不同的应用目的,而同时存取数据库,甚至同时存取同一块数据,即多用户系统。,32,1.3.1.2 用户 用户是指使用数据库的人,即对数据库的存储、维护和

20、检索等操作。 用户分为三类: 1. 第一类用户,终端用户(End User) 主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员; 2. 第二类用户,应用程序员(Application Programmer) 负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。 3. 第三类用户,数据库管理员(Dadabase Administrator,简称DBA) DBA是指全面负责数据库系统的“管理、维护和正常使用的”人员,其职责如下:,33,(1)参与数据库设计的全过程,决定数据库的结构和内容; (2)定义数据的安全性和完整性,负责分配用户对数据库的使用权限

21、和口令管理; (3)监督控制数据库的使用和运行,改进和重新构造数据库系统。当数据库受到破坏时,应负责恢复数据库;当数据库的结构需要改变时,完成对数据结构的修改。 DBA不仅要有较高的技术专长和较深的资历,并应具有了解和阐明管理要求的能力。 特别对于大型数据库系统,DBA极为重要。对于常见的微机数据库系统,通常只有一个用户,常常不设DBA,DBA的职责由应用程序员或终端用户代替。,34,1.3.1.3 软件 (Software) 负责数据库存取、维护和管理的软件系统,即数据库管理系统(Data Base Management System,简称DBMS), 数据库系统的各类人员对数据库的各种操作

22、请求,都由DBMS完成, DBMS是数据库系统的核心软件。 1.3.1.4硬件(Hardware) 存储和运行数据库系统的硬件设备。 包括CPU、内存、大容量的存储设备、外部设备等。,35,数据库系统层次结构图如下图 由上图看出: DBMS在操作系统(OS)的支持下工作, 应用程序在DBMS支持下才能使用数据库。,36,1.3.2 数据库系统的结构 可以从多种不同的角度考查数据库系统的结构。 从数据库管理系统的角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的体系结构; 从数据库最终用户的角度看,数据库系统的结构分为集中式结构、分布式结构和客户/服务器结构,这是数据库系统外部的体系结

23、构。 1.3.2.1 数据库系统的三级模式结构 模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。 例如:学生记录定义为(学号、姓名、性别、系别、年龄),称为记录型, 而(001101,张立,男,计算机,20)则是该记录型的一个记录值。 模式只是对记录型的描述,而与具体的值无关。,37,在数据库系统中,对于同一意义下的数据,如:学生数据,从计算机中处理的二进制表示到用户处理的诸如学生姓名、年龄等概念的数据之间,存在着许多抽象和转换。 通常DBMS把数据库从逻辑上分为三级,即外模式、模式和内模式,它们分别反映了看待数据库的三个角度。三级模式结构如图 1.5 所示。,38,图 1.5

24、数据库系统的三级模式结构,39,1. 模式 模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,又称概念模式或概念视图。视图可理解为一组记录的值,用户或程序员看到和使用的数据库的内容。 模式处于三级结构的中间层,它是整个数据库实际存储的抽象表示,也是对现实世界的一个抽象,是现实世界某应用环境(企业或单位)的所有信息内容集合的表示,也是所有个别用户视图综合起来的结果,所以又称用户共同视图。 它表示了数据库的整体数据。 由多个“概念记录”组成,包含数据库的所有信息,也称“概念数据库”、“DBA视图”。 DBMS 提供模式描述语言(模式 DDL)来定义模式。,40,2. 外模式 又称子模式

25、或用户模式或外视图,是三级结构的最外层,个别用户只对整个数据库的一部分感兴趣,所以外视图是个别用户看到和使用的数据库内容,因此也常把外视图称为用户数据库。 它由多种外记录值构成,这些记录值是概念视图的某一部分的抽象表示。即个别用户看到和使用的数据库内容,也称“用户DB”。 由多个“外记录值”组成,是概念视图的某一部分的抽象表示。 从逻辑关系上看,外模式包含于概念模式。 DBMS 提供子模式描述语言(子模式 DDL)来定义子模式。,41,3. 内模式 又称存储模式或内视图,是三级结构中的最内层,也是靠近物理存储的一层,即与实际存储数据方式有关的一层,由多个存储记录组成,但并非物理层,不必关心具体

26、的存储位置。 DBMS 提供内模式描述语言(内模式 DDL)来定义内模式。 在数据库系统中,外模式可有多个,而概念模式、内模式只能各有一个。 内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示,外模式是概念模式的某一部分的抽象表示。,42,4. 三级结构的优点 (1)保证数据的独立性。 将模式和内模式分开,保证了数据的物理独立性; 将外模式和模式分开,保证了数据的逻辑独立性。 (2)简化了用户接口。 按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。 (3)有利于数据共享。 在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。

27、(4)利于数据的安全保密。 在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。,43,1.3.2.2 数据库系统的二级映象 数据库系统的三级模式是对数据的三个抽象级别,它使用户能逻辑地抽象地处理数据,而不必关心数据在计算机内部的存储方式,把数据的具体组织交给 DBMS 管理。 为了能够在内部实现这三个抽象层次的联系和转换,DBMS 在三级模式之间提供了二级映象功能。,44,1. 模式/内模式映象 数据库中的模式和内模式都只有一个,所以模式/内模式映象是唯一的。 它确定了数据的全局逻辑结构与存储结构之间的对应关系。 例如,存储结构变化时,模式/内模式映象也应有相应的变化,使

28、其概念模式仍保持不变,即把存储结构的变化的影响限制在概念模式之下,这使数据的存储结构和存储方法较高的独立于应用程序,通过映象功能保证数据存储结构的变化不影响数据的全局逻辑结构的改变,从而不必修改应用程序,即确保了数据的物理独立性。,45,2.外模式/模式映象 数据库中的同一模式可以有任意多个外模式,对于每一个外模式,都存在一个外模式/模式映象。 它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。 例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项时,使数据的总体逻辑结构改变,外模式/模式映象也发生相应的变化, 这一映象功能保证了数据的局部逻辑结构不变,由于应用程序是

29、依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。,46,1.4 数据库管理系统(DBMS),数据库管理系统是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分, 用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。 DBMS就是实现把用户意义下的抽象的逻辑数据处理转换成计算机中的具体的物理数据的处理软件,这给用户带来很大的方便。,47,1.4.1 DBMS的主要功能 1. 数据定义 DBMS提供数据定义语言DDL(Data Define Language),定义数据的模式、外模式和内模式三级模式结构,定义模

30、式/内模式和外模式/模式二级映象,定义有关的约束条件, 例如,为保证数据库安全而定义的用户口令和存取权限,为保证正确语义而定义完整性规则。 2. 数据操纵 DBMS提供数据操纵语言DML(Data Manipulation Language)实现对数据库的基本操作,包括检索、插入、修改、删除等。 SQL语言就是DML的一种。,48,3. 数据库运行管理 DBMS 对数据库的控制主要通过四个方面实现: 数据的安全性控制 数据的完整性控制 多用户环境下的并发控制 数据库的恢复 以确保数据正确有效和数据库系统的正常运行。 4. 数据库的建立和维护功能 包括数据库的初始数据的装入, 数据库的转储、恢复

31、、重组织, 系统性能监视、分析等功能。 5. 数据通信 DBMS提供与其他软件系统进行通信的功能。 实现用户程序与DBMS之间的通信,通常与操作系统协调完成。,49,1.4.2 DBMS的组成 DBMS是许多“系统程序”所组成的一个集合。 每个程序都有自己的功能,共同完成DBMS的一件或几件工作。 1. 语言编译处理程序 (1)数据定义语言DDL及其编译程序 它把用DDL编写的各级源模式编译成各级目标模式,这些目标模式是对数据库结构信息的描述,而不是数据本身,它们被保存在数据字典中,供以后数据操纵或数据控制时使用。 (2)数据操纵语言DML及其编译程序,实现对数据库的基本操作。DML有两类,

32、一类是宿主型,嵌入在高级语言中,不能单独使用; 另一类是自主型或自含型,可独立地交互使用。,50,2. 系统运行控制程序,主要包括以下几部分: 系统总控程序:是DBMS运行程序的核心,用于控制和协调各程序的活动; 安全性控制程序:防止未被授权的用户存取数据库中的数据; 完整性控制程序:检查完整性约束条件,确保进入数据库中的数据的正确性、有效性和相容性; 并发控制程序:协调多用户、多任务环境下各应用程序对数据库的并以操作,保证数据的一致性; 数据存取和更新程序:实施对数据库数据的检索、插入、修改、删除等操作; 通信控制程序:实现用户程序与DBMS间的通信。,51,3. 系统建立、维护程序,主要包

33、括以下几部分: 装配程序:完成初始数据库的数据装入; 重组程序:当数据库系统性能变坏时(如查询速度变慢),需要重新组织数据库,重新装入数据; 系统恢复程序:当数据库系统受到破坏时,将数据库系统恢复到以前某个正确的状态。 4. 数据字典(Data Dictionary,简称DD) 用来描述数据库中有关信息的数据目录, 包括数据库的三级模式、数据类型、用户名、用户权限等有关数据库系统的信息, 起着系统状态的目录表的作用, 帮助用户、DBA 、DBMS本身使用和管理数据库。,52,1.4.3 DBMS的数据存取的过程 在数据库系统中,DBMS与操作系统、应用程序、硬件等协同工作,共同完成数据各种存取

34、操作,其中DBMS起着关键的作用。 DBMS对数据的存取通常需要以下四步: 1. 用户使用某种特定的数据操作语言向DBMS发出存取请求; 2. DBMS接受请求并解释; 3. DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义; 4. DBMS对存储数据库执行必要的存取操作; 上述存取过程中还包括安全性控制、完整性控制,以确保数据的正确性、有效性和一致性。,53,1.5 数据模型,1.5.1 数据模型的组成要素 数据模型是模型的一种,是现实世界数据特征的抽象。 数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成。 1. 数据结构 数据结构用于描述系统的静态

35、特性。 数据结构是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面。 在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。 数据结构有层次结构、网状结构和关系结构三种类型,按照这三种结构命名的数据模型分别称为层次模型、网状模型和关系模型。,54,2. 数据操作 数据操作用于描述系统的动态特性。 数据操作是对数据库中各种数据操作的集合,包括操作及相应的操作规则。 如数据的检索、插入、删除和修改等。 数据模型必须定义这些操作的确切含义、操作规则以及实现操作的语言。 3. 数据的约束条件 数据的约束条件是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联系所具有的制约

36、和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。 例如,在学生数据库中,学生的年龄不得超过40岁。,55,1.5.2 数据之间的联系 1.5.2.1 三个世界的划分 由于计算机不能直接处理现实世界中的具体事物,所以人们必须将具体事物转换成计算机能够处理的数据。 在数据库中用数据模型来抽象、表示和处理现实世界中的数据。 数据库即是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的数据的集合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。 这

37、个集合或者包含了信息的一部分(用用户视图模拟),或者包含了信息的全部(用概念视图模拟),而这种模拟是通过数据模型来进行的。,56,为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,在实际的数据处理过程中, 首先将现实世界的事物及联系抽象成信息世界的信息模型, 然后再抽象成计算机世界的数据模型。 信息模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示,是概念模型; 概念模型经过抽象,转换成计算机上某一DBMS支持的数据模型。所以说,数据模型是现实世界的两级抽象的结果。 在数据处理中,数据加工经历了现实世界、信息世界和计算机世界三个不同

38、的世界,经历了两级抽象和转换。这一过程如图1.6所示。,57,图1.6 数据处理的抽象和转换过程,58,1.5.1.2 信息世界中的基本概念 在信息世界中,常用的主要概念如下: 1. 实体(Entity) 客观存在并且可以相互区别的“事物”称为实体。 实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。 2. 属性(Attributes) 实体的某一特性称为属性。 如学生实体有学号、姓名、年龄、性别、系等方面的属性。 属性有“型“和“值”之分,“型“即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990001,张立,20,男,

39、计算机)这些属性值的集合表示了一个学生实体。,59,3. 实体型(Entity Type) 若干个属性型组成的集合可以表示一个实体的类型,简称实体型。 如学生(学号,姓名,年龄,性别,系)就是一个实体型。 4. 实体集(Entity Set) 同型实体的集合称为实体集。 如所有的学生、所有的课程等。 5. 键(Key) 能唯一标识一个实体的属性或属性集称为实体的键。 如学生的学号,学生的姓名可能有重名,不能作为学生实体的键。,60,6. 域(Domain) 属性值的取值范围称为该属性的域。 如学号的域为6位整数,姓名的域为字符串集合,年龄的域为小于40的整数,性别的域为(男,女)。 7. 联系

40、(Relationship) 在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来, 在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系; 实体之间的联系通常是指不同实体集之间的联系。 反映实体型及其联系的结构形式称为实体模型,也称作信息模型,它是现实世界及其联系的抽象表示。,61,两个实体型之间的联系有如下三种类型: (1)一对一联系(1:1) 实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。 如:班级与班长,观众与座位,病人与床位。

41、(2)一对多联系(1:n) 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。 如:班级与学生、公司与职员、省与市。 (3)多对多(m:n) 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。 如:教师与学生,学生与课程,工厂与产品。,62,实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 可以用图形来表示两个实体型之间的这三类联系,如图书 1.7所示。 A B A B A B (a) (b) (c) 图1.7 不同实体集实体之

42、间的联系,63,1.5.1.3 计算机世界中的基本概念 信息世界中的实体抽象为计算机世界中的数据,存储在计算机中。在计算机世界中,常用的主要概念如下: 1. 字段(Field) 对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。 如学生有学号、姓名、年龄、性别、系等字段。 2. 记录(Record) 对应于每个实体的数据称为记录。 如一个学生(990001,张立,20,男,计算机)为一个记录。 3. 文件(File) 对应于实体集的数据称为文件。 如所有学生的记录组成了一个学生文件。,64,在计算机世界中,信息模型被抽象为数据模型,实体型内部的联系抽象为同一记录内部各字段间的

43、联系,实体型之间的联系抽象为记录与记录之间的联系。 现实世界是设计数据库的出发点,也是使用数据库的最终归宿。 实体模型和数据模型是现实世界事物及其联系的两级抽象。而数据模型是实现数据库系统的根据。 通过以上的介绍,我们可总结出三个世界中各术语的对应关系如图1.8所示。 现实世界 信息世界 计算机世界 事物总体 实体集 文件 事物个体 实体 记录 特征 属性 字段 事物间联系 实体模型 数据模型 图1.8 三个世界各术语的对应关系,65,1.5.3 数据模型的分类 数据模型的好坏,直接影响数据库的性能。 数据模型的选择,是设计数据库的一项首要任务。 目前最常用的数据模型有层次模型(Hierarc

44、hical Model)、网状模型(Network Model)和关系模型(Relational Model)。 这三种数据模型的根区别在于数据结构不同,即数据之间联系的表示方式不同。 层次模型用“树结构”来表示数据之间的联系; 网状模型是用“图结构”来表示数据之间的联系; 关系模型是用“二维表”来表示数据之间的联系。,66,其中层次模型和网状模型是早期的数据模型,统称为非关系模型。 20世纪70年代至80年代初,非关系模型的数据库系统非常流行,在数据库系统产品中占据了主导地位, 现在已逐渐被关系模型的数据库系统取代, 但在美国等国,由于早期开发的应用系都是基于层次数据库或网状数据库系统,因此

45、目前层次数据库或网状数据库的系统仍很多。 20世纪80年代以来,面向对象的方法和技术在计算机各个领域,包括程序设计语言、软件工程、计算机硬件等各方面都产生了深远的影响,出现了一种新的数据模型面向对象的数据模型,67,1.5.3.1 层次模型 层次模型是数据库系统中最早出现的数据模型,采用层次模型的数据库的典型代表是IBM公司的IMS(Information Management System)数据库管理系统, 现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系,行政机构等。 层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。 在树中,每个结点表示一个记录类型

46、,结点间的连线(或边)表示记录类型间的关系,每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,各个记录类型及其字段都必须命名。 如果要存取某一记录型的记录,可以从根结点起,按照有向树层次向下查找。,68,图1.9是层次模型有向树的示意图。结点A为根结点,,F,G为叶结点,B,D为兄结点 图1.9 层次模型有向树的示意图,69,1. 层次模型的特征 (1)有且仅有一个结点没有双亲,该结点就是根结点; (2)根以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系; (3)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子

47、女记录值能够脱离双亲记录值而独立存在。 例如:以下是一个层次模型的例子,如图1.10所示。,图1.10 TS数据库模型,70,层次数据库为TS,它具有四个记录型,分别是: 记录型D(系)是根结点,由字段D#(系编号)、DN(系名)、DL(系地点)组成,它有两个孩子结点,:R和S, 记录型R(教研室)是D的孩子结点,同时又是T的双亲结点,它由R#(教研室编号)、RN(教研室名)两个字段组成, 记录型S(学生)由S#(学号)、SN(姓名)、SS(成绩)三个字段组成, 记录型T(教师)由T#(职工号)、TN(姓名)、TD(研究方向)三个字段组成, S与T是叶结点,它们没有子女结点,由D到R,R到T,

48、由D到S均是一对多的关系。,71,对应上述数据模型的一个值, 该值是D02系(计算机系)记录值及其所有后代记录值组成的一棵树, D02系有3个教研室子记录值:R01、R02、R03和3个学生记录值:S63871、S63874、S63876, 教研室R01有3个教师记录值:T2101、T17090、T3501.,72,2. 层次模型的数据操纵与数据完整性约束 层次模型的数据操纵主要有查询、插入、删除和修改, 进行插入、删除和修改操作时要满足层次模型的完整性约束条件。 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值; 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除

49、; 修改操作时,应修改所有相应的记录,以保证数据的一致性。,73,3. 层次模型的优缺点 层次模型的优点主要有: (1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 (2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系, 如表示行政层次,家族关系很方便。 (3)它提供了良好的数据完整性支持。,74,层次模型的缺点主要有: (1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。 (2)对数据的插入和删除的操作限制太多。 (3)查询子女结点必须通过双亲结点。,75,1.5.3.2 网状模型 现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观, 网状模型克服了这一弊病,可以清晰的表示这种非层次关系。 20世纪70年代,数据系统语言研究会CODASYL(Conference On Data System Language)下属的数据库任务组

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1