数据库第1章数据库系统概述.ppt

上传人:牧羊曲112 文档编号:6578567 上传时间:2023-11-14 格式:PPT 页数:87 大小:357KB
返回 下载 相关 举报
数据库第1章数据库系统概述.ppt_第1页
第1页 / 共87页
数据库第1章数据库系统概述.ppt_第2页
第2页 / 共87页
数据库第1章数据库系统概述.ppt_第3页
第3页 / 共87页
数据库第1章数据库系统概述.ppt_第4页
第4页 / 共87页
数据库第1章数据库系统概述.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《数据库第1章数据库系统概述.ppt》由会员分享,可在线阅读,更多相关《数据库第1章数据库系统概述.ppt(87页珍藏版)》请在三一办公上搜索。

1、1,数据库原理,2,授课教师:,郭庆琳,3,教材,数据库系统概论(第四版)萨师煊 王珊 编著 高等教育出版社,4,第1章 数据库系统概述(绪论),5,本章概要,在本章中,首先介绍数据库中有关的主要概念,然后回顾数据管理技术的三个发展阶段。重点掌握实体、属性定义和实体型之间的联系类型及特点。了解三种数据模型的特点及区别,为后面各章的学习打下基础。,6,1.1 信息、数据与数据处理,1.1.1 数据与信息在数据处理中,我们最常用到的基本概念就是数据和信息,信息与数据有着不同的含义。1.1.1.1 数据(Data)1.数据的定义 数据是用来记录客观事物及其属性的符号。姓名:李明,工资:18002.数

2、据的表现形式可用多种不同的数据形式表示同一信息,而信息不随数据形式的不同而改变。如“2008年硕士研究生将扩招30%”,其中的数据可改为汉字形式“两千零八年”、“百分之三十”。,7,数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括数字和文字,还包括图形、图象、声音等。这些数据可以记录在纸上,也可记录在各种存储器中。,8,1.1.1.2 信息(Information)信息的定义信息是关于现实世界事物的存在方式或运动状态的反映的综合,具体说是一种被加工为特定形式的数据,但这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。如“2008年硕士研究生将扩招30

3、%”,对接受者有意义,使接受者据此作出决策。,9,1.1.1.3 数据与信息的联系数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。如上例中的数据2008、30%被赋予了特定的语义,它们就具有了传递信息的功能。1.1.2 数据处理数据处理是将数据转换成信息的过程,包括对数据的收集、存储、加工、检索、传输等一系列活动。其目的是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据。可用下式简单的表示信息、数据与数据处理的关系:信息=数据+数据处理数据是原料,是输入,而信息是产出,是输出结果。“信息处理”的真正含义应该是为了产生信息而处理数据。,10,1.2 数据库技术的产生

4、、发展与研究领域,1.2.1 数据库技术的产生与发展数据处理的中心问题是数据管理。数据管理是指对数据的组织、分类、编码、存储、检索和维护。随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。1.2.1.1 人工管理阶段(50年代中期以前)这一阶段计算机主要用于科学计算。硬件中的外存只有卡片、纸带、磁带,没有磁盘等直接存取设备。软件只有汇编语言,没有操作系统和管理数据的软件。数据处理的方式基本上是批处理。,11,人工管理阶段的特点如下:1.数据不保存因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。2.系统没有专用的软件对数据进行管理每个应用程序都要包

5、括数据的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。3.数据不共享数据是面向程序的,一组数据只能对应一个程序。多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。,12,4.数据不具有独立性程序依赖于数据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。在人工管理阶段,程序与数据之间的关系可用图1.1表示。,图1.1 人工管理阶段,13,1.2.1.2 文件系统阶段(50年代后期至60年代中期)这一阶段,计算机不仅用于科学计算,还大量用于信息管理。大量的数据存储、检

6、索和维护成为紧迫的需求。硬件有了磁盘、磁鼓等直接存储设备。在软件方面,出现了高级语言和操作系统。操作系统中有了专门管理数据的软件,一般称为文件系统。处理方式有批处理,也有联机处理。,14,文件管理数据的特点如下:1.数据以文件形式可长期保存下来用户可随时对文件进行查询、修改和增删等处理。2.文件系统可对数据的存取进行管理程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。3.文件形式多样化有顺序文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。4.程序与数据间有一定独立性由专门的软件即文件系统进行数据管理,程序和数据间由软件提供的存取方法进行

7、转换,数据存储发生变化不一定影响程序的运行。,15,在文件系统阶段,程序与数据之间的关系可用图1.2表示。,图1.2 文件系统阶段,16,与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:1.数据冗余度大各数据文件之间没有有机的联系,一个应用程序基本上对应于一个文件,数据不能共享。(程序一对应数据文件一:学生信息系的信息 程序二对应数据文件二:教师信息系的信息)2.数据独立性低数据和程序相互依赖,一旦改变数据的逻辑结构,必须修改相应的应用程序。而应用程序发生变化,如改用另一种程序设计语言来编写程序,也需修改数据结构。3.数据一致性

8、差由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致性。,17,数据库系统阶段(60年代末开始)60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加;硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。文件系统的数据管理方法已无法适应开发应用系统的的需要。为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。,18,数据库系统管理数据的特点如下:1.数据共享性高、冗余少这是数据库系统阶段的最大改进,数据不再面向某个应用程序而是面向整个系统,当前所有用户可同

9、时存取库中的数据。这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。2.数据结构化按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。,19,例:要建立学生成绩管理系统,系统包含学生(学号、姓名、性别、系别、年龄)、课程(课程号、课程名)、成绩(学号、课程号、成绩)等数据,分别对应三个文件。若采用文件处理方式,因为文件系统只表示记录内部的联系,而不涉及不同文件记录之间的联系,要想查找某个学生的学号、姓名、所选课程的名称和成绩,必须编写一段不很简单的程序来实现。而采用数据库方式,数据库系统不仅

10、描述数据本身,还描述数据之间的联系,上述查询可以非常容易地联机查到。,20,3.数据独立性高数据的独立性是指逻辑独立性和物理独立性。数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。,21,4.有

11、统一的数据控制功能数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。(1)数据的安全性(security)控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密;例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。(2)数据的完整性(integrity)控制:系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。,

12、22,正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,9,不能含字母或特殊符号;有效性是指数据是否在其定义的有效范围,如月份只能用112之间的正整数表示;相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个性别。(3)并发(concurrency)控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。,23,(4)数据恢复(recovery):当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。数据库系统阶段,程序与数据之间的关系可用图1.3表示。图1.3 数据库系统阶段,24,从文件系

13、统管理发展到数据库系统管理是信息处理领域的一个重大变化。在文件系统阶段,人们关注的是系统功能的设计,因此程序设计处于主导地位,数据服从于程序设计;而在数据库系统阶段,数据的结构设计成为信息系统首先关心的问题。数据库技术经历了以上三个阶段的发展,已有了比较成熟的数据库技术,但随着计算机软硬件的发展,数据库技术仍需不断向前发展。,25,1.2.2 数据库技术的研究领域数据库学科的研究范围主要包括以下三个领域:1.数据库管理系统软件的研制DBMS是数据库系统的基础。DBMS 的研制包括研制 DBMS 本身及以 DBMS 为核心的一组相互联系的软件系统,包括工具软件和中间件。研制的目标是提高系统的性能

14、和提高用户的生产率。2.数据库设计数据库设计的研究范围包括:数据库的设计方法、设计工具和设计理论的研究,数据模型和数据建模的研究,计算机辅助数据库设计及其软件系统的研究,数据库设计规范和标准的研究等。,26,3.数据库理论数据库理论的研究主要集中于关系规范化理论、关系数据理论等。近年来,随着人工智能与数据库理论的结合以及并行计算技术的发展,数据库逻辑演绎和知识推理、并行算法等都成为新的研究方向。随着数据库应用领域的不断扩展,计算机技术的迅猛发展,数据库技术与人工智能技术、网络通信技术、并行计算技术等相互渗透、相互结合,使数据库技术不断涌现新的研究方向。,27,1.3 数据库系统的组成和结构,1

15、.3.1 数据库系统的组成数据库系统通常是指数据库和相应的软硬件系统。主要由数据(库)、用户、软件和硬件四部分组成。1.3.1.1 数据(库)数据库是长期存储在计算机内有组织的共享的数据的集合。它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。,28,数据库特点如下:1.集成性:把某特定应用环境中的各种应用相关的数据及其数据之间的联系全部地集中地并按照一定的结构形式进行存储,或者说,把数据库看成为若干个性质不同的数据文件的联合和统一的数据整体。2.共享性:数据库中的一块块数据可为多个不同的用户所共享,即多个不同

16、的用户,使用多种不同的语言,为了不同的应用目的,而同时存取数据库,甚至同时存取同一块数据,即多用户系统。,29,1.3.1.2 用户用户是指使用数据库的人,即对数据库的存储、维护和检索等操作。用户分为三类:1.第一类用户,终端用户(End User)主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员;2.第二类用户,应用程序员(Application Programmer)负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。3.第三类用户,数据库管理员(Dadabase Administrator,简称DBA)DBA是指全面负责数据库系统的“管理、维

17、护和正常使用的”人员,其职责如下:,30,(1)参与数据库设计的全过程,决定数据库的结构和内容;(2)定义数据的安全性和完整性,负责分配用户对数据库的使用权限和口令管理;(3)监督控制数据库的使用和运行,改进和重新构造数据库系统。当数据库受到破坏时,应负责恢复数据库;当数据库的结构需要改变时,完成对数据结构的修改。DBA不仅要有较高的技术专长和较深的资历,并应具有了解和阐明管理要求的能力。特别对于大型数据库系统,DBA极为重要。对于常见的微机数据库系统,通常只有一个用户,常常不设DBA,DBA的职责由应用程序员或终端用户代替。,31,1.3.1.3 软件(Software)负责数据库存取、维护

18、和管理的软件系统,即数据库管理系统(Data Base Management System,简称DBMS),数据库系统的各类人员对数据库的各种操作请求,都由DBMS完成,DBMS是数据库系统的核心软件。硬件(Hardware)存储和运行数据库系统的硬件设备。包括CPU、内存、大容量的存储设备、外部设备等。,32,数据库系统层次结构图如下图由上图看出:DBMS在操作系统(OS)的支持下工作,应用程序在DBMS支持下才能使用数据库。,33,1.3.2 数据库系统的结构可以从多种不同的角度考查数据库系统的结构。从数据库管理系统的角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的体系结构;从

19、数据库最终用户的角度看,数据库系统的结构分为集中式结构、分布式结构和客户/服务器结构,这是数据库系统外部的体系结构。1.3.2.1 数据库系统的三级模式结构模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。例如:学生记录定义为(学号、姓名、性别、系别、年龄),称为记录型,而(001101,张立,男,计算机,20)则是该记录型的一个记录值。模式只是对记录型的描述,而与具体的值无关。,34,通常DBMS把数据库从逻辑上分为三级,即外模式、模式和内模式,它们分别反映了看待数据库的三个角度。三级模式结构如图 1.5 所示。,35,图 1.5 数据库系统的三级模式结构,36,1.模式模式(S

20、chema)是数据库中全体数据的逻辑结构和特征的描述,又称概念模式或概念视图。视图可理解为一组记录的值,用户或程序员看到和使用的数据库的内容。模式处于三级结构的中间层,它是整个数据库实际存储的抽象表示,也是对现实世界的一个抽象,是现实世界某应用环境(企业或单位)的所有信息内容集合的表示,也是所有个别用户视图综合起来的结果,所以又称用户共同视图。它表示了数据库的整体数据。DBMS 提供模式描述语言(模式 DDL)来定义模式。,37,2.外模式又称子模式或用户模式或外视图,是三级结构的最外层,个别用户只对整个数据库的一部分感兴趣,所以外视图是个别用户看到和使用的数据库内容,因此也常把外视图称为用户

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

22、存储的表示,而概念模式是整个数据库实际存储的抽象表示,外模式是概念模式的某一部分的抽象表示。,39,4.三级结构的优点(1)保证数据的独立性。将模式和内模式分开,保证了数据的物理独立性;将外模式和模式分开,保证了数据的逻辑独立性。(2)简化了用户接口。按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。(3)有利于数据共享。在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。(4)利于数据的安全保密。在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。,40,1.3.2.2 数据库系统的二级映象数据库系统的三级模式是对数据的三个抽象级

23、别,它使用户能逻辑地抽象地处理数据,而不必关心数据在计算机内部的存储方式,把数据的具体组织交给 DBMS 管理。为了能够在内部实现这三个抽象层次的联系和转换,DBMS 在三级模式之间提供了二级映象功能。,41,1.模式/内模式映象数据库中的模式和内模式都只有一个,所以模式/内模式映象是唯一的。它确定了数据的全局逻辑结构与存储结构之间的对应关系。例如,存储结构变化时,模式/内模式映象也应有相应的变化,使其概念模式仍保持不变,即把存储结构的变化的影响限制在概念模式之下,这使数据的存储结构和存储方法较高的独立于应用程序,通过映象功能保证数据存储结构的变化不影响数据的全局逻辑结构的改变,从而不必修改应

24、用程序,即确保了数据的物理独立性。,42,2.外模式/模式映象数据库中的同一模式可以有任意多个外模式,对于每一个外模式,都存在一个外模式/模式映象。它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项时,使数据的总体逻辑结构改变,外模式/模式映象也发生相应的变化,这一映象功能保证了数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。,43,1.4 数据库管理系统(DBMS),数据库管理系统是对数据进行管理的大型系统软件,它是数据库系统的核心组成

25、部分,用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。DBMS就是实现把用户意义下的抽象的逻辑数据处理转换成计算机中的具体的物理数据的处理软件,这给用户带来很大的方便。,44,1.4.1 DBMS的主要功能 1.数据定义DBMS提供数据定义语言DDL(Data Define Language),定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映象,定义有关的约束条件,例如,为保证数据库安全而定义的用户口令和存取权限,为保证正确语义而定义完整性规则。2.数据操纵DBMS提供数据操纵语言DML(Data Manipulatio

26、n Language)实现对数据库的基本操作,包括检索、插入、修改、删除等。SQL语言就是DML的一种。,45,3.数据库运行管理DBMS 对数据库的控制主要通过四个方面实现:数据的安全性控制数据的完整性控制多用户环境下的并发控制数据库的恢复以确保数据正确有效和数据库系统的正常运行。4.数据库的建立和维护功能包括数据库的初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。5.数据通信DBMS提供与其他软件系统进行通信的功能。实现用户程序与DBMS之间的通信,通常由操作系统协调完成。,46,1.4.2 DBMS的数据存取的过程在数据库系统中,DBMS与操作系统、应用程序、硬件等

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

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

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

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

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

32、 Type)若干个属性型组成的集合可以表示一个实体的类型,简称实体型。如学生(学号,姓名,年龄,性别,系)就是一个实体型。4.实体集(Entity Set)同型实体的集合称为实体集。如所有的学生、所有的课程等。5.键(Key)能唯一标识一个实体的属性或属性集称为实体的键。如学生的学号,学生的姓名可能有重名,不能作为学生实体的键。,54,6.域(Domain)属性值的取值范围称为该属性的域。如学号的域为6位整数,姓名的域为字符串集合,年龄的域为小于40的整数,性别的域为(男,女)。7.联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世

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

34、体相对应。记作1:n。如:班级与学生、公司与职员、省与市。(3)多对多(m:n)实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。如:教师与学生,学生与课程,工厂与产品。,56,实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。可以用图形来表示两个实体型之间的这三类联系,如图书 1.7所示。A B A B A B(a)(b)(c)图1.7 不同实体集实体之间的联系,57,1.5.1.3 计算机世界中的基本概念信息世界中的实体抽象为计算机世界中的数据,存储在计算机中。在计算机世界中,常用的主要概念如下:

35、1.字段(Field)对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。如学生有学号、姓名、年龄、性别、系等字段。2.记录(Record)对应于每个实体的数据称为记录。如一个学生(990001,张立,20,男,计算机)为一个记录。3.文件(File)对应于实体集的数据称为文件。如所有学生的记录组成了一个学生文件。,58,在计算机世界中,信息模型被抽象为数据模型,实体型内部的联系抽象为同一记录内部各字段间的联系,实体型之间的联系抽象为记录与记录之间的联系。现实世界是设计数据库的出发点,也是使用数据库的最终归宿。实体模型和数据模型是现实世界事物及其联系的两级抽象。而数据模型是实现

36、数据库系统的根据。通过以上的介绍,我们可总结出三个世界中各术语的对应关系如图1.8所示。现实世界信息世界 计算机世界事物总体实体集 文件事物个体实体 记录特征属性 字段事物间联系实体模型 数据模型 图1.8 三个世界各术语的对应关系,59,1.5.3 数据模型的分类数据模型的好坏,直接影响数据库的性能。数据模型的选择,是设计数据库的一项首要任务。目前最常用的数据模型有层次模型(Hierarchical Model)、网状模型(Network Model)和关系模型(Relational Model)。这三种数据模型的根区别在于数据结构不同,即数据之间联系的表示方式不同。层次模型用“树结构”来表

37、示数据之间的联系;网状模型是用“图结构”来表示数据之间的联系;关系模型是用“二维表”来表示数据之间的联系。,60,其中层次模型和网状模型是早期的数据模型,统称为非关系模型。20世纪70年代至80年代初,非关系模型的数据库系统非常流行,在数据库系统产品中占据了主导地位,现在已逐渐被关系模型的数据库系统取代,但在美国等国,由于早期开发的应用系都是基于层次数据库或网状数据库系统,因此目前层次数据库或网状数据库的系统仍很多。20世纪80年代以来,面向对象的方法和技术在计算机各个领域,包括程序设计语言、软件工程、计算机硬件等各方面都产生了深远的影响,出现了一种新的数据模型面向对象的数据模型,61,1.5

38、.3.1 层次模型层次模型是数据库系统中最早出现的数据模型,采用层次模型的数据库的典型代表是IBM公司的IMS(Information Management System)数据库管理系统,现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系,行政机构等。层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。在树中,每个结点表示一个记录类型,结点间的连线(或边)表示记录类型间的关系,每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,各个记录类型及其字段都必须命名。如果要存取某一记录型的记录,可以从根结点起,按照有向树层次向下查找。,62,图1.

39、9是层次模型有向树的示意图。结点A为根结点,,F,E为叶结点,B,C为兄弟结点 图1.9 层次模型有向树的示意图,63,1.层次模型的特征(1)有且仅有一个结点没有双亲,该结点就是根结点;(2)根以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系;(3)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。例如:以下是一个层次模型的例子,如图1.10所示。,图1.10 TS数据库模型,64,层次数据库为TS,它具有四个记录型,分别是:记录型D(系)是根结点,由字段D#(系编号)、DN(系名)、DL(系地

40、点)组成,它有两个孩子结点,:R和S,记录型R(教研室)是D的孩子结点,同时又是T的双亲结点,它由R#(教研室编号)、RN(教研室名)两个字段组成,记录型S(学生)由S#(学号)、SN(姓名)、SS(成绩)三个字段组成,记录型T(教师)由T#(职工号)、TN(姓名)、TD(研究方向)三个字段组成,S与T是叶结点,它们没有子女结点,由D到R,R到T,由D到S均是一对多的关系。,65,对应上述数据模型的一个值,该值是D02系(计算机系)记录值及其所有后代记录值组成的一棵树,D02系有3个教研室子记录值:R01、R02、R03和3个学生记录值:S63871、S63874、S63876,教研室R01有

41、3个教师记录值:T2101、T17090、T3501.,66,2.层次模型的数据操纵与数据完整性约束层次模型的数据操纵主要有查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值;进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除;修改操作时,应修改所有相应的记录,以保证数据的一致性。,67,3.层次模型的优缺点层次模型的优点主要有:(1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。(2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实

42、体间的联系本来就呈现出一种很自然的层次关系,如表示行政层次,家族关系很方便。(3)它提供了良好的数据完整性支持。,68,层次模型的缺点主要有:(1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。(2)对数据的插入和删除的操作限制太多。(3)查询子女结点必须通过双亲结点。,69,1.5.3.2 网状模型现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观,网状模型克服了这一弊病,可以清晰的表示这种非层次关系。20世纪70年代,数据系统语言研究会CODASYL(Conference On D

43、ata System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了一个系统方案,DBTG系统,也称CODASYL系统,成为了网状模型的代表。网状模型取消了层次模型的两个限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。,70,网状模型的特征(1)有一个以上的结点没有双亲;(2)至少有一个结点可以有多于一个双亲。即允许两个或两个以上的结点没有双亲结点,允许某个结点有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实

44、体的属性),结点间的连线表示记录类型(实体)间的父子关系。,71,如:学生和课程间的关系。一个学生可以选修多门课程,一门课程可以由多个学生选修。如图1.11所示 图1.11 学生与课程的网状模型,72,2.网状模型的数据操纵与完整性约束网状模型的数据操纵主要包括查询、插入、删除和修改数据。插入数据时,允许插入尚未确定双亲结点值的子女结点值,如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。删除数据时,允许只删除双亲结点值,如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。,73,

45、3.网状模型的优缺点网状模型的优点主要有:(1)能更为直接地描述客观世界,可表示实体间的多种复杂联系。(2)具有良好的性能和存储效率网状模型的缺点主要有(1)结构复杂,其DDL语言极其复杂。(2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。,74,1.5.3.3 关系模型关系模型是发展较晚的一种模型,1970年美国IBM公司的研究员首次提出了数据库系统的关系模型。他发表了题为“大型共享数据银行数据的关系模型”(A Relation Model of Data for Large Shared Data Banks),在文中解释了关系模型,定

46、义了某些关系代数运算,研究了数据的函数相关性,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究,他为此获得了1981年的图灵奖。此后许多人把研究方向转到关系方法上,陆续出现了关系数据库系统。1977年IBM公司研制的关系数据库的代表System R开始运行,其后又进行了不断的改进和扩充,出现了基于System R的数据库系统SQL/DB。,75,20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也都加上了关系接口。数据库领域当前的研究工作也都是以关系方法为基础。关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系

47、统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、SQL Server等都是关系数据库系统。,76,1.关系模型的基本概念关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。关系模型与层次模型、网状模型不同,它是建立在严格的数学概念之上的。图1.12给出了教学数据库的关系模型及其实例,包含五个关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC,分别对应五张表。下面以图1.12为例,介绍关系模型中所涉及的一些基概念。,77,T(教师表),78,S(学生表),79,C(课程表),80,S

48、C(选课表)TC(授课表),81,(1)关系(Relation)一个关系对应一张二维表,如图1.12的五张表对应五个关系。(2)元组(Tuple)表格中的一行,如S表中的一个学生记录即为一个元组。(3)属性(Attribute)表格中的一列,相当于记录中的一个字段,如S表中有五个属性(学号,姓名,性别,年龄,系别)。(4)关键字(Key)可唯一标识元组的属性或属性集,也称为关系键或主码,如S表中学号可以唯一确定一个学生,为学生关系的主码。,82,(5)域(Domain)属性的取值范围,如年龄的域是(1440),性别的域是(男,女)。(6)分量每一行对应的列的属性值,即元组中的一个属性值,如学号

49、、姓名、年龄等均是一个分量。(7)关系模式对关系的描述,一般表示为:关系名(属性1,属性2,属性n),如:学生(学号,姓名,性别,年龄,系别)。,83,在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)实体间的关系也是用关系来表示的,如:学生和课程之间的关系选课关系(学号,课程号,成绩),84,2.关系模型的数据操纵与完整性约束数据操纵主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。有关完整性的具体含义将在下一章介绍。在非关系模型中,操作对象是单个记录,而关系模型中的数据

50、操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合;用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户的生产率。,85,3、关系模型的优缺点关系模型的优点主要有:(1)与非关系模型不同,它有较强的数学理论根据。(2)数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。关系模型的缺点主要有:由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号