数据库系统-第一章_第1页
数据库系统-第一章_第2页
数据库系统-第一章_第3页
数据库系统-第一章_第4页
数据库系统-第一章_第5页
已阅读5页,还剩184页未读 继续免费阅读

下载本文档

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

文档简介

AnIntroductiontoDatabaseSystems中国人民大学信息学院原版华中科技大学计算机学院吴海修改版SchoolofComputerScienceandTechnology,HUST

2016数据库系统概论教材及参考书(1)教材王珊,萨师煊:数据库系统概论(第五版)

高等教育出版社,2014.9参考书数据库系统概念.Abraham,Silberschatz等著,杨冬青,唐世渭等译,机械工业出版社,任何一个版本其它数据库系统原理教程等教材及参考书(2)上机软件SQLServer2008/2012/2014/2***Oracle10g/11g/12c/*软件安装过程中,可能出现一系列问题,请注意旁边同时保持一台能够上网查询的机器*/学习方式课堂教学

(启发式、讨论式,考勤做为平时成绩之一部分)读书

(预习、复习)实验

(综合练习,课程设计)成绩评定平时成绩(书面作业、上机练习、考勤、综合练习)期末考试总评=平时成绩*0.2+期末考试*0.8课程目标了解,并结合关系型数据库系统深入理解数据库系统的基本概念,原理和方法。掌握关系数据模型及关系数据语言,能熟练应用SQL语言表达各种数据操作。掌握E-R模型的概念和方法,关系数据库规范化理论和数据库设计方法,通过上机实习的训练,初步具备进行数据库应用系统开发的能力。了解数据库系统的查询优化、恢复、并发控制等技术以及最新的数据库技术内容安排(1)基础篇第一章绪论第二章关系数据库第三章关系数据库标准语言SQL第四章数据库安全性第五章数据库完整性设计与应用开发篇第六章关系数据理论第七章数据库设计*第八章数据库编程内容安排(2)系统篇第九章关系查询处理和查询优化第十章数据库恢复技术第十一章并发控制*第十二章数据库管理系统新技术篇*第十*章……第一至第十一章是本科专业的基本教程(书中有*号的部分除外),第十二至第十六章是高级教程数据库系统概论AnIntroductiontoDatabaseSystems第一章绪论第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成1.5小结数据库简介数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。第一章绪论1.1数据库系统概述

1.1.1四个基本概念

1.1.2数据管理技术的产生和发展

1.1.3数据库系统的特点

1.1.1四个基本概念数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)一、数据人类生存的世界是一个物质的世界,同时也是一个信息的世界,描述现实世界信息最准确的工具是数据。数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据与其语义是不可分的数据举例数据的含义称为数据的语义,数据与其语义是不可分的。例如93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:计算机系2003级学生人数语义4:请同学给出。。。数据举例数据的含义(语义)就是信息,数据与其语义不可分(0005794,601,周济,1,1946.08.26,01)(工号,部门编号,姓名,性别,出生日期,民族)校办公室男汉族数据举例某档案中的一条记录(李明,男,197205,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系请给出另一个解释和语义数据与信息信息与数据的联系数据是信息的符号表示,或称载体信息是数据的内涵,是数据的语义解释数据是符号化的信息信息是语义化的数据例,一幅黑白图象数据——黑白点阵信息——脸谱更多的思考:信息与知识知识“行动的能力”“可以辅助我们作出决策或采取行动的有很高价值的一种信息形态”可以很快地将信息从一个地方转移到另一个地方,但将知识从一个人转移给另一个人经常是很困难和很慢的感知信息学习知识更多的思考:信息与知识信息管理信息管理通过收集、处理、浓缩信息以达到有效的管理知识管理知识管理的焦点是通过信息的收集、存储、发布、重用等获得人的交流与知识共享达到知识的创新目的知识管理是一个过程,个人通过这一过程学习新知识和获得新经验,并将这些新知识和新经验反应出来,进行共享,以用来促进培养、增强个人的知识和机构组织的价值知识管理应该是组织有意识采取的一种战略,它保证能够在最需要的时间将最需要的知识传送给最需要的人。这样可以帮助人们共享信息,并进而将之通过不同的方式付诸实践,最终达到提高组织业绩的目的二、数据库数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据(Data)是数据库中存储的基本对象数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展三、数据库管理系统什么是DBMS位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统

DBMS的用途科学地组织和存储数据、高效地获取和维护数据硬件平台基础软件平台软件基础构架平台应用软件平台软件产品协同软件办公软件数据库系统操作系统

中间件应用服务器数据库在计算机系统中的位置DBMS的主要功能数据定义功能提供数据定义语言(DDL)

定义数据库中的数据对象数据组织、存储和管理

分类组织、存储和管理各种数据确定组织数据的文件结构和存取方式实现数据之间的联系提供多种存取方法提高存取效率DBMS的主要功能数据操纵功能提供数据操纵语言(DML)实现对数据库的基本操作(查询、插入、删除和修改)数据库的事务管理和运行管理数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复DBMS的主要功能数据库的建立和维护功能(实用程序)数据库初始数据装载转换数据库转储介质故障恢复数据库的重组织性能监视分析等其它功能

DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作四、数据库系统什么是数据库系统(DatabaseSystem,简称DBS)

在计算机系统中引入数据库后的系统构成数据库系统的构成数据库数据库管理系统(及其开发工具)应用系统数据库管理员

数据库

应用系统应用开发工具

操作系统

数据库管理系统

数据库管理员用户用户用户

数据库系统1.1数据库系统概述

1.1.1四个基本概念

1.1.2数据管理技术的产生和发展

1.1.3数据库系统的特点1.1.2数据管理技术的产生和发展什么是数据管理对数据进行分类、组织、编码、存储、检索和维护数据处理的中心问题数据管理技术的发展过程人工管理阶段(20世纪40年代中--50年代中)文件系统阶段(20世纪50年代末--60年代中)数据库系统阶段(20世纪60年代末--现在)1.1.2数据管理技术的产生和发展OSDBMS手工管理文件管理数据库管理1.1.2数据管理技术的产生和发展学习要点各阶段的技术及应用背景计算机应用范围外存储设备数据管理软件各个阶段的差别体现谁管理数据数据面向谁数据与应用的独立性1.1.2数据管理技术的产生和发展数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展一、人工管理阶段时期20世纪40年代中--50年代中产生的背景应用需求 科学计算 硬件水平 无直接存取存储设备软件水平 没有操作系统 处理方式 批处理 一、人工管理阶段背景计算机主要用于科学计算数据量小、结构简单,如高阶方程、曲线拟和等外存为顺序存取设备磁带、卡片、纸带,没有磁盘等直接存取设备没有操作系统,没有数据管理软件用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作一、人工管理阶段特点用户完全负责数据管理工作数据的组织、存储结构、存取方法、输入输出等数据完全面向特定的应用程序每个用户使用自己的数据,数据不保存,用完就撤走数据与程序没有独立性程序中存取数据的子程序随着存储结构的改变而改变磁带的特点优点:廉价地存放大容量数据缺点:顺序访问;1%所需,100%访问一、人工管理阶段访问数据2访问数据1访问数据n人工管理阶段(续)特点数据的管理者:用户(程序员),数据不保存数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制应用程序与数据的对应关系(人工管理阶段)

应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…人工管理阶段应用程序与数据之间的对应关系

二、文件系统阶段时期20世纪50年代末--60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理

二、文件系统阶段背景计算机不但用于科学计算,还用于管理外存有了磁盘、磁鼓等直接存取设备直接存取设备(DASD)无须顺序存取由地址直接访问所需记录有了专门管理数据的软件,一般称为文件系统文件存储空间的管理目录管理文件读写管理文件保护向用户提供操作接口二、文件系统阶段特点系统提供一定的数据管理功能存取方法(索引文件、链接文件、直接存取文件、倒排文件等)支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节数据的存取基本上以记录为单位数据仍是面向应用的一个数据文件对应一个用户程序数据与程序有一定的独立性文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上二、文件系统阶段

存取方式程序1程序2程序n数据2数据1数据n二、文件系统阶段数据与程序的独立性差文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修改应用程序文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式二、文件系统阶段数据的共享性差,冗余度大数据面向应用即使不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据数据孤立数据分散管理,许多文件,许多数据格式数据的不一致性由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性文件系统阶段特点数据的管理者:文件系统,数据可长期保存数据面向的对象:应用程序,应用程序自己控制数据数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据的一致性:所有文件副本必须同时更新文件系统中数据的结构记录内有结构。数据的结构是靠程序定义和解释的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。数据的最小存取单位是记录。三、数据库系统阶段时期20世纪60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘、磁盘阵列 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理三、数据库系统阶段背景计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)外存有了大容量磁盘,光盘软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低三、数据库系统阶段数据库(举例)三、数据库系统阶段现实生活中,人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。原来的数据管理技术不在适合海量数据的管理,数据库技术逐渐发展起来。人们借助于计算机和数据库技术,方便和充分地利用这些宝贵的信息资源。三、数据库系统阶段数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合数据库的特征数据库的特征数据按一定的数据模型组织、描述和储存可为各种用户共享,冗余度较小数据独立性较高易扩展……三、数据库系统阶段特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高产生了数据库管理系统(DataBaseManagementSystem,即DBMS),数据由DBMS统一管理三、数据库系统阶段数据库管理系统(DBMS)系统软件,数据库系统的一个重要组成部分科学地组织和存储数据,高效地获取和维护数据位于用户与操作系统之间具有下述功能:数据定义功能–DDL(如Create)数据操作功能–DML(如Select,Delete,Insert,Update)数据库的运行管理数据库的建立和维护功能三、数据库系统阶段数据库观点数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象数据1DBMS统一存取数据2数据n程序2程序1程序n1.1数据库系统概述

1.1.1四个基本概念

1.1.2数据管理技术的产生和发展

1.1.3数据库系统的特点1.1.3数据库系统的特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制1.1.3数据库系统的特点面向全组织的复杂的数据结构数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用;支持全企业的应用而不是某一个应用数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系数据结构化整体数据的结构化是数据库的主要特征之一整体结构化不再仅仅针对某一个应用,而是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释数据可以变长数据的最小存取单位是数据项1.1.3数据库系统的特点数据的冗余度低,易扩充数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度低节省存储空间,减少存取时间,且可避免数据之间的不一致性每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性1.1.3数据库系统的特点具有较高的数据和程序的独立性把数据库的定义和描述从应用程序中分离出去数据描述是分级的(全局逻辑、局部逻辑、存储)数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序1.1.3数据库系统的特点统一的数据控制功能,数据共享程度高数据的安全性控制(Security)保护数据以防止不合法的使用所造成的数据泄露和破坏措施:用户标识与鉴定,存取控制数据的完整性控制(Integrity)数据的正确性、有效性、相容性措施:完整性约束条件定义和检查并发控制(Concurrency)对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏措施:封锁1.1.3数据库系统的特点统一的数据控制功能,数据共享程度高(续)数据库恢复(Recovery)把数据库从错误状态恢复到某一已知的正确状态(亦称一致性状态或完整性状态)措施:转储,镜像,日志数据独立性高物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的数据由DBMS统一管理和控制DBMS提供的数据控制功能(1)数据的安全性(Security)保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。(2)数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。(3)并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。(4)数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…数据库系统阶段应用程序与数据之间的对应关系

第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成1.5小结

1.2数据模型

1.2.1两大类数据模型

1.2.2概念模型

1.2.3数据模型三要素

1.2.4最常用的数据模型

1.2.5层次模型

1.2.6网状模型

1.2.7关系模型数据模型概述在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型概述现实世界存在于人们头脑之外的客观世界例如:仓库管理中涉及的货物管理,货物、货物的进出以及相应的报表、图表、表格、卡片、单据等信息世界现实世界在人脑中的反映计算机世界信息在计算机中以数据形式存储数据模型概述现实世界信息世界机器世界计算机世界转换概念模型(信息模型)DBMS相关的逻辑数据模型它是按用户的观点来对数据和信息建模,主要用于数据库设计。不依赖于具体的计算机系统认识抽象它是按计算机的观点对数据进行建模,主要用于DBMS的实现。有网状、层次、关系、面向对象等。数据模型概述现实世界信息世界计算机世界概念化形式化用户计算机应用概念模型数据模型数据模型概述数据模型的概念数据及数据间联系的表示形式(对现实世界特征的模拟和抽象)对现实世界特征的模拟和抽象真实地模拟现实世界易为人所理解便于计算机实现分两个不同的层次概念数据模型结构数据模型数据模型是数据库系统中用于提供信息表示和操作手段的形式构架现实世界信息世界计算机世界数据模型概述数据模型分成两个不同的层次概念数据模型也称信息模型,它是按用户的观点来对数据和信息建模。结构数据模型它是按计算机系统的观点对数据建模,主要包括网状模型、层次模型、关系模型等。数据模型概述这种分类是按照对客观对象的抽象过程---两步抽象来分的:

现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。两大类数据模型数据模型分为两类(分属两个不同的层次)(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)逻辑模型和物理模型

逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。两大类数据模型(续)客观对象的抽象过程---两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。两大类数据模型(续)DBMS支持的数据模型概念模型认识抽象信息世界机器世界现实世界中客观对象的抽象过程现实世界现实世界概念模型数据库设计人员完成逻辑模型物理模型由DBMS完成概念模型逻辑模型数据库设计人员完成

1.2数据模型

1.2.1两大类数据模型

1.2.2概念模型

1.2.3数据模型三要素

1.2.4最常用的数据模型

1.2.5层次模型

1.2.6网状模型

1.2.7关系模型

1.2.2概念模型信息世界中的基本概念*两个实体型之间的联系*两个以上实体型之间的联系*单个实体型内的联系*概念模型的一种表示方法*一个实例概念模型概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解一、信息世界中的基本概念(1)实体(Entity)

客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)

实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。如:学生实体由学号、姓名、性别、出生日期、系别等属性组成(3)码(Key)&实体标识符唯一标识实体的属性集称为码。信息世界中的基本概念(续)(4)域(Domain)

属性的取值范围称为该属性的域。如:性别的域为(男,女)

(5)实体型(EntityType)

用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(EntitySet)

同一类型实体的集合称为实体集信息世界中的基本概念(续)(7)联系(Relationship)

现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系实体之间的联系通常是指不同实体集之间的联系

1.2数据模型

1.2.1两大类数据模型

1.2.2概念模型

1.2.3数据模型三要素

1.2.4最常用的数据模型

1.2.5层次模型

1.2.6网状模型

1.2.7关系模型

1.2.3数据模型的组成要素数据结构数据操作完整性约束条件

一、数据结构什么是数据结构描述数据库的组成对象,以及对象之间的联系描述的内容与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述,即组成数据库的对象类型。在数据库系统中一般按数据结构的类型来命名数据模型

二、数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型查询更新(包括插入、删除、修改)

数据操作(续)数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述请举例说明三、数据的完整性约束条件数据的完整性约束条件一组完整性规则的集合。完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

数据的完整性约束条件(续)数据模型对完整性约束条件的定义反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

1.2数据模型

1.2.1两大类数据模型

1.2.2数据模型的组成要素

1.2.3概念模型

1.2.4最常用的数据模型

1.2.5层次模型

1.2.6网状模型

1.2.7关系模型

1.2.4最常用的数据模型非关系模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)对象关系模型(ObjectRelationalModel)1.2.5层次模型层次模型是数据库系统中最早出现的数据模型层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系

一、层次数据模型的数据结构层次模型

满足下面两个条件的基本层次联系的集合为层次模型1.有且只有一个结点没有双亲结点,这个结点称为根结点2.根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点层次数据模型的数据结构(续)

R1

根结点

R2

兄弟结点

R3

叶结点

R4

兄弟结点

R5

叶结点

叶结点图1.16一个层次模型的示例层次数据模型的数据结构(续)层次模型的特点:结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型可以定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在层次数据模型的数据结构(续)图1.17教员学生层次数据库模型

根结点记录型系的子女结点记录型教员的双亲结点叶结点叶结点字段层次数据模型的数据结构(续)图1.18教员学生层次数据库的一个值

三、层次模型的数据操纵与完整性约束

层次模型的数据操纵查询插入删除更新层次模型的数据操纵与完整性约束(续)层次模型的完整性约束条件

无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性四、层次数据模型的存储结构邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序层次数据模型的存储结构(续)图1.20层次数据库及其实例…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1图1.21邻接法按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集

层次数据模型的存储结构(续)链接法用指引来反映数据之间的层次联系子女-兄弟链接法层次序列链接法层次数据模型的存储结构(续)子女-兄弟链接法每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟层次数据模型的存储结构(续)层次序列链接法按树的前序穿越顺序链接各记录值五、层次模型的优缺点优点层次模型的数据结构比较简单清晰

查询效率高,性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多,应用程序的编写比较复杂

查询子女结点必须通过双亲结点由于结构严密,层次命令趋于程序化

1.2数据模型

1.2.1两大类数据模型

1.2.2数据模型的组成要素

1.2.3概念模型

1.2.4最常用的数据模型

1.2.5层次模型

1.2.6网状模型

1.2.7关系模型1.2.6网状模型网状数据库系统采用网状模型作为数据的组织方式典型代表是DBTG系统:亦称CODASYL系统70年代由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术实际系统CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE1.网状数据模型的数据结构网状模型满足下面两个条件的基本层次联系的集合:1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。网状数据模型的数据结构(续)表示方法(与层次数据模型相同)实体型:用记录类型描述每个结点表示一个记录类型(实体)属性:用字段描述每个记录类型可包含若干个字段联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系网状数据模型的数据结构(续)网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例网状数据模型的数据结构(续)网状模型中子女结点与双亲结点的联系可以不唯一要为每个联系命名,并指出与该联系有关的双亲记录和子女记录

R1与R3之间的联系L1R2与R3之间的联系L2

网状数据模型的数据结构(续)网状模型的例子

网状数据模型的数据结构(续)多对多联系在网状模型中的表示用网状模型间接表示多对多联系方法:将多对多联系直接分解成一对多联系网状数据模型的数据结构(续)例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系引进一个学生选课的联结记录,由3个数据项组成学号课程号成绩表示某个学生选修某一门课程及其成绩网状数据模型的数据结构(续)图1.24学生/选课/课程的网状数据模型网状数据模型的操纵与完整性约束(续)网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束码:唯一标识记录的数据项的集合

一个联系中双亲记录与子女记录之间是一对多联系支持双亲记录和子女记录之间某些约束条件

三、网状数据模型的存储结构关键实现记录之间的联系常用方法单向链接双向链接环状链接向首链接网状数据模型的存储结构(续)图1.25学生/选课/课程的网状数据库实例

学生记录课程记录选课记录四、网状数据模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用

1.2数据模型

1.2.1两大类数据模型

1.2.2数据模型的组成要素

1.2.3概念模型

1.2.4最常用的数据模型

1.2.5层次模型

1.2.6网状模型

1.2.7关系模型1.2.7关系模型关系数据库系统采用关系模型作为数据的组织方式1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型计算机厂商新推出的数据库管理系统几乎都支持关系模型

1.2.7关系模型关系(Relation):对应通常说的表元组(Tuple):表中的一行即为一个元组属性(Attribute):表中的一列即为一个属性主码(key):图中的某个属性组,它可以唯一确定一个元组域(domain):属性的取值范围,如人的年龄一般在0岁~150岁之间。性别的域是(男,女),系别的域是一个学校所有系名的集合。分量:元组中的一个属性值,关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)一、关系数据模型的数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学生登记表

属性元组男女男性别192221年龄D01李红S02D02王伟S03D01张军S01系号姓名学号主码分量关系模式(男,女)关系数据模型的数据结构(续)关系(Relation)一个关系对应通常说的一张表元组(Tuple)表中的一行即为一个元组属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名关系数据模型的数据结构(续)主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,…,属性n)学生(学号,姓名,年龄,性别,系,年级)关系数据模型的数据结构(续)例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系关系数据模型的数据结构(续)例3学生、课程、学生与课程之间的多对多联系:

学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关系数据模型的数据结构(续)关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表

图1.27中工资和扣除是可分的数据项,不符合关系模型要求

职工号姓名职称工资扣除实发基本津贴职务房租水电86051陈平讲师13051200501601122283图1.27一个工资表(表中有表)实例关系数据模型的数据结构(续)关系术语一般表格的术语关系名表名关系模式表头(表格的描述)关系(一张)二维表元组记录或行属性列属性名列名属性值列值分量一条记录中的一个列值非规范关系表中有表(大表中嵌有小表)表1.2术语对比

二、关系数据模型的操纵与完整性约束数据操作是集合操作,操作对象和操作结果都是关系查询插入删除更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”关系数据模型的操纵与完整性约束(续)关系的完整性约束条件实体完整性参照完整性用户定义的完整性三、关系数据模型的存储结构实体及实体间的联系都用表来表示表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构四、关系数据模型的优缺点优点建立在严格的数学概念的基础上概念单一实体和各类联系都用关系来表示对数据的检索结果也是关系关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作关系数据模型的优缺点(续)缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度第一章绪论1.1数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库系统的组成1.5小结1.3数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构从数据库最终用户角度看(数据库系统外部的体系结构),数据库系统的结构分为:单用户结构主从式结构分布式结构客户/服务器浏览器/应用服务器/数据库服务器多层结构等数据库系统结构(续)1.3.1数据库系统模式的概念1.3.2数据库系统的三级模式结构1.3.3数据库的二级映像功能与数据独立性

1.3.1数据库系统模式的概念“型”和“值”的区别型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如学生记录型:(学号,姓名,性别,系别,年龄,籍贯)一个记录值:(900201,李明,男,计算机,22,江苏)回顾:关系数据模型的数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学生登记表

属性元组男女男性别192221年龄D01李红S02D02王伟S03D01张军S01系号姓名学号主码分量关系模式(男,女)数据库系统模式的概念(续)模式(Schema)数据库中全体数据的逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动数据库系统模式的概念(续)例如:在学生选课数据库模式中,包含学生、课程记录和学生选课表的定义

2003年的一个学生数据库实例,包含:2003年学校中所有学生的记录学校开设的所有课程的记录所有学生选课的记录

2002年度学生数据库模式对应的实例与

2003年度学生数据库模式对应的实例是不同的数据库系统结构(续)1.3.1数据库系统模式的概念1.3.2数据库系统的三级模式结构

1.3.3数据库的二级映像功能与数据独立性

1.3.2数据库系统的三级模式

学号姓名性别系别年龄住址出身学位学分补贴学籍科房产科保卫科财务科数据库1.3.2数据库系统的三级模式数据库系统三级模式结构CODASYL(ConferenceOnDataSystemLanguage,美国数据系统语言协商会)提出模式、外模式、内模式三级模式的概念,三级模式之间有两级映象。模式的分级从数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的。提高了数据的逻辑独立性和物理独立性。一、模式(Schema)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关模式(续)模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求二、外模式外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式(续)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用但一个应用程序只能使用一个外模式外模式(续)外模式的用途保证数据库安全性的一个有力措施每个用户只能看见和访问所对应的外模式中的数据1.3.2数据库系统的三级模式

外模式/模式S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)S(S#,SNAME…ADDRESS)学籍科S(S#,SNAME…CREDIT)房产科视图视图模式三、内模式内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式内模式(续)例如学生记录,如果按堆存储,则插入一条新记录总是放在学生记录存储的最后,如右图所示内模式(续)如果按学号升序存储,则插入一条记录就要找到它应在的位置插入,如图1.29(b)所示如果按照学生年龄聚簇存放,假如新插入的S3是16岁,则应插入的位置如图1.29(c)所示

图1.29记录不同的存储方式示意图数据库系统的三级模式结构(续)图1.28数据库系统的三级模式结构数据库系统结构(续)1.3.1数据库系统模式的概念1.3.2数据库系统的三级模式结构1.3.3数据库的二级映像功能与数据独立性

1.3.3数据库的二级映像功能与数据独立性三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换外模式/模式映像模式/内模式映像一、外模式/模式映象模式:描述的是数据的全局逻辑结构外模式:描述的是数据的局部逻辑结构映象定义通常包含在各自外模式的描述中同一个模式可以有任意多个外模式每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系外模式/模式映象(续)保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。1.3.3数据库的二级映像与数据独立性

NONAMEAGESEX

赵20男钱21女XHXMXBCSRQ

赵男95.07.01

钱女94.03.07CreateViewStud(学号,姓名,性别,年龄)AsSelectNO,NAME,AGE,SEX,FromstudentCreateViewStud(学号,姓名,性别,年龄)AsSelectXH,XM,XB,

datediff(year,CSRQ,getdate())Fromstudent学号姓名性别年龄赵男20

钱女21二、模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中模式/内模式映象(续)保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。CREATEDATABASE[example]ON(NAME='example_D

温馨提示

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

评论

0/150

提交评论