数据库课程ch介绍_第1页
数据库课程ch介绍_第2页
数据库课程ch介绍_第3页
数据库课程ch介绍_第4页
数据库课程ch介绍_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机学院计算机学院胡霍真胡霍真1.2数据库系统概论数据库系统概论Book name: Database System Concepts,第五版(本科教学版)第五版(本科教学版)Author: Abraham Silberschatz,Henry E Korth,S.SudarshanPress: China Machine Press 1.3数据库系统概论数据库系统概论nBook name: An Introduction to Database Systems Author: C. J.Date Press: China Machine PressnBook name : 数据库系统概念(

2、第三版)数据库系统概念(第三版) Author : 萨师煊萨师煊 王珊王珊 Press: Higher Education PressnBook name : 数据库系统基础数据库系统基础 Author : 冯玉才冯玉才 Press: 华中科技大学华中科技大学1.4数据库系统概论数据库系统概论nPurpose of Database Systems数据库系统作用数据库系统作用nView of Data数据层次数据层次nData Models 数据模型数据模型nData Definition Language 数据定义语言数据定义语言nData Manipulation Language数据操作

3、语言数据操作语言nTransaction Management 事务管理事务管理nStorage Management存储管理存储管理nDatabase Administrator数据库管理员数据库管理员nDatabase Users数据库用户数据库用户nOverall System Structure系统总体结构系统总体结构1.5数据库系统概论数据库系统概论nData数据数据H定义:描述事物的符号记录称为数据。定义:描述事物的符号记录称为数据。H数据是数据库中存储的基本对象,现实世界中数据是数据库中存储的基本对象,现实世界中的数据有很多种类,如文字、声音、图像、学的数据有很多种类,如文字、声

4、音、图像、学生的档案记录等。生的档案记录等。H数据在计算机中的描述:数据在计算机中的描述:例例:某学生的记录(:某学生的记录(19103104,张三,男,张三,男,1985,计算机学院),计算机学院)1.6数据库系统概论数据库系统概论nDataBase数据库,简称数据库,简称DBH定义:是指长期存储在计算机内的、有组织定义:是指长期存储在计算机内的、有组织、可共享的相关数据的集合。、可共享的相关数据的集合。H数据库中的数据,按一定的数据模型组织、数据库中的数据,按一定的数据模型组织、描述和存储,能供各种用户共享,具有较小描述和存储,能供各种用户共享,具有较小的冗余度,数据间联系密切,而又有较高

5、的的冗余度,数据间联系密切,而又有较高的程序与数据的独立性。程序与数据的独立性。1.7数据库系统概论数据库系统概论nDatabase Management System数据库管理系统数据库管理系统H定义:定义: 关联数据集合和一组访问这些数据的程关联数据集合和一组访问这些数据的程序集序集H目的:目的:DBMS 提供高效、便利的应用环境提供高效、便利的应用环境H主要功能:主要功能: 数据定义功能(数据定义功能(DDL) 数据操纵功能(数据操纵功能(DML) 数据库的运行管理数据库的运行管理 数据库的建立和维护功能数据库的建立和维护功能 1.8数据库系统概论数据库系统概论 数据定义功能(数据定义功

6、能(DDL):用户通过):用户通过DBMS提供的数据定义语言提供的数据定义语言DDL可以对数据库中的数据对象进行定义。可以对数据库中的数据对象进行定义。n数据库模式定义的规则说明数据库模式定义的规则说明H如如 create table account ( account-number char(10), balance integer)ndata dictionary数据字典数据字典n数据字典中包含元数据(即关于数据的数据)数据字典中包含元数据(即关于数据的数据)HDatabase schema 数据库模式数据库模式HData storage and definition language 数

7、据存储定义语言数据存储定义语言4说明数据库系统中存储结构和访问方法的语言说明数据库系统中存储结构和访问方法的语言4通常是数据定义语言的扩充通常是数据定义语言的扩充1.9数据库系统概论数据库系统概论 数据操纵功能(数据操纵功能(DML):用户可以使用):用户可以使用DBMS提供的数据操提供的数据操纵语言纵语言DML操纵数据,实现对数据库的基本操作,如查询、操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。插入、删除和修改等。n访问和操纵访问和操纵按照某种特定数据模型有组织起来的按照某种特定数据模型有组织起来的数据数据的语言的语言HDML also known as query lan

8、guage数据操纵语言一般数据操纵语言一般被当作查询语言被当作查询语言n两类数据操纵语言两类数据操纵语言H过程化过程化用户指定用户指定所需数据所需数据及及访问数据的方式访问数据的方式H非过程化非过程化用户指定用户指定所需数据所需数据,但无须说明访问数据的,但无须说明访问数据的方式方式n最常用的查询语言是最常用的查询语言是SQL,它的它的DML部分是非过程化的部分是非过程化的1.10数据库系统概论数据库系统概论 数据库的运行管理数据库的运行管理数据库在建立、运用和维护时由数据库在建立、运用和维护时由DBMS统一管统一管理、统一控制,以保证数据的安全性、完整性理、统一控制,以保证数据的安全性、完整

9、性、多用户对数据的并发使用及发生故障后的系、多用户对数据的并发使用及发生故障后的系统恢复。统恢复。 数据库的建立和维护功能数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。性能监视、分析功能等。1.11数据库系统概论数据库系统概论nDataBase System,简称,简称 DBS,数据库系统,数据库系统H定义:定义:DBS是指在计算机系统中引入是指在计算机系统中引入DB后的系后的系统。统。H组成:由组成:由DB、DBMS及其开发工具、应用系

10、统、及其开发工具、应用系统、数据库管理员和用户构成。数据库管理员和用户构成。DBS=DB+DBMS+APPLICATION+DBA+USERHDBA:DataBase Administrator,数据库管理员,数据库管理员H我们通常所说的数据库系统主要是指我们通常所说的数据库系统主要是指DBMS,而,而不是指存放数据的具体数据库。不是指存放数据的具体数据库。1.12数据库系统概论数据库系统概论数据库管理系统数据库管理系统数据库数据库操作系统操作系统应用系统应用系统用户用户用户用户1.13数据库系统概论数据库系统概论n数据库系统的应用:数据库系统的应用:H银行业:客户、帐户、贷款、银行交易银行业

11、:客户、帐户、贷款、银行交易H航空业:预定、调度航空业:预定、调度H大学:注册、评分大学:注册、评分H销售业:客户、产品、购买销售业:客户、产品、购买H制造业:生产、记帐、定单、供应链制造业:生产、记帐、定单、供应链H人力资源:雇员记录、工资、课税减免人力资源:雇员记录、工资、课税减免n数据库接触生活各层面数据库接触生活各层面1.14数据库系统概论数据库系统概论n 数据管理技术随着计算机软硬件的发展而不断发数据管理技术随着计算机软硬件的发展而不断发展,展,40多年来经历了以下三个阶段:多年来经历了以下三个阶段:n 人工管理阶段人工管理阶段 50年代中期以前年代中期以前H 没有操作系统,没有管理

12、数据的软件,没有没有操作系统,没有管理数据的软件,没有磁盘等直接存取的存储设备,因此无法将数据磁盘等直接存取的存储设备,因此无法将数据存储在磁盘上,人们只能用最原始的手工方式存储在磁盘上,人们只能用最原始的手工方式来操作计算机,例如用纸带穿孔来标记数据。来操作计算机,例如用纸带穿孔来标记数据。H 数据不保存、应用程序管理数据、数据不共数据不保存、应用程序管理数据、数据不共享、数据不具有独立性享、数据不具有独立性1.15数据库系统概论数据库系统概论n文件系统阶段文件系统阶段 50年代后期到年代后期到60年代中期年代中期H计算机已经有了操作系统。在操作系统基础计算机已经有了操作系统。在操作系统基础

13、之上建立的之上建立的文件系统文件系统已经成熟并广泛应用。已经成熟并广泛应用。因此,人们自然想到用文件把大量的数据存因此,人们自然想到用文件把大量的数据存储在储在磁盘磁盘上,以实现对数据的永久保存和自上,以实现对数据的永久保存和自动管理以及维护。动管理以及维护。H用文件系统管理数据的优点用文件系统管理数据的优点4数据可以长期保存数据可以长期保存4由文件系统管理数据由文件系统管理数据1.16数据库系统概论数据库系统概论n使用文件系统存储数据的缺点:使用文件系统存储数据的缺点:1、Data redundancy and inconsistency数据冗余数据冗余和不一致性和不一致性4多种文件格式,不

14、同的文件中信息重复多种文件格式,不同的文件中信息重复2、Difficulty in accessing data 访问数据困难访问数据困难4要为每个新任务编写新程序要为每个新任务编写新程序3、Data isolation multiple files and formats数数据孤立据孤立多文件和多格式多文件和多格式4、Integrity problems完整性问题完整性问题4Integrity constraints 完整性约束(如帐目结算完整性约束(如帐目结算 $25 )是程序代码的组成部分)是程序代码的组成部分4增加新的约束或改变现有约束困难增加新的约束或改变现有约束困难1.17数据库系

15、统概论数据库系统概论nameaddressdepartmentsalaryHayesRound HiddAccount500JohnsonPerryridgeAccount780SmithPerryridgeLoan1200namecoursedepartmentHayesOSAccountJohnsonDBAccountSmithOSLoanLoanHayesLoanHayesAccount?employeeEnrollment接受培训的雇员接受培训的雇员不一致性不一致性1.18数据库系统概论数据库系统概论要求:要求: 找出所有居住在武汉的顾客的姓名列表。找出所有居住在武汉的顾客的姓名列表。

16、 涉及问题涉及问题从顾客表格中提取所需信息。从顾客表格中提取所需信息。必须写一个新的应用程序。必须写一个新的应用程序。找出所有居住在武汉并且拥有至少找出所有居住在武汉并且拥有至少1000美元存款的顾客的姓美元存款的顾客的姓名列表。名列表。1.19数据库系统概论数据库系统概论n使用文件系统的缺点(续)使用文件系统的缺点(续)5、Atomicity problem 原子性问题原子性问题4执行部分更新时的失败会导致数据库处于不一致状执行部分更新时的失败会导致数据库处于不一致状态态4如,帐号间的资金转换要么完成,要么完全不进行如,帐号间的资金转换要么完成,要么完全不进行6、Concurrentacce

17、ss anomalies 并发访问异常并发访问异常4并发存取提高性能并发存取提高性能4不经控制的并发存取会导致不一致不经控制的并发存取会导致不一致如,两个人读余额,并同时进行更新操作。如,两个人读余额,并同时进行更新操作。7、Security problems安全性问题安全性问题n数据库系统为上述所有问题提供了解决方案数据库系统为上述所有问题提供了解决方案1.20数据库系统概论数据库系统概论Husband $100Account A $500Wife $50Read $500$500-$50=$450Write $450Read $500$500-$100=$400Write $400$400

18、 / $450X1.21数据库系统概论数据库系统概论n数据库系统阶段数据库系统阶段 60年代后期开始年代后期开始n1969年,美国年,美国IBM公司研制了第一个层次数据公司研制了第一个层次数据库管理系统库管理系统IMS(Information Management System)。n同年,美国的同年,美国的DBTG(DataBase Task Group)小组发表了小组发表了DBTG报告,给出了网状型数据库报告,给出了网状型数据库的规范。的规范。n在在1970年,年,IBM公司的公司的E.F.Codd研究员发表论研究员发表论文提出了关系数据库的模型,奠定了关系数据文提出了关系数据库的模型,奠定

19、了关系数据库的理论基础。随后一系列工作成果使库的理论基础。随后一系列工作成果使E.F.Codd获得了获得了1981年的年的ACM图灵奖。图灵奖。1.22数据库系统概论数据库系统概论n数据库系统的特点:数据库系统的特点:1、数据结构化、数据结构化H采用复杂的数据模型结构,描述数据本身的采用复杂的数据模型结构,描述数据本身的特点及数据之间的联系。特点及数据之间的联系。H数据库系统实现数据库系统实现整体数据的结构化整体数据的结构化是数据库是数据库的主要特征之一,也是数据库系统与文件系的主要特征之一,也是数据库系统与文件系统的本质区别。统的本质区别。2、数据的共享性高、冗余度低、易扩充、数据的共享性高

20、、冗余度低、易扩充H数据是面向整个系统的,使得数据可以被多数据是面向整个系统的,使得数据可以被多个用户、多个应用共享使用。数据共享大大个用户、多个应用共享使用。数据共享大大减少数据冗余,也易于扩充。减少数据冗余,也易于扩充。1.23数据库系统概论数据库系统概论3、数据独立性高、数据独立性高H物理独立性:指用户的应用程序与存储在磁盘物理独立性:指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。上的数据库中的数据是相互独立的。H逻辑独立性:指用户的应用程序与数据库的逻逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。辑结构是相互独立的。H数据与程序的独立,把数据的定义从程序中分

21、数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由离出去,加上数据的存取又由DBMS负责,从负责,从而简化了应用程序的编制,大大减少了应用程而简化了应用程序的编制,大大减少了应用程序的维护和修改。序的维护和修改。1.24数据库系统概论数据库系统概论4、数据由、数据由DBMS统一管理和控制统一管理和控制H数据库的共享是并发的共享,即多个用户可数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据,甚至可以同时以同时存取数据库中的数据,甚至可以同时存取数据库中同一数据。存取数据库中同一数据。HDBMS提供以下几方面的数据控制功能:提供以下几方面的数据控制功能: 数据的安全性

22、保护数据的安全性保护 数据的完整性检查数据的完整性检查 并发控制并发控制 数据库恢复数据库恢复1.25数据库系统概论数据库系统概论nmodels模型模型:是现实世界特征的模拟和:是现实世界特征的模拟和抽象。抽象。n根据模型应用的不同目的,将模型划分成根据模型应用的不同目的,将模型划分成两类:两类:HConcept models概念模型概念模型4也称信息模型;也称信息模型;4它是它是按用户的观点按用户的观点来对数据和信息建模;来对数据和信息建模;4主要用于主要用于数据库设计数据库设计;HData models数据模型数据模型4主要包括层次、网状、关系模型等;主要包括层次、网状、关系模型等;4它是

23、它是按计算机系统的观点按计算机系统的观点对数据建模;对数据建模;4主要用于主要用于DBMS的实现的实现;n数据模型:描述数据、数据联系、数据语数据模型:描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。义以及一致性约束的概念工具的集合。1.26数据库系统概论数据库系统概论实体实体-联系模型的模式示例(客户联系模型的模式示例(客户-储户储户-帐户)帐户)1.27数据库系统概论数据库系统概论nE-R model of real world现实世界的现实世界的E-R模型模型HEntities (objects) 实体(对象)实体(对象)4如客户、帐户、银行分支机构如客户、帐户、银行分支机构

24、HRelationships between entities实体间的联系实体间的联系4如客户约翰逊持有帐户如客户约翰逊持有帐户A-1014联系集联系集“储户储户”将客户与帐户关联起来将客户与帐户关联起来nMapping cardinalities 映射基数映射基数n广泛应用于数据库设计广泛应用于数据库设计H数据库通常将数据库通常将E-R模型的设计转换成关系模型(下模型的设计转换成关系模型(下面将论及)的设计,用于存储和处理面将论及)的设计,用于存储和处理1.28数据库系统概论数据库系统概论n 数据模型通常由数据结构(系统静态特性)、数据操数据模型通常由数据结构(系统静态特性)、数据操作(系统

25、动态特性)和完整性约束三部分组成。作(系统动态特性)和完整性约束三部分组成。n 常用的数据模型有以下四种:常用的数据模型有以下四种:HHierarchical Model层次模型层次模型HNetwork Model网状模型网状模型HRelational Model关系模型关系模型HObject Oriented Model面向对象模型面向对象模型n其中,层次模型和网状模型统称为非关系型模型其中,层次模型和网状模型统称为非关系型模型 。1.29数据库系统概论数据库系统概论n层次模型的数据结构层次模型的数据结构 有且只有一个有且只有一个结点没有双亲结点,这个结点称为结点没有双亲结点,这个结点称为

26、根结点;根结点; 根以外根以外的其他结点有且的其他结点有且只有一个只有一个双亲结点。双亲结点。H层次模型用层次模型用树形结构树形结构来表示各类实体以及实体间的联系。来表示各类实体以及实体间的联系。H层次数据库系统层次数据库系统只能处理一对多只能处理一对多的实体联系。的实体联系。H在层次模型中,每个在层次模型中,每个结点结点表示一个表示一个记录记录类型,记录(类型)之类型,记录(类型)之间的联系用结点之间的连线(间的联系用结点之间的连线(有向边有向边)表示,这种联系是父子)表示,这种联系是父子之间的一对多的联系。这使得层次数据库系统只能处理一对多之间的一对多的联系。这使得层次数据库系统只能处理一

27、对多的实体联系。的实体联系。H每个记录类型可包含若干个字段,每个记录类型可包含若干个字段,记录记录类型描述的是类型描述的是实体实体,字字段段描述的是实体的描述的是实体的属性属性,各个记录类型和字段都必须命名。,各个记录类型和字段都必须命名。H层次模型的层次模型的基本特点基本特点:任何一个给定的记录值只有按其路径查:任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义。在层次数据模型中,没有一个看时,才能显出它的全部意义。在层次数据模型中,没有一个子女记录值能够脱离双亲记录值而独立存在。子女记录值能够脱离双亲记录值而独立存在。1.30数据库系统概论数据库系统概论n例:教员学生数据库模型例

28、:教员学生数据库模型职工号职工号姓名姓名研究方向研究方向教员教员学号学号姓名姓名成绩成绩学生学生教研室编号教研室编号教研室名教研室名教研室教研室系编号系编号系名系名办公地点办公地点系系1.31数据库系统概论数据库系统概论n例:教员学生数据库的一个实例D02计算机计算机信息楼信息楼系系R01数据库数据库教研室教研室R02 信息系统信息系统R03网络网络学生学生S63871文继容文继容 AS63874张华张华CS63875李玲李玲AE2101 王大名王大名数据库数据库教员教员E1709冯序冯序数据仓库数据仓库E1101陈杉陈杉网络安全网络安全教员教员E3704刘念刘念网络管理网络管理1.32数据库

29、系统概论数据库系统概论n多对多联系在层次模型中的表示多对多联系在层次模型中的表示 H层次模型不能直接表示多对多联系,必须先设法层次模型不能直接表示多对多联系,必须先设法将该关系分解为一对多联系,然后再用层次模型将该关系分解为一对多联系,然后再用层次模型来表示。来表示。H分解的方法有两种:冗余结点法和虚拟结点法。分解的方法有两种:冗余结点法和虚拟结点法。4冗余结点法冗余结点法:增设两个冗余结点,将多对多联:增设两个冗余结点,将多对多联系转换成两个一对多联系。系转换成两个一对多联系。4虚拟结点法虚拟结点法:将冗余结点转换为虚拟结点(即:将冗余结点转换为虚拟结点(即指引元),指向所替代的结点。指引元

30、),指向所替代的结点。1.33数据库系统概论数据库系统概论n例:学生与课程之间的多对多联系例:学生与课程之间的多对多联系mn1.34数据库系统概论数据库系统概论n优点:允许结点改变存储位置。优点:允许结点改变存储位置。n缺点:需要额外占用存储空间,有潜在的不一致性。缺点:需要额外占用存储空间,有潜在的不一致性。1.35数据库系统概论数据库系统概论n优点:减少对存储空间的浪费,避免产生潜在的不一致性。优点:减少对存储空间的浪费,避免产生潜在的不一致性。n缺点:结点改变存储位置可能引起虚拟结点中指针的修改缺点:结点改变存储位置可能引起虚拟结点中指针的修改。1.36数据库系统概论数据库系统概论n层次

31、模型的数据操纵与完整性约束层次模型的数据操纵与完整性约束 H层次模型的数据操纵主要有查询、插入、删除和层次模型的数据操纵主要有查询、插入、删除和修改。修改。H进行插入、删除、修改操作时要满足层次模型的进行插入、删除、修改操作时要满足层次模型的完整性约束条件。完整性约束条件。4插入插入:如果没有相应的双亲结点值就不能插入:如果没有相应的双亲结点值就不能插入子女结点值。例:调入一名教师,要分配教研子女结点值。例:调入一名教师,要分配教研室室4删除删除:如果删除双亲结点值,则相应的子女结:如果删除双亲结点值,则相应的子女结 点值也被同时删除。例:删除某个教研室点值也被同时删除。例:删除某个教研室4修

32、改修改:应修改所有相应记录,以保证数据的一:应修改所有相应记录,以保证数据的一致性。例:对于冗余结点法致性。例:对于冗余结点法1.37数据库系统概论数据库系统概论n层次模型的存储结构层次模型的存储结构H层次数据库中不仅要存储数据本身,还要存储数据之间层次数据库中不仅要存储数据本身,还要存储数据之间的层次联系。的层次联系。H层次模型数据的存储常常是和数据之间联系的存储结合层次模型数据的存储常常是和数据之间联系的存储结合在一起的。常用的实现方法有两种:在一起的。常用的实现方法有两种:4邻接法邻接法:按照层次树前序穿越的顺序把所有记录值:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空

33、间的位置相邻来体现依次邻接存放,即通过物理空间的位置相邻来体现(或隐含)层次顺序。(或隐含)层次顺序。4链接法链接法:用指引元来反映数据间的层次联系。:用指引元来反映数据间的层次联系。 子女子女-兄弟链接法兄弟链接法 层次序列链接法层次序列链接法1.38数据库系统概论数据库系统概论n层次数据库及其实例层次数据库及其实例A1B1C1C3C5C7B4C2C9B6C4C6C8A2A1B1B4B6C1C3C5C7C2 C9C6C4C8ABCn邻接法1.39数据库系统概论数据库系统概论n子女子女-兄弟链接法兄弟链接法(最左边的子女,最近的兄弟)(最左边的子女,最近的兄弟)A1B1B4B6*A2C1C4C

34、9*C2C7*C5C3C8*C61.40数据库系统概论数据库系统概论n层次序列链接法层次序列链接法 A1 B6 B4 B1 C8 C6 C4 C9 C2 C7 C5 C3 C11.41数据库系统概论数据库系统概论n层次模型的优缺点层次模型的优缺点H 优点优点模型简单。模型简单。用层次模型的应用系统性能好,特别是对于那些实体间联用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的预先定义好的应用,采用层次模型来实现,其系是固定的预先定义好的应用,采用层次模型来实现,其性能优于关系模型性能优于关系模型 。提供了良好的完整性支持。提供了良好的完整性支持。H 缺点缺点现实世界中很多联系是非层次

35、的,用层次模型表示会引入现实世界中很多联系是非层次的,用层次模型表示会引入冗余数据或创建非自然的数据组织。冗余数据或创建非自然的数据组织。对插入删除操作的限制比较多。对插入删除操作的限制比较多。查询子女结点必须通过双亲结点。查询子女结点必须通过双亲结点。由于结构严密,层次命令趋于程序化。由于结构严密,层次命令趋于程序化。1.42数据库系统概论数据库系统概论n网状数据模型的数据结构网状数据模型的数据结构允许允许一个以上一个以上的结点无双亲;的结点无双亲;一个结点可以有一个结点可以有多于一个多于一个的双亲。的双亲。H层次模型是网状模型的一个特例。层次模型是网状模型的一个特例。H网状模型去掉了层次模

36、型的两个限制,另外,它还网状模型去掉了层次模型的两个限制,另外,它还允许两个允许两个结点之间有多种联系结点之间有多种联系,因此能更直接地去描述现实世界。,因此能更直接地去描述现实世界。H与层次模型一样,网状模型中每个与层次模型一样,网状模型中每个结点结点表示一个表示一个记录记录类型(类型(实体实体),每个记录类型可包含若干个),每个记录类型可包含若干个字段字段(实体的(实体的属性属性),),结点间的连线表示记录类型之间的父子联系。结点间的连线表示记录类型之间的父子联系。H从定义可以看出,层次模型中子女结点与双亲结点的联系是从定义可以看出,层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型

37、中这种联系可以不唯一。因此,要唯一的,而在网状模型中这种联系可以不唯一。因此,要为为每个联系命名每个联系命名,并指出与该联系有关的双亲记录和子女记录,并指出与该联系有关的双亲记录和子女记录。1.43数据库系统概论数据库系统概论n例:学生例:学生/选课选课/课程的网状数据库模式课程的网状数据库模式学号学号课程号课程号成绩成绩选课选课课程号课程号课程名课程名学分学分课程课程学号学号姓名姓名系别系别学生学生S-SCC-SCHDBTG 模型模型(网状数据模型的典型代表网状数据模型的典型代表,不是实际的软件不是实际的软件,但他提出的但他提出的基本概念、方法和技术具有普遍意义基本概念、方法和技术具有普遍意

38、义)中不能表示记录之间多对多的中不能表示记录之间多对多的联系。为此引进一个学生选课的联结记录。联系。为此引进一个学生选课的联结记录。1.44数据库系统概论数据库系统概论n网状数据模型的操纵与完整性约束网状数据模型的操纵与完整性约束 H具体的网状数据库系统对数据操纵都加了一些限制,提具体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束。供了一定的完整性约束。HDBTG系统在模式系统在模式DDL中提供了定义中提供了定义DBTG数据库完整数据库完整性的若干概念和语句,主要有:性的若干概念和语句,主要有:4支持记录码的概念,码即唯一标识记录的数据支持记录码的概念,码即唯一标识记录的数据

39、 项的集合。项的集合。4保证一个联系中双亲记录和子女记录之间是一保证一个联系中双亲记录和子女记录之间是一 对多联系。对多联系。4可以支持双亲记录和子女记录之间某些约束条件。例可以支持双亲记录和子女记录之间某些约束条件。例:学生选课记录值必须是数据库中存在的某一学生,:学生选课记录值必须是数据库中存在的某一学生,某一门课的选修记录。某一门课的选修记录。1.45数据库系统概论数据库系统概论n网状数据模型的存储结构网状数据模型的存储结构H网状数据模型的存储结构中关键是如何实现记录之间的网状数据模型的存储结构中关键是如何实现记录之间的联系。联系。H常用的方法是链接法。常用的方法是链接法。n网状数据模型

40、的优缺点网状数据模型的优缺点H 优点优点4更为直接地描述现实世界。更为直接地描述现实世界。4具有良好的性能,存取效率高。具有良好的性能,存取效率高。H 缺点缺点4结构复杂,不利于最终用户掌握。结构复杂,不利于最终用户掌握。4其其DDL、DML语言复杂,用户不容易使用。语言复杂,用户不容易使用。1.46数据库系统概论数据库系统概论n学生学生/选课选课/课程的网状数据库实例课程的网状数据库实例S1 C2 AS2 C1 AS3 C1 BS3 C2 BS4 C1 AS2 C3 BS1 C1 A S1 S2 S3 C1 C21.47数据库系统概论数据库系统概论1.48数据库系统概论数据库系统概论nPhy

41、sical level物理层:抽象的最低层次,描述物理层:抽象的最低层次,描述数据实际上是怎样存储的。数据实际上是怎样存储的。nLogical level逻辑层:比物理层稍高的抽象层逻辑层:比物理层稍高的抽象层次,描述数据库中存储什么数据,及这些数据次,描述数据库中存储什么数据,及这些数据间的关联。间的关联。nView level视图层:抽象的最高层次,只描述整视图层:抽象的最高层次,只描述整个数据库的某个部分。个数据库的某个部分。 应用程序屏蔽了数据类型的细节应用程序屏蔽了数据类型的细节 视图还可以出于安全原因屏蔽相关信息(如工视图还可以出于安全原因屏蔽相关信息(如工资)资)1.49数据库系

42、统概论数据库系统概论The three levels of data abstraction.数据抽象的三个层次数据抽象的三个层次1.50数据库系统概论数据库系统概论For example,in a Pascal-like language,we may declare a record as follows:type customer = recordcustomer-name : string; social-security : string; customer-street : string;customer-city : string;end; A banking enterpris

43、e may have several such record types,including account,with fields account-number and balance employee,with fields employee-name and salary1.51数据库系统概论数据库系统概论n与编程语言中的类型和变量类似与编程语言中的类型和变量类似nSchema 模式模式数据库的总体设计数据库的总体设计H例如,数据库包括客户、帐户集,以及他们之间的关例如,数据库包括客户、帐户集,以及他们之间的关系信息。系信息。H模拟程序中变量的类型信息模拟程序中变量的类型信息 var c

44、ustomer1 : customer;HPhysical schema物理模式:物理层的数据库设计物理模式:物理层的数据库设计HLogical schema逻辑模式:逻辑层的数据库设计逻辑模式:逻辑层的数据库设计HSubschema子模式:数据库的不同视图子模式:数据库的不同视图 nInstance 实例实例某一时刻数据库的实际内容某一时刻数据库的实际内容H模拟变量的值模拟变量的值1.52数据库系统概论数据库系统概论1.53数据库系统概论数据库系统概论一、模式一、模式(Schema) H也称逻辑模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征是数据库中全体数据的逻辑结构和特征的描述的描

45、述,是所有用户的公共数据视图。它包括数据库中,是所有用户的公共数据视图。它包括数据库中所有的域、关系和属性的命名和描述,是整个数据库的所有的域、关系和属性的命名和描述,是整个数据库的框架。框架。H一个数据库只有一个模式一个数据库只有一个模式,它以某种数据模型为基础,它以某种数据模型为基础,综合考虑所有用户的需求并将之有机组成一个逻辑整体综合考虑所有用户的需求并将之有机组成一个逻辑整体。H定义模式既要定义数据的逻辑结构,也要定义数据之间定义模式既要定义数据的逻辑结构,也要定义数据之间的联系和与数据有关的安全性、完整性要求。的联系和与数据有关的安全性、完整性要求。HDBMS提供模式描述语言(模式提

46、供模式描述语言(模式DDL)来严格地定义模式。来严格地定义模式。1.54数据库系统概论数据库系统概论二、外模式二、外模式(External Schema) H也称子模式或用户模式,也称子模式或用户模式,是数据库用户(包括应用程序是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述和特征的描述,是一个或几个具体数据库用户(包括应,是一个或几个具体数据库用户(包括应用程序员和最终用户)的数据视图的描述,它只描述这用程序员和最终用户)的数据视图的描述,它只描述这些用户所关心的域、属性、关系和记录,是与某一应用些用户所关

47、心的域、属性、关系和记录,是与某一应用有关的数据的逻辑表示。有关的数据的逻辑表示。 H外模式通常是模式的子集。外模式通常是模式的子集。一个数据库可以有多个外模一个数据库可以有多个外模式式。 H外模式是各个用户的数据视图,它的描述因用户的要求外模式是各个用户的数据视图,它的描述因用户的要求不同而异。即使对模式中同一不同而异。即使对模式中同一数据,在外模式中的结构、类型、长数据,在外模式中的结构、类型、长度、保密级别等都可以不同。度、保密级别等都可以不同。1.55数据库系统概论数据库系统概论二、外模式二、外模式(External Schema) H同一外模式可以为某一用户的多个应用系统所同一外模式

48、可以为某一用户的多个应用系统所使用,但使用,但一个应用程序只能使用一个外模式一个应用程序只能使用一个外模式。H外模式是保证数据库安全性的一个有力措施。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。数据,数据库中的其余数据是不可见的。HDBMS提供子模式描述语言(子模式提供子模式描述语言(子模式DDL)来)来严格地定义子模式。严格地定义子模式。1.56数据库系统概论数据库系统概论三、内模式三、内模式(Internal Schema) H也称存储模式,也称存储模式,它是数据物理结构和存储方

49、式的它是数据物理结构和存储方式的描述描述,是数据在数据库内部的表示方式。,是数据在数据库内部的表示方式。 H一个数据库只有一个内模式。一个数据库只有一个内模式。 H例如,记录的存储方式是顺序存储、按照例如,记录的存储方式是顺序存储、按照B树结树结构存储、还是按构存储、还是按Hash方法存储等。方法存储等。HDBMS提供内模式描述语言(内模式提供内模式描述语言(内模式DDL)来严格地定义内模式。来严格地定义内模式。1.57数据库系统概论数据库系统概论n数据库系统的三级模式是对数据的三个抽象级数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给别,它把数据的具体组织留给DBMS管理,

50、使管理,使用户能逻辑地抽象地处理数据,而不必关心数用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。据在计算机中的具体表示方式与存储方式。n为了能够在内部实现这三个抽象层次的联系和为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供转换,数据库管理系统在这三级模式之间提供了两层映象:了两层映象:H外模式外模式/模式映象模式映象H模式模式/内模式映象内模式映象n这两层映象保证了数据库系统中的数据具有这两层映象保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。较高的逻辑独立性和物理独立性。1.58数据库系统概论数据库系统概论一、外模式

51、一、外模式/模式映象模式映象 H对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应模式映象,它定义了该外模式与模式之间的对应关系。这些映象通常包含在各自外模式的描述中。关系。这些映象通常包含在各自外模式的描述中。H当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由),由DBA对各个外模式对各个外模式/模式映象作相应改变,可以使外模式保持不模式映象作相应改变,可以使

52、外模式保持不变,也不必修改应用程序(应用程序是依据数据的外模式编写的),保变,也不必修改应用程序(应用程序是依据数据的外模式编写的),保证了数据与程序的逻辑独立性。证了数据与程序的逻辑独立性。 二、模式二、模式/内模式映象内模式映象 H数据库中只有一个模式,也只有一个内模式,所以模式数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映象定义通常包含在如,说明逻辑记录和字段在内部是如何表示的。该映象定义通常

53、包含在模式描述中。模式描述中。H当数据库的存储结构改变了,由当数据库的存储结构改变了,由DBA对模式对模式/内模式映象作相应改变,内模式映象作相应改变,可以使模式保持不变,也不必修改应用程序,保证了数可以使模式保持不变,也不必修改应用程序,保证了数据与程序的物理独立性。据与程序的物理独立性。1.59数据库系统概论数据库系统概论nPhysical Data Independence 物理数据独立性物理数据独立性改改变物理模式不影响应用程序的能力变物理模式不影响应用程序的能力H应用依赖于逻辑模式应用依赖于逻辑模式H通常,各层间和各部分间的接口要仔细定义,保证部通常,各层间和各部分间的接口要仔细定义,保证部分的改变不会严重影响其他部分。分的改变不会严重影响其他部分。nLogical data independence 逻辑数据独立性逻辑数据独立性修改修改逻辑模式不影响应用程序的能力。(更难实现,因为应逻辑模式不影响应用程序的能力。(更难实现,因为应用程序更多依赖于存取数据的逻辑结构)用程序更多依赖于存取数据的逻辑结构)H数据库逻辑结构发生改变(如银行系统中增加数据库逻辑结构发生改变(如银行系统中增加money-market accounts)逻辑层修改就是必然。逻辑层修改就是必然。1.60数据

温馨提示

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

评论

0/150

提交评论