第一章关系数据库PPT讲稿.ppt
第一章关系数据库1第1页,共34页,编辑于2022年,星期一本章学习目标:本章学习目标:1、学习关系型数据库的基础知识,理解数据库系统的三级模式结构;2、学习数据模型及E-R图作法;3、掌握关系数据库关系的建立;4、学习关系数据库的完整性与规范化理论;2第2页,共34页,编辑于2022年,星期一主要内容(上)1.1 数据库概述1.2 数据模型3第3页,共34页,编辑于2022年,星期一1.1 数据库概述_基本概念u 数据数据(Data):描述事物的符号记录。描述事物的符号记录。数据和信息(Information)是两个密不可分的基本概念。通常我们说,数据是简单客观实体的符号化标识(多种媒体表示),信息是根据需要对数据进行加工处理后得到的结果,因此,可以这样定义:信息是具有一定含义的数据,是经过加工处理后的数据,是对某一活动有价值的数据。在数据库中,存储的是描述事物的信息,是反映事物的有用数据。4第4页,共34页,编辑于2022年,星期一u数据库数据库(DataBase,DB)储存在计算机内的、有组织的、可共享的数据集合储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。1.1.15第5页,共34页,编辑于2022年,星期一uu数据库管理系统数据库管理系统(DataBase Management System,DBMS)位于用户与操作系统之间的一层数据管理软件。用于建立、位于用户与操作系统之间的一层数据管理软件。用于建立、使用和维护数据库。使用和维护数据库。主要功能包括以下几个方面:主要功能包括以下几个方面:1.数据定义功能:数据定义功能:数据定义语言(Data Definition Language,DDL)2.数据操纵功能数据操纵功能:数据操纵语言(Data Manipulation Language,DML)3.数据库的运行管理数据库的运行管理:4.数据库的建立和维护功能:数据库的建立和维护功能:1.1.16第6页,共34页,编辑于2022年,星期一uu数据库系统数据库系统(DataBase System,DBS)指在计算机系统中引入数据库后的系统。指在计算机系统中引入数据库后的系统。一般由存储一般由存储介质、软件、处理对象、数据库、数据库管理系统介质、软件、处理对象、数据库、数据库管理系统(及其开发工具及其开发工具)、数据库管理员和用户构成。、数据库管理员和用户构成。1.1.17第7页,共34页,编辑于2022年,星期一应用系统应用系统DB用户用户应用开发工具应用开发工具DBMSOS用户用户用户用户DBA数据库系统数据库系统(DBS)1.1.18第8页,共34页,编辑于2022年,星期一1.1 数据库概述_数据管理技术n数据库技术是应数据管理任务的需要而产数据库技术是应数据管理任务的需要而产生的。生的。n数据管理技术经历了数据管理技术经历了人工管理人工管理、文件系统文件系统、数据库系统数据库系统三个阶段。三个阶段。1.1.29第9页,共34页,编辑于2022年,星期一 人工管理阶段人工管理阶段(20世纪50年代中期以前)n特点:特点:(1)数据不保存数据不保存 (2)应用程序管理数据应用程序管理数据 数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负相很重。(3)数据不共享数据不共享 数据是面向应用的,一组数据只能对应一个程序。(4)数据不具有独立性数据不具有独立性 数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。1.1.210第10页,共34页,编辑于2022年,星期一应用程序1数据集1应用程序2数据集2应用程序n数据集n1.1.211第11页,共34页,编辑于2022年,星期一 文件系统阶段文件系统阶段(50年代后期60年代中期)n特点:特点:(1)数据可长期保存数据可长期保存 (2)由文件系统管理数据由文件系统管理数据 相互独立的数据文件;“按文件名访问,按记录进行存取”的管理技术;记录内的结构性而整体无结构;存取方法转换使应用程序与数据之间有了一定的独立性;数据在存储上的改变不一定反映在程序上。(3)数据共享性差,冗余度大数据共享性差,冗余度大 文件仍然是面向应用的;数据的冗余度大;数据的修改和维护困难 (4)数据独立性差数据独立性差 不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数据集合。1.1.212第12页,共34页,编辑于2022年,星期一应用程序1文件1应用程序2文件2应用程序n文件n存取方法1.1.213第13页,共34页,编辑于2022年,星期一数据库系统阶段数据库系统阶段(60年代 )n特点:特点:(1)数据结构化数据结构化 数据结构化是数据库与文件系统的根本区别。文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据的最小存取单位是数据项。1.1.214第14页,共34页,编辑于2022年,星期一学生记录格式示例学生记录格式示例面向组织面向组织(多个应用)的学生数据组织多个应用)的学生数据组织1.1.215第15页,共34页,编辑于2022年,星期一(2)数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充数据库系统中的数据可以被多个用户、多个应用共享使用。(3)数据独立性高数据独立性高物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。应用程序要处理的只是数据的逻辑结构,而数据的存储是由DBMS管理的。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即数据的逻辑结构改变了,用户程序也可以不变。1.1.216第16页,共34页,编辑于2022年,星期一(4)数据由数据由DBMS统一管理和控制统一管理和控制 数据库的共享是并发的(Concurrency)。DBMS还必须提供的数据控制功能:数据的安全性(Security)数据的完整性(Integrity)并发(Concurrency)控制 数据库恢复(Recovery)1.1.217第17页,共34页,编辑于2022年,星期一应用程序1应用程序2数据库管理阶段程序与数据的对应关系数据库管理阶段程序与数据的对应关系 DBMS 数据库数据库1.1.218第18页,共34页,编辑于2022年,星期一(1)数据库系统结构的两种考察角度)数据库系统结构的两种考察角度 从数据库管理系统角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构。从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可有单用户结构、主从式结构)、分布式结构、客户服务器结构和并行结构。这是数据库系统外部的体系结构。1.1 数据库概述_三级模式结构1.1.319第19页,共34页,编辑于2022年,星期一模式(schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。“型”(Type)和“值”(Value)(P8提到)型是指一类数据的结构和属性的说明,值是型的一个具体赋值。例:记录型 (学号,姓名,性别,系别,年龄,籍贯)记录值 (90020l,李明,男,计算机,22,江苏)不同的DBMS在体系结构上通常都具有相同的特征,即采用三级模式结构三级模式结构并提供两级映象功能两级映象功能。1.1.320第20页,共34页,编辑于2022年,星期一(2)概念模式()概念模式(Schema)也称也称逻辑模式逻辑模式,是数据库中,是数据库中全体全体数据的逻辑结构和特征的描数据的逻辑结构和特征的描述,是所有用户的述,是所有用户的公共公共数据视图数据视图。它是数据库系统模式结构的中间层模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。模式定义包括数据的逻辑结构定义、数据之间的联系定义以及安全性、完整性要求的定义。1.1.321第21页,共34页,编辑于2022年,星期一2)外模式(外模式(External Schema)也称也称子模式子模式(Subshema)或或用户模式用户模式,它是数据库用户,它是数据库用户(包括应包括应用程序员和最终用户用程序员和最终用户)能够看见和使用的能够看见和使用的局部局部数据的逻辑结构和数据的逻辑结构和特征的描述,特征的描述,是数据库用户的数据视图,是与某一应用有关的数是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。1.1.322第22页,共34页,编辑于2022年,星期一3)内模式(内模式(Internal Schema)也称也称存储模式存储模式(Storage schema),一个数据库只有一个,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内部的表示方式。例如,记录的存储方式是什么;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。1.1.323第23页,共34页,编辑于2022年,星期一应用A应用B应用C应用C外模式2外模式1外模式3模式内模式DB123外模式外模式/模式映象模式映象模式模式/内模式映象内模式映象数据库系统的模式结构数据库系统的模式结构1.1.324第24页,共34页,编辑于2022年,星期一三级模式之间的二级映象:三级模式之间的二级映象:1.外模式外模式/模式映象模式映象 对于对于每一个每一个外模式,数据库系统都有一个外模式外模式,数据库系统都有一个外模式/模式映象,模式映象,它定义了该外模式与模式之间的对应关系它定义了该外模式与模式之间的对应关系(这些映象定义通常包这些映象定义通常包含在各自外模式的描述中含在各自外模式的描述中)。当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),DBA对各个外模式模式的映象作相应改变,可以使外模式保持不变。数据的逻辑独立性1.1.325第25页,共34页,编辑于2022年,星期一 2.模式模式/内模式映象内模式映象 存在一个唯一的模式内模式映象,它定义了数据库全局逻辑存在一个唯一的模式内模式映象,它定义了数据库全局逻辑结构与存储结构之间的对应关系(该映象定义通常包含在模式描结构与存储结构之间的对应关系(该映象定义通常包含在模式描述中)。述中)。例如,说明逻辑记录和字段在内部是如何表示的。当数据库的存储结构改变了(例如选用了另一种存储结构),由DBA对模式内模式映象作相应改变,可以使模式保持不变。数据的物理独立性1.1.326第26页,共34页,编辑于2022年,星期一优点:优点:u数据库的二级映象保证了数据库数据库的二级映象保证了数据库外模式的稳定性外模式的稳定性,从而从底层,从而从底层保证了保证了应用程序的稳定性应用程序的稳定性。u数据和程序之间的数据和程序之间的独立性独立性使得数据的定义和描述可以从应用程序使得数据的定义和描述可以从应用程序中中分离分离出去。另外,由于数据的存取由出去。另外,由于数据的存取由DBMS管理,用户不必管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。了应用程序的维护和修改。1.1.327第27页,共34页,编辑于2022年,星期一1.2 数据模型(Data Model)数据库技术的发展是沿着数据库技术的发展是沿着数据模型数据模型的主线展开的。的主线展开的。数据模型是现实世界数据特征的抽象。数据模型是现实世界数据特征的抽象。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。二是容易为人所理解;三是便于在计算机上实现。1.228第28页,共34页,编辑于2022年,星期一根据应用的不同目的,数据模型划分为两类:根据应用的不同目的,数据模型划分为两类:v 概念模型(信息模型)概念模型(信息模型)按用户的观点来对数据和信息建模;主要用于数据库设计。v数据库模型数据库模型 按计算机系统的观点对数据建模;主要包括网状模型、层次模型、关系模型等,主要用于DBMS的实现。1.229第29页,共34页,编辑于2022年,星期一现实世界 信息世界信息世界 概念模型概念模型机器世界机器世界 DBMS支持的数据模型支持的数据模型转换转换认识认识 抽象抽象对象的抽象过程对象的抽象过程对象的抽象过程对象的抽象过程1.230第30页,共34页,编辑于2022年,星期一u数据模型的三个要素数据模型的三个要素 1.数据结构数据结构 是所研究的对象类型的集合。是所研究的对象类型的集合。与数据类型、内容、性质有关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。与数据之间联系有关的对象(例如网状模型中的系型)。1.231第31页,共34页,编辑于2022年,星期一 2.数据操作数据操作 是指对数据库中各种对象是指对数据库中各种对象(型型)的实例的实例(值值)允许执行的允许执行的操作的集合,包括操作及有关的操作规则操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。3.数据的约束条件数据的约束条件 是一组完整性规则的集合。是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。1.232第32页,共34页,编辑于2022年,星期一u概念模型概念模型v 概念模型是概念模型是现实世界现实世界到到机器世界机器世界的一个的一个中间层次中间层次v 概念模型用于信息世界的建模概念模型用于信息世界的建模q应该具有较强的语义表达能力应该具有较强的语义表达能力q应该简单、清晰、易于用户理解。应该简单、清晰、易于用户理解。1.233第33页,共34页,编辑于2022年,星期一u数据库模型数据库模型 数据库领域中最常用的数据模型有四种数据库领域中最常用的数据模型有四种q 层次模型层次模型(Hierarchical Model),如如 IBM的的IMS系统系统q网状模型网状模型(Network Model),如如DBTG系统系统q 关系模型关系模型(Relational Model),如,如Oracle,Sybaseq 面向对象模型面向对象模型(Object Oriented Model)1.234第34页,共34页,编辑于2022年,星期一