数据库原理教程第一课_第1页
数据库原理教程第一课_第2页
数据库原理教程第一课_第3页
数据库原理教程第一课_第4页
数据库原理教程第一课_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统原理数据库系统原理 赵东明赵东明原理教学(原理教学(3 3学分)学分) 笔试成绩占笔试成绩占 80%9080%90% 理论教学理论教学 平时成绩占平时成绩占 20%10%20%10% 上机实践上机实践课程设计(课程设计(2 2学分)学分)1 1 数据库系统概论数据库系统概论( (第四版第四版) ) 萨师煊、王珊萨师煊、王珊 高等教育出版社高等教育出版社 2 A. Silberschatz, H. F. Korth, S. Sudarshan, 2 A. Silberschatz, H. F. Korth, S. Sudarshan, Database Database System

2、ConceptsSystem Concepts (Ed. 4), McGraw-Hill, 1999 (Ed. 4), McGraw-Hill, 19993 3 数据库系统概念数据库系统概念( (第四版第四版),(),(中译本中译本) ):杨冬青、唐世渭等译:杨冬青、唐世渭等译 机械工业出版社机械工业出版社4 4 数据库系统原理数据库系统原理( (第二版第二版), ), 李建中等李建中等 电子工业出版社电子工业出版社DBMSl数据库技术产生于六十年代末数据库技术产生于六十年代末, , 是计算机科学的重要分支是计算机科学的重要分支l数据库技术是信息系统的核心和基础数据库技术是信息系统的核心和基础

3、l数据库系统是最广泛使用的软件系统之一数据库系统是最广泛使用的软件系统之一l数据库研究数据库研究, , 开发与应用是计算机学科最活跃的领域开发与应用是计算机学科最活跃的领域l三位图灵奖得主三位图灵奖得主 Charles W. BachmanCharles W. Bachman (1973) ( (1973) (数据库技术数据库技术) ) Edgar F. CoddEdgar F. Codd (1981) ( (1981) (关系数据库系统关系数据库系统) ) James GrayJames Gray (1998) ( (1998) (数据库事务处理数据库事务处理) )l数据库涵盖了数据库涵盖了

4、 “ “信息管理信息管理”的主要内容的主要内容本课程与其他课程的联系与分工本课程与其他课程的联系与分工先修课程先修课程:高级语言程序设计:高级语言程序设计 数据结构数据结构后续课程后续课程:软件工程:软件工程 数据挖掘等数据挖掘等 信息系统的核心是信息系统的核心是数据库数据库,而信息系统的开发过程要用到具,而信息系统的开发过程要用到具体的软件开发工具和软件工程的方法。高级语言程序设计和数据体的软件开发工具和软件工程的方法。高级语言程序设计和数据结构是信息系统设计和研制的基础。这几门课程贯穿着开发应用结构是信息系统设计和研制的基础。这几门课程贯穿着开发应用系统的全过程。系统的全过程。1 1了解数

5、据管理技术的发展过程;了解数据管理技术的发展过程;2 2掌握数据库系统的基本概念、数据模型和体系结构;掌握数据库系统的基本概念、数据模型和体系结构;3 3掌握掌握RDBSRDBS的规范化理论和的规范化理论和SQLSQL的使用技术;的使用技术;4 4理解数据库设计的全过程,能进行数据库结构设计和理解数据库设计的全过程,能进行数据库结构设计和 简单的应用系统的设计;简单的应用系统的设计;5 5掌握数据库保护的四种措施:掌握数据库保护的四种措施: 数据库的恢复技术数据库的恢复技术 并发控制并发控制 系统的安全性系统的安全性 完整性完整性6 6了解数据库新技术的发展动向和内容。了解数据库新技术的发展动

6、向和内容。内容安排内容安排第一章:数据库系统概述第一章:数据库系统概述 第十一章第十一章: XML: XML第二章:实体第二章:实体- -联系模型联系模型 第十二章第十二章 ODBCODBC编程编程第三章:关系数据模型第三章:关系数据模型第四章:关系数据库标准语言第四章:关系数据库标准语言SQLSQL第五章:完整性和安全性第五章:完整性和安全性第六章:关系数据库的设计理论第六章:关系数据库的设计理论第七章:数据库设计第七章:数据库设计第八章:查询处理和优化第八章:查询处理和优化第九章:事务与并发控制第九章:事务与并发控制第十章:数据库的恢复技术第十章:数据库的恢复技术第一章第一章 数据库技术数

7、据库技术是计算机科学中发展最快的领域之一,也是应用最是计算机科学中发展最快的领域之一,也是应用最广泛的技术之一,它已成为计算机信息系统与应用系统的核心技术和广泛的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础重要基础。 数据库管理系统数据库管理系统是计算机学科体系中十分重要的系统软件。是计算机学科体系中十分重要的系统软件。 数据库系统原理数据库系统原理是软件专业中一门必修课程,该课程理论是软件专业中一门必修课程,该课程理论性强,并具有一定的实用技术。性强,并具有一定的实用技术。一、为什么需要数据库管理系统一、为什么需要数据库管理系统(DBMS)(DBMS)1 1 数据管理的例子

8、数据管理的例子 (原因:各领域产生大量数据)(原因:各领域产生大量数据) 零售业零售业-管理产品、客户和购买信息管理产品、客户和购买信息 银行业银行业-管理客户、帐户和存贷款信息管理客户、帐户和存贷款信息 制造业制造业-管理供应、订单、库存、销售等信息管理供应、订单、库存、销售等信息电信业电信业-管理通讯网络信息、存储通话记录、维护电话卡余额管理通讯网络信息、存储通话记录、维护电话卡余额大量数据要存储在计算机中,所面临的共同问题是:大量数据要存储在计算机中,所面临的共同问题是: 如何合理地组织数据?如何合理地组织数据? 如何有效地访问数据如何有效地访问数据 ?2 2 数据管理的基本操作数据管理

9、的基本操作n 数据查询数据查询n 数据更新数据更新 ( (插入、删除、修改插入、删除、修改) )3 3 实际应用对数据操作进一步要求实际应用对数据操作进一步要求n 并发访问控制并发访问控制 (数据需要多用户共享)(数据需要多用户共享)n 故障恢复故障恢复 (各类故障是不可避免的)(各类故障是不可避免的)n 数据的安全性数据的安全性 (防止非法使用和越权使用)(防止非法使用和越权使用)n 数据的完整性数据的完整性 (数据符合语义,满足一致性)(数据符合语义,满足一致性) 数据库管理系统数据库管理系统 ( DBMS )二、数据库管理系统与数据库二、数据库管理系统与数据库 DBMS DBMS 是位于

10、是位于用户用户和和 操作系统操作系统 之间的系统软件。之间的系统软件。其功能:其功能: 1. 1. 数据定义数据定义 - - 提供数据定义语言(提供数据定义语言(DDLDDL) 2. 2. 数据操纵数据操纵 - - 提供数据操纵语言(提供数据操纵语言(DMLDML) 3. 3. 事务管理和运行管理事务管理和运行管理 - 统一管理数据、控制对数据的并发访问统一管理数据、控制对数据的并发访问 保证数据的安全性、完整性保证数据的安全性、完整性 确保故障时数据库中数据不被破坏确保故障时数据库中数据不被破坏DBMSDBMS的功能的功能 (续)4. 4. 数据存储和查询处理数据存储和查询处理 - 确定数据

11、的物理组织和存取方式确定数据的物理组织和存取方式 提供数据的持久存储和有效访问提供数据的持久存储和有效访问 确定查询处理方法,查询优化确定查询处理方法,查询优化5. 5. 数据库的建立和维护数据库的建立和维护-数据库转储、性能监测等数据库转储、性能监测等6. 6. 其他功能其他功能 - 包括包括DBMSDBMS与其它软件通信与其它软件通信 异构数据库之间数据转换和互操作异构数据库之间数据转换和互操作 三、相关概念三、相关概念n 数据(数据(DataData)(1 1)定义:描述事物的符号记录称为)定义:描述事物的符号记录称为DataData。(2 2)数据的表现形式)数据的表现形式 数据是数据

12、库中存储的基本对象。它有多种表现形式(声、文、数据是数据库中存储的基本对象。它有多种表现形式(声、文、图等),但各类数据都必须数字化后才能加工处理。图等),但各类数据都必须数字化后才能加工处理。(3 3)如何来描述事物的数据特征?)如何来描述事物的数据特征? 在计算机中,为了存储和处理事物,就需要抽象出对事物感在计算机中,为了存储和处理事物,就需要抽象出对事物感兴趣的特征组成一个记录来描述。兴趣的特征组成一个记录来描述。例如例如: ( 李明李明 男男 1982 1982 江苏江苏 ) ( 8.25 A1 50 5 2508.25 A1 50 5 250 ) 数据记录本身只是一个存储和处理的形式

13、,只有对其进行了数据记录本身只是一个存储和处理的形式,只有对其进行了解释才能完整的表达内容。解释才能完整的表达内容。 因此,数据和关于数据的解释是不可分的。因此,数据和关于数据的解释是不可分的。数据的语义数据的语义n数据库数据库(DatabaseDatabase,简称,简称DBDB)是持久储存在计算机中、是持久储存在计算机中、有组织的、可共享的大量数据的集合。有组织的、可共享的大量数据的集合。 n 数据库中的数据按一定的数据模型组织、描述和存储数据库中的数据按一定的数据模型组织、描述和存储n 可以被各种用户共享可以被各种用户共享n 具有较小的冗余度具有较小的冗余度n 较高的数据独立性较高的数据

14、独立性n 易于扩展易于扩展 n 数据库模式数据库模式: : 在数据库中,使用数据模型对数据建模在数据库中,使用数据模型对数据建模 所产生的设计结果。所产生的设计结果。 数据库模式描述数据库的数据结构(型),具有相对稳定性。数据库模式描述数据库的数据结构(型),具有相对稳定性。 特定时刻数据库中的数据称为数据库的实例(值)。特定时刻数据库中的数据称为数据库的实例(值)。 n 数据库系统数据库系统 由数据库、由数据库、DBMSDBMS(及其开发工具)、(及其开发工具)、 应用系统和数据库管理员组成。应用系统和数据库管理员组成。 数据库系统数据库系统( DBS DBS ) 0 DBS DBS 是指在

15、计算机系统中引入了数据库后的系统。一般是指在计算机系统中引入了数据库后的系统。一般由由 DBDB、DBMSDBMS、应用系统、应用系统、DBADBA、USERUSER等构成。等构成。用户用户用户应用系统应用开发工具数据库管理系统操作系统DB 数据库管理员1.2 1.2 数据模型数据模型 数据模型是数据库技术的核心概念。是一种形式化机制,用于数据模型是数据库技术的核心概念。是一种形式化机制,用于数学建模,是对现实世界数据特征的抽象。数学建模,是对现实世界数据特征的抽象。 在数据库中用在数据库中用数据模型数据模型这个工具来抽象、表示、和处这个工具来抽象、表示、和处理现实世界中的数据和信息。理现实世

16、界中的数据和信息。 数据模型应满足三方面的要求:数据模型应满足三方面的要求: (1 1)能比较真实地模拟现实世界;)能比较真实地模拟现实世界; (2 2)易于为人理解)易于为人理解 (3 3)便于在计算机上实现。)便于在计算机上实现。 两类两类数据模型数据模型 (1 1)概念模型概念模型 ( 从用户的观点来对数据和信息建模)从用户的观点来对数据和信息建模) ( 主要用于数据库设计主要用于数据库设计 ) (2 2)数据模型数据模型 (逻辑模型和物理模型)(逻辑模型和物理模型) (从计算机的观点来对数据和信息建模)(从计算机的观点来对数据和信息建模) ( 主要用于主要用于 DBMS DBMS 的实

17、现的实现 ) 现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世界信息世界机器世界概念模型DBMSDBMS支持的数据模型一、一、 概念模型概念模型 ( (实体实体- -联系模型联系模型) ) 概念模型用于信息世界的建模。是现实世界到信息世界的第一层概念模型用于信息世界的建模。是现实世界到信息世界的第一层抽象。抽象。 概念模型是进行数据库设计的有力工具。同时也是数据库设计人概念模型是进行数据库设计的有力工具。同时也是数据库设计人员与用户之间进行交流的语言。员与用户之间进行交流的语言。 信息世界中的基本概念信息世界中的基本概念 实体实体 属性属性 码码 域域 实体型实体型 实体值实体值

18、 联系联系 实体型之间的联系有三类:实体型之间的联系有三类: 1:1 1:n m:n1:1 1:n m:n举例:举例:两个实体型之间的联系两个实体型之间的联系学校校长领导11职工部门所在1N课程学生选课NM举例:举例:多个实体型之间的联系多个实体型之间的联系参考书课程讲授NM教师1零件供应商 供应PN项目M举例:举例:单个实体型内的联系单个实体型内的联系 职 工领 导N1概念模型的一种表示方法:概念模型的一种表示方法: 实体实体- -联系法联系法 ( E-RE-R图图 )实体型联系连线属性例如学 生选课M学号课 程姓名年龄系别N课程号名称学分成绩二、二、 数据模型的组成要素数据模型的组成要素

19、数据模型通常由数据结构、数据操作和完整性约束三部分组成。数据模型通常由数据结构、数据操作和完整性约束三部分组成。 数据结构数据结构 数据结构是所研究的对象类型的集合。它们包括两类:一类是与数据结构是所研究的对象类型的集合。它们包括两类:一类是与数据类型、内容、性质有关的对象;一类是与数据之间的联系有关的对数据类型、内容、性质有关的对象;一类是与数据之间的联系有关的对象。象。 数据结构是刻画一个数据模型性质最重要的方面。在数据库系统中,数据结构是刻画一个数据模型性质最重要的方面。在数据库系统中,人们通常按数据结构的类型来命名数据模型。人们通常按数据结构的类型来命名数据模型。 数据结构是对系统静态

20、特性的描述数据结构是对系统静态特性的描述。 数据操作数据操作 数据操作是指对数据库中各种对象的实例允许执行的操作的集数据操作是指对数据库中各种对象的实例允许执行的操作的集合。包括操作及有关的操作规则。合。包括操作及有关的操作规则。 数据库主要有数据库主要有检索检索和和更新更新两大类操作。数据模型必须精确地定义两大类操作。数据模型必须精确地定义这些操作。这些操作。 数据操作是对系统动态特性的描述。数据操作是对系统动态特性的描述。 数据的完整性约束条件数据的完整性约束条件 数据的约束条件是一组数据的约束条件是一组完整性规则完整性规则的集合。完整性规则是给定的数的集合。完整性规则是给定的数据模型中数

21、据及联系所具有的制约和依存的规则。其目的是为了保证数据模型中数据及联系所具有的制约和依存的规则。其目的是为了保证数据的正确、有效、和相容。据的正确、有效、和相容。三、三、 最常见的数据模型最常见的数据模型 数据库中最常见的逻辑数据模型数据库中最常见的逻辑数据模型 层次模型层次模型网状模型网状模型关系模型关系模型面向对象模型面向对象模型对象关系模型对象关系模型非关系模型注意:注意:这里讲的数据模型都是逻这里讲的数据模型都是逻辑上的,是计算机能够理解,且辑上的,是计算机能够理解,且被被 DBMS DBMS 支持的数据视图。支持的数据视图。非关系模型非关系模型 在非关系模型中,实体用在非关系模型中,

22、实体用记录记录表示;实体的属性用记录的数据表示;实体的属性用记录的数据项即项即字段字段表示;实体间的联系转换为记录之间的两两联系。表示;实体间的联系转换为记录之间的两两联系。 基本层次联系基本层次联系 非关系模型中数据结构的单位是基本层次非关系模型中数据结构的单位是基本层次联系。联系。 它是指两个记录以及它们之间的它是指两个记录以及它们之间的 1:n1:n(包(包括括1:11:1)的联系。)的联系。 Ri RjLij 层次模型层次模型 定义定义 满足下条件的基本层次联系的集合。满足下条件的基本层次联系的集合。 (1 1)有且只有一个结点无父结点,称根结点;)有且只有一个结点无父结点,称根结点;

23、 (2 2)根除外的其它结点有且只有一个父结点。)根除外的其它结点有且只有一个父结点。 基本特点基本特点 对任意一个给定的记录值,只有按其路径查看时,才能显示出它对任意一个给定的记录值,只有按其路径查看时,才能显示出它的全部意义。没有一个子女结点能脱离双亲记录值而独立存在。的全部意义。没有一个子女结点能脱离双亲记录值而独立存在。 网状模型网状模型 定义定义 满足下条件的基本层次联系的集合。满足下条件的基本层次联系的集合。 (1 1)允许一个以上结点无父结点;)允许一个以上结点无父结点; (2 2)一个结点可以有多个父结点。)一个结点可以有多个父结点。 网状模型的数据结构更具有普遍性,它还允许两

24、个记录之间有多网状模型的数据结构更具有普遍性,它还允许两个记录之间有多种联系。种联系。四、四、 关系模型关系模型 关系模型时目前最重要的数据模型。关系数据库系统是采用关系关系模型时目前最重要的数据模型。关系数据库系统是采用关系模型来组织数据。模型来组织数据。 关系模型的数据结构关系模型的数据结构 从用户的角度来看,关系模型中数据的逻辑结构就是一张从用户的角度来看,关系模型中数据的逻辑结构就是一张二维表二维表。 关系关系dede一些术语一些术语 关系关系 元组元组 属性属性 码码 域域 分量分量 关系模式关系模式注意:注意:关系模型要求关系必须是规范化的。关系模型要求关系必须是规范化的。 关系中

25、的每个分量都是不可分的。关系中的每个分量都是不可分的。至少满足至少满足1NF1NF 关系模型的数据操作关系模型的数据操作 (1 1)关系模型的)关系模型的操作操作包括:包括: 查询查询 插入插入 删除删除 修改修改 (2 2)定义数据操作的方法有两种)定义数据操作的方法有两种 关系代数关系代数 (并、交、差、选择、投影、连接(并、交、差、选择、投影、连接) ) 关系演算关系演算 (元组关系演算(元组关系演算 域关系演算域关系演算) ) 关系模型的数据操作是元组集合的操作。操作的对象和操作的结关系模型的数据操作是元组集合的操作。操作的对象和操作的结果都是关系。果都是关系。 关系模型的完整型约束关

26、系模型的完整型约束 (1 1)实体完整性实体完整性 (2 2)参照完整性)参照完整性 (3 3)用户自定义的完整性)用户自定义的完整性 实体完整性和参照完整性是通用完整性约束,由关系模实体完整性和参照完整性是通用完整性约束,由关系模型明确定义型明确定义 关系模型的存储结构关系模型的存储结构 关系模型中,实体以及实体间的联系全都用关系模型中,实体以及实体间的联系全都用二维表二维表来表示。来表示。 在关系数据库中,表的物理结构常以在关系数据库中,表的物理结构常以OSOS的文件形式来的文件形式来组织。一个表可以对应一个文件,也可以对应多个文件。组织。一个表可以对应一个文件,也可以对应多个文件。 关系

27、模型的优缺点关系模型的优缺点 1.3 1.3 数据库系统数据库系统dede结构结构考察数据库系统的结构可以有不同的角度。考察数据库系统的结构可以有不同的角度。n从从 DBMSDBMS 的角度看,数据库系统通常采用三级模式结构的角度看,数据库系统通常采用三级模式结构 内模式内模式 外模式外模式 模式模式 n从从 USERUSER 的角度看,数据库统的结构分为的角度看,数据库统的结构分为 单用户结构单用户结构 主从式结构主从式结构 分布式结构分布式结构 客户客户/ /服务器结构服务器结构 浏览器浏览器/ /应用服务器应用服务器/ /数据库服务器结构数据库服务器结构n 单用户数据库系统单用户数据库系

28、统 整个数据库系统(包括应用程序、整个数据库系统(包括应用程序、DBMSDBMS、数据)、数据)都安装在一台计算机上都安装在一台计算机上 为一个用户所独占为一个用户所独占 不同机器之间不能共享数据不同机器之间不能共享数据单用户系统是一种早期的数据库系统,目前已经不再流行单用户系统是一种早期的数据库系统,目前已经不再流行 数据库系统,包括应用程序、数据库系统,包括应用程序、DBMSDBMS和数据都集中存和数据都集中存放在主机上放在主机上 所有处理任务都由主机来完成所有处理任务都由主机来完成 用户通过主机的终端并发地访问数据库,共享数据用户通过主机的终端并发地访问数据库,共享数据资源资源 主从式结

29、构的数据库系统是一种一台主机带多主从式结构的数据库系统是一种一台主机带多个终端的多用户系统个终端的多用户系统n 分布式结构分布式结构 分布式结构的数据库系统中,数据在逻辑上是一个分布式结构的数据库系统中,数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上整体,但物理地分布在计算机网络的不同结点上 网络中的每个结点都可以独立处理本地数据库中的网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用数据,执行局部应用 也可以同时存取和处理多个异地数据库中的数据,也可以同时存取和处理多个异地数据库中的数据,执行全局应用执行全局应用 n客户客户/ /服务器结构服务器结构 客户客户/ /

30、服务器结构的数据库系统把服务器结构的数据库系统把DBMSDBMS功能和应用分功能和应用分开开 网络中某些结点上的计算机专门用于执行网络中某些结点上的计算机专门用于执行DBMSDBMS功能,功能,称为数据库服务器(简称服务器称为数据库服务器(简称服务器 其他结点上的计算机安装其他结点上的计算机安装DBMSDBMS的外围应用开发工具,的外围应用开发工具,支持用户的应用,称为客户机支持用户的应用,称为客户机 客户客户/ /服务器结构是广泛采用的数据库系统结服务器结构是广泛采用的数据库系统结构。大部分商品化的构。大部分商品化的DBMSDBMS都支持这种结构。都支持这种结构。1.3.2 1.3.2 数据

31、库系统的三级模式结构数据库系统的三级模式结构 数据库系统的三级模式结构是指数据库系统内部是由外模式、模数据库系统的三级模式结构是指数据库系统内部是由外模式、模式和内模式三级构成。式和内模式三级构成。 应用A应用B应用E应用D应用C外模式外模式1 1外模式外模式2 2外模式外模式3 3 模模 式式 内内 模模 式式DB 外模式外模式 外模式又称为外模式又称为用户模式用户模式,或,或子模式子模式。它是数据库用户能够看到。它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述,是某一应用的用户的数和使用的局部数据的逻辑结构和特征的描述,是某一应用的用户的数据视图。据视图。 外模式通常是模式的一

32、个子集。一个数据库可以有多个外模式。外模式通常是模式的一个子集。一个数据库可以有多个外模式。 外模式是保证数据库安全性的一个有力措施。每个用户只能看到外模式是保证数据库安全性的一个有力措施。每个用户只能看到和使用它对应的外模式中的数据,数据库中的其它数据是不可见的。和使用它对应的外模式中的数据,数据库中的其它数据是不可见的。 模式模式 模式又称为模式又称为逻辑模式逻辑模式。它是数据库中全体数据的逻辑结构和特。它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。征的描述,是所有用户的公共数据视图。 一个数据库只有一个模式。数据库模式是以某个数据模型为基础,一个数据库只有一个模式

33、。数据库模式是以某个数据模型为基础,统一综合考虑了所有用户的数据需求,并将这些需求结合在一个逻辑统一综合考虑了所有用户的数据需求,并将这些需求结合在一个逻辑整体上。整体上。模式的定义包括模式的定义包括: (1 1)数据的逻辑结构)数据的逻辑结构 (数据项的名字、类型等)(数据项的名字、类型等) (2 2)数据之间的联系)数据之间的联系 (3 3)数据的安全性和完整性)数据的安全性和完整性 内模式内模式 内模式又称为内模式又称为存储模式存储模式。一个数据库只有一个内模式。它是数。一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。据物理结构和存储方式的描述,

34、是数据在数据库内部的表示方式。 例如:例如: 记录的存储方式是按记录的存储方式是按 B+B+树结构存储;树结构存储; 数据按数据按* * * *方式压缩;方式压缩; 数据按数据按* * * *方式加密。方式加密。1.3.3 1.3.3 二级映象和数据独立性二级映象和数据独立性 数据库系统的三级模式是对数据的三个抽象级别。它把数据的数据库系统的三级模式是对数据的三个抽象级别。它把数据的具体组织留给具体组织留给 DBMS DBMS 管理。管理。 为了在内部能实现这三个抽象层次的联系和转换,为了在内部能实现这三个抽象层次的联系和转换,DBMSDBMS在这三级在这三级模式之间提供了两层映象:模式之间提

35、供了两层映象: 外模式外模式/ /模式映象模式映象 模式模式/ /内模式映象内模式映象 正是这两层映象保证了数据库系统中的数据能够具有较高的逻正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。辑独立性和物理独立性。 外模式外模式/ /模式映象模式映象 模式模式描述的是数据的全局逻辑结构,描述的是数据的全局逻辑结构,外模式外模式描述的是数据的局描述的是数据的局部逻辑结构。对每一个外模式,数据库系统都有一个外模式部逻辑结构。对每一个外模式,数据库系统都有一个外模式/ /模式映模式映象,它定义了该外模式与模式之间的对应关系。象,它定义了该外模式与模式之间的对应关系。 外模式

36、外模式/ /模式映象模式映象的定义通常包含在各自的外模式的描述中。的定义通常包含在各自的外模式的描述中。什么是数据的逻辑独立性?什么是数据的逻辑独立性? 当模式改变时,由当模式改变时,由 DBA DBA 对各对各 外模式外模式/ /模式映象模式映象 作相应改变,作相应改变,可以使外模式不变,由于应用程序是依据数据的外模式编写的,从可以使外模式不变,由于应用程序是依据数据的外模式编写的,从而应用程序不变。这就保证了数据与程序的逻辑独立性。而应用程序不变。这就保证了数据与程序的逻辑独立性。 模式模式/ /内模式映象内模式映象 数据库中只有一个数据库中只有一个模式模式,也只有一个,也只有一个内模式内

37、模式。所以,。所以,模式模式/ /内内模式映象模式映象定义了数据库全局逻辑结构与存储结构之间的对应关系。定义了数据库全局逻辑结构与存储结构之间的对应关系。 模式模式/ /内模式映象内模式映象的定义通常包含在模式的描述中。的定义通常包含在模式的描述中。什么是数据的物理独立性?什么是数据的物理独立性? 当数据库的存储结构改变时,由当数据库的存储结构改变时,由 DBA DBA 对对模式模式/ /内模式映象内模式映象 作相作相应改变,可以使模式不变,外应改变,可以使模式不变,外模式也不变。模式也不变。从而应用程序也不变。这从而应用程序也不变。这就保证了数据与程序的物理独立性。就保证了数据与程序的物理独

38、立性。 正是正是数据库的二级映象保证了数据库的外模式的稳定性,从而从低数据库的二级映象保证了数据库的外模式的稳定性,从而从低层保证了应用程序的稳定性。层保证了应用程序的稳定性。 数据与程序之间独立性,使得数据的定义和描述可以从应用数据与程序之间独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取都是由程序中分离出去。另外,由于数据的存取都是由 DBMS DBMS 管理的,管理的,用户不必考虑存取路径等细节,从而简化了用程序的编制,也减用户不必考虑存取路径等细节,从而简化了用程序的编制,也减轻了应用程序的维护和修改。轻了应用程序的维护和修改。1.4 1.4 数据库语言数据库

39、语言数据库系统提供三种语言数据库系统提供三种语言n用于定义数据库模式的数据定义语言用于定义数据库模式的数据定义语言(DDL)n用于表达数据库的查询和更新的数据操纵语言用于表达数据库的查询和更新的数据操纵语言( DML )n用于定义用户对数据对象的访问权限的数据控制语言用于定义用户对数据对象的访问权限的数据控制语言( DML )(DDL)n数据库模式由数据库模式由DDL (Data Definition LanguageData Definition Language)来定义)来定义例如例如 CREATE TABLE CREATE TABLE StudentsStudents( Sno CHAR

40、(9) PRIMARY KEY,( Sno CHAR(9) PRIMARY KEY, Sname CHAR(8), Sname CHAR(8), Ssex CHAR(2), Ssex CHAR(2), Sbirthday DATE, Sbirthday DATE, Sept CHAR(20) ); Sept CHAR(20) );(DML)n 数据库的主要操作是查询和更新(插入、删除和修改)。用户数据库的主要操作是查询和更新(插入、删除和修改)。用户可以使用可以使用DML (Data Manipulation LanguageLData Manipulation LanguageL)表达对按照

41、某)表达对按照某种数据模式组织起来的数据的访问。种数据模式组织起来的数据的访问。n例如例如 select Sname, Sno from Students where Sept=软件工程软件工程 update SC set Grade=Grade+10 where Grade60 and sno in ( select sno from Students where Sept=软件工软件工程程 )(DCL)用于定义用户对数据对象的访问权限和审计用于定义用户对数据对象的访问权限和审计n DCLDCL提供授权语句保证数据的安全性提供授权语句保证数据的安全性n DCLDCL还提供了回收授权和建立审计

42、的语句还提供了回收授权和建立审计的语句n例如例如 grant SELECT on table Students to User11.5 1.5 数据库系统一般由数据库、数据库系统一般由数据库、DBMSDBMS、应用系统、应用系统 和和 DBA DBA 等等 组成。组成。 一、硬件平台及数据库一、硬件平台及数据库 (内存、外存、通道能力(内存、外存、通道能力 等)等) 二、软件二、软件 (DBMSDBMS、OSOS、 COMPILERCOMPILER、开发工具、开发工具 等)等) 三、人员三、人员 ( DBADBA、系统分析员、数据库设计员、系统分析员、数据库设计员、 应用程序员、用户应用程序员、用户 等等 ) 1

温馨提示

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

评论

0/150

提交评论