《数据库原理与应用》课件-第1章 数据库系统概述_第1页
《数据库原理与应用》课件-第1章 数据库系统概述_第2页
《数据库原理与应用》课件-第1章 数据库系统概述_第3页
《数据库原理与应用》课件-第1章 数据库系统概述_第4页
《数据库原理与应用》课件-第1章 数据库系统概述_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1数据库原理与应用第1章数据库系统概述本章导读: 在当今信息时代,计算机应用的80%以上都是数据处理。数据处理的重要环节是数据管理,而数据库技术是数据管理的最新技术,其主要研究如何科学地组织和存储数据,高效地使用和管理数据。数据库是现代信息社会的基石,几乎所有的计算机应用软件都构建于数据库系统之上,它是科学研究和决策管理的前提条件和支撑技术。知识要点:基本概念数据模型数据库系统结构数据库设计数据库保护1.数据库既然如此之重要,那么究竟什么是数据库?

2.需要理解的概念和掌握的知识有哪些?21.1基本概念1.1.1数据与信息1.1.2数据处理与数据管理1.1.3数据管理技术的发展1.1.4数据库系统的组成31.1.1

数据与信息

1.数据:是指能够被计算机存储和识别的物理符号。有多种表现形式,如文本、图形、声音、视频等;数据是数据库中存储的基本对象,用型(Type,数据类型)和值(Value,数据值)来表征,型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。举例如下:记录型:学生(学号char(8),姓名char(6),性别char(2),年龄tinyint,系别varchar(20))记录值:('090201','李欣','女',23,'管理系')2.信息:是人们对客观世界的直接描述,用来传递的一些有用知识或消息,或者说是经过加工处理后用于人们计划、决策、行为等具体应用的数据。3.比较:数据是信息的载体或符号表示,是信息的具体表现形式;信息是数据的内涵,是对数据语义的解释。数据彼此相互独立,是尚未组织起来的符号集合;信息是按要求以一定格式组织起来的数据。同一数据可有不同的信息解释含义,而同一信息也可有不同的数据表现形式。

41.1基本概念1.1.1数据与信息1.1.2数据处理与数据管理1.1.3数据管理技术的发展1.1.4数据库系统的组成51.1.2数据处理与数据管理

1.数据处理:就是将数据转换成信息的过程,包括对数据的收集、加工、分类、存储、统计、检索和传输等一系列活动的总称。其目的是从原始的或杂乱无章的数据出发,根据事物之间固有的联系和运动规律,采用分析、推理、归纳等手段,推导出对人们有用的数据或信息作为决策的依据。或者说,数据是输入,是原料,而信息是产出,是输出的结果。数据处理的真正含义是为输出信息而作的处理过程,如图1-1所示。2.数据管理:是指对数据进行分类、组织、存储、检索及维护等各种操作,是数据处理的核心环节和首要问题。数据库技术本质上就是数据管理技术。数据信息数据处理图1-161.1基本概念1.1.1数据与信息1.1.2数据处理与数据管理1.1.3数据管理技术的发展1.1.4数据库系统的组成71.1.3数据管理技术发展

数据管理技术是应数据管理需求而产生,并伴随着计算机硬件、软件发展而发展。数据管理技术发展经历三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。1.人工管理阶段:20世纪50年代中期以前,其典型特征包括:数据不能被保存;数据不能独立于应用程序,应用程序管理数据;数据不能被共享,即不同程序不能直接交换数据。2.文件系统阶段:20世纪50年代中后期,其典型特征包括:数据可长期保存在磁盘上;文件管理数据;数据共享性差,数据冗余度大;数据独立性差。3.数据库系统阶段:20世纪60年代中后期开始,其典型特征包括:数据结构化,描述数据时不仅要描述数据本身还要描述数据彼此之间的联系;数据由DBMS统一管理;数据的共享性好;数据独立性好,不会因为系统存储结构与逻辑结构的变化而影响应用程序,即保持物理独立性和逻辑独立性。

数据库管理系统的出现标志着数据管理技术进入了数据库系统阶段。数据库系统是在文件系统的基础上发展起来的,因而同样需要操作系统的支持才能工作。20世纪70年代,伴随着计算机网络技术的发展,数据库技术与计算机网络技术相结合产生了分布式数据库系统。其最大特点:①各地计算机通过通信网络相连;②数据库分布各地;③本地计算机不能单独胜任的任务可以交给其它计算机处理。81.1基本概念1.1.1数据与信息1.1.2数据处理与数据管理1.1.3数据管理技术的发展1.1.4数据库系统的组成91.1.4数据库系统的组成(1)

数据库系统(DBS)是指引入数据库后的计算机系统,一般由数据库、数据库管理系统、数据库应用系统、数据库管理员构成。在不引起混淆的情况下,数据库系统也简称数据库。1.数据库:数据库(DB)就是管理数据的仓库,一般是指长期存储在计算机内的、有组织的、可共享的相关数据集合。数据库能被各种用户共享、具有冗余度小、数据间联系密切的特点。2.数据库管理系统:数据库管理系统(DBMS)是数据库的组织机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。3.数据库应用系统:是基于数据库管理系统的应用软件。在计算机应用领域,从事某种具体业务的用户实际面对的数据库系统是一套在数据库管理系统支持下建立起来的应用软件。4.数据库管理人员:数据库管理人员(DatabaseAdministrator,简称DBA),是一个负责设计、开发、维护和使用数据库的人员,这个职位对不同的人意味着不同的意义。101.1.4数据库系统的组成(2)--DBMS功能(1)数据定义功能DBMS提供数据定义语言(DataDefinitionLanguage,DDL),用户通过它可以方便地对数据库中的数据对象进行定义。如外模式、模式、内模式,数据的完整性约束和用户权限等。(2)数据操纵功能DBMS还提供数据操纵语言(DataManipulationLanguage,DML),用户可以使用DML操纵数据实现对数据的基本操作,如查询、插入、删除和修改等。(3)数据库运行和控制功能DBMS的核心工作是对数据库的运行管理,包括数据的安全性控制、完整性控制和多用户环境下的并发控制、权限控制。(4)数据库的建立和维护功能它包括数据库中数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组功能和性能监视、分析功能等,这些功能通常由一些实用程序完成。(5)数据字典数据字典存放着对实际数据各级模式的所做的定义,即对数据结构的描述,对数据库的使用和操作都要通过查阅数据字典来进行。如SQLSever数据库系统中,其数据字典中存放着用户建立的表和索引,系统建立的表和索引以及用于恢复数据的信息等。111.2数据模型

模型是对现实世界特征的抽象和模拟,数据模型是对数据特征的抽象和模拟。数据模型是数据库技术的核心和基础,数据库系统是建立在数据模型的基础上,是对某个企业或组织所涉及的数据进行提取和综合。现实世界的具体事物及其联系必须转换成计算机可识别和存储的数据,才能被计算机处理。问题:目前,任何一门科学技术手段都不可能对现实世界进行原样复制和管理,只能抽取事物某些局部要素,构造反映事物的本质特征及其内在联系,帮助人们理解和表述数据处理的静态性和动态性特征。那么计算机如何将现实世界映射成能被计算机处理和识别的数据世界呢?121.2

数据模型1.2.1数据化过程1.2.2数据模型的3要素1.2.3数据模型的分类1.2.4E-R模型1.2.53种逻辑模型131.2.1数据化过程(1)为了将现实世界客观事物及其联系以数据形式存储到计算机系统内,人们对现实生活中事物特征经过认识、概念化、数据化的逐级抽象过程,这一过程常被划分三个阶段:现实世界,信息世界(概念模型),数据世界(逻辑模型和物理模型)。也就是说,首先把现实世界中的客观对象抽象为一种概念化信息结构,称之为概念模型(这种结构不依赖于具体计算机系统,也不依赖于具体DBMS的数据模型),然后把概念模型转化为计算机系统某DBMS支持的数据模型:逻辑模型(面向用户的可视视图逻辑结构)和物理模型(面向计算机系统的物理存储结构)。抽象和转换过程如图1-2所示。141.2.1数据化过程(2)数据在每一种世界都有其对应概念和术语。1.现实世界是指客观存在的事物及其联系。在现实世界中,客观存在并可以区分的事物称为个体。个体的总和,称为总体。个体与个体之间相区别的特征,称为特性。在现实世界,事物内部和事物之间存在的相关性,称之为联系。2.信息世界又称概念世界,是指现实世界在人脑中的反映,是对客观事物及其联系的一种描述。现实世界的个体被抽象成信息世界的实体。现实世界的特性被抽象成信息世界的属性,每一属性的取值范围,称为值域。能唯一标识一个实体的属性及属性组,称为关键字。现实世界的总体被抽象成信息世界的实体集,与之对应,用实体名及其属性名的集合来描述同类实体的共同特征和性质,称为实体型。现实世界的联系反映到信息世界表现为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。151.2.1数据化过程(3)--联系分类实体集间的联系总是错综复杂的,但就两个实体的联系来说有以下三种:(1)一对一联系。如果对于实体集A中每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1,如图1-3所示。例如:学生与学号,图书与ISBN,国家与总统。(2)一对多联系。对于实体集A中的每一个实体,实体集B中有多个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称A与B有一对多的联系,记为1:n,如图1-4所示。例如:学校与学生、公司与职员、省与市。(3)多对多联系。对于实体集A中的每一个实体,实体集B中有多个实体与之联系,而对于实体集B中的每一个实体,实体集A中也有多个实体与之联系,则称A与B之间有多对多的联系,记为m:n,如图1-5所示。例如:教师与课程,学生与课程,学生与教师考生与志愿院校。图1-3一对一图1-4一对多图1-5多对多161.2.1数据化过程(4)3.数据世界将信息世界的实体及其联系进一步抽象成便于计算机存储的二进制方式,又称为存储世界,或者机器世界。数据世界是信息世界中的信息数据化后的产物,信息世界的实体被抽象成数据世界的记录。信息世界的实体集被抽象成数据世界的文件。信息世界的属性被抽象成数据世界的字段(数据项)。信息在现实世界、信息世界和数据世界之间的对应关系,如表1-1所示。表1-1信息的三种世界术语对应表现实世界信息世界数据世界个体实例记录特性属性数据项总体对象或实体型数据或文件实体间的联系对象间的联系数据间的联系客观实体及联系概念模型逻辑或物理模型171.2

数据模型1.2.1数据化过程1.2.2数据模型的3要素1.2.3数据模型的分类1.2.4E-R模型1.2.53种逻辑模型181.2.2数据模型的3要素(1)一般而言,数据的描述包括两个方面:一方面是数据的静态性,包括数据的基本结构,数据间的联系以及对数据的约束;另一方面是数据的动态性,即对数据的操纵(数据操作及其规则)。换句话说,数据模型是一组严格定义的概念集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操纵)和完整性约束条件,这就是数据模型的3要素。1.数据结构

数据结构是实体对象存储在数据库中记录型的集合,表示数据库的显示视图(逻辑结构)和存储方式(物理结构),即将基本的数据项组织成较大的数据单位的规则,用以描述数据的类型、内容、性质和数据之间的相互关系。它是数据模型最基本的组成部分,是对系统静态特征的描述,包括两个方面。数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。数据间的联系:数据之间是如何相互关联的,例如关系模型中的主码、外码等。数据结构包括逻辑结构和物理结构,逻辑结构和物理结构是相互独立的。(1)逻辑结构是指用户看到的和直接操作数据的视图结构。逻辑结构又分为局部逻辑结构(外模式)和全局逻辑结构(概念模式)。应用程序直接与数据局部逻辑结构有关。(2)物理结构是指数据在数据库内的物理存储方式。物理结构独立于外模式,用户或应用程序无须关心;也独立于具体的存储设备,由DBMS来管理和实现的。在数据库中,逻辑结构是数据模型的核心。依据全局数据结构的不同,数据模型可以分为层次模型、网状模型、关系模型,与之对应的数据库管理系统分别是层次型数据库、网状型数据库、关系型数据库。191.2.2数据模型的3要素(2)2.数据操纵

数据操纵是指对数据模型中各种对象的操作及其操作规则的集合。在数据库中,主要指查询和修改(插入、删除、更新)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操纵是对系统动态特性的描述。3.完整性约束

完整性约束是指对数据模型中的数据及其联系赋予的制约和依存规则的集合。用来限定数据模型的数据状态及状态变化所应满足的条件,以保证数据的正确性、有效性和兼容性。数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。在关系模型中,任何关系必须满足是实体完整性和参照完整性的两个条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用涉及的数据必须遵守的特定的语义约束条件。201.2

数据模型1.2.1数据化过程1.2.2数据模型的3要素1.2.3数据模型的分类1.2.4E-R模型1.2.53种逻辑模型211.2.3数据模型的分类(1)数据模型是反映客观事物及其联系的组织结构(逻辑结构和物理结构),是数据库系统中用于提供信息表示和操作手段的形式框架。在数据处理的不同阶段,需要使用不同的数据模型来描述和抽象数据特征,包括概念数据模型,逻辑数据模型,物理数据模型。注意:数据模型的选择应满足3个基本要求:一是比较真实地模拟事物及其联系,二是为人所理解,三是便于在计算机上实现。1.概念数据模型

概念数据模型(ConceptualDataModel)简称概念模型,也称信息模型,是现实世界到信息世界的第一层抽象,也是现实世界到机器世界的一个中间层次。它是按照用户的观点对信息世界的建模,不注重数据的组织结构,强调数据模拟的语义表达能力,使数据更接近于现实世界,便于用户理解,是用户和数据库设计人员之间交流的工具。概念模型是一种独立于计算机系统的数据模型,完全不涉及信息在计算机中表示;话句话说,概念模型仅仅从思想上、道理上搞清楚实体的属性及实体集之间的联系,但不涉及属性的组织和存储方式。概念模型主要用于数据库的设计,通过实体、联系和约束描述现实世界的静态、动态和时态特征,不与具体的DBMS相关,只是用来描述某个特定组织所关心的信息结构。

概念模型的表示方法很多,其中最著名的、最为常用的方法是E-R模型(Entity-RelationshipMode,实体-联系模型),也称E-R图。221.2.3数据模型的分类(2)2.逻辑数据模型

逻辑数据模型(LogicalDataModel)直接面向数据的逻辑结构,它是现实世界的第二层次的抽象,着重描述数据的组织结构,很少考虑数据语义和用户对数据库的理解。逻辑模型是按照计算机系统的观点对数据的建模,也是用户从数据库中看到的数据模型,是具体DBMS所支持的数据模型。逻辑模型既面向用户,又面向系统,主要用于DBMS的实现。DBMS常以其所用的逻辑数据模型(数据的逻辑结构)来分类,如网状数据模型、层次数据模型和关系数据模型等。逻辑数据模型模型既要面向用户,又要面向系统。

在关系数据库的设计过程中,用概念模型(E-R图)表示的数据必须转换成逻辑模型(关系模型)表示的数据,才能在DBMS中实现。231.2.3数据模型的分类(3)3.物理数据模型物理数据模型(PhysicalDataModel)是对数据最低层次的抽象,它描述数据在计算机系统内(存储介质上)的存储结构(存储方式和表现形式)。它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在数据库存储时都有对应的物理数据模型。从现实世界到概念世界的转换是由数据库设计人员完成的,从概念模型到逻辑模型的转换可以由数据库设计人员完成,也可以用数据库设计工具辅助完成,从逻辑模型到物理模型的转换一般是由DBMS自动完成的,而设计者只设计索引、聚集等特殊结构。241.2

数据模型1.2.1数据化过程1.2.2数据模型的3要素1.2.3数据模型的分类1.2.4E-R模型1.2.53种逻辑模型251.2.4E-R模型(1)

E-R模型是P.P.Chen于1976年首先提出的一种面向问题的概念模型,即用简单的图形方式描述世界中的数据及其联系。E-R数据模型问世后,经历了许多修改和扩充,这儿仅介绍基本的E-R数据模型。1.描述方法E-R模型的构成是实体、属性和联系,其表示方法如下:(1)实体:用矩形框表示,矩形框内写上实体名。(2)属性:用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。(3)联系:用菱形框表示,菱形框中写上联系名,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1:1、1:m或m:n。图1-6学生实体及其属性的E-R模型图【例1-1】如学生实体具有学号、姓名、性别、出生日期、入学时间、籍贯等属性,用E-R图表示如图1-6所示。261.2.4E-R模型(2)【例1-2】如学生实体和课程实体之间为存在选修联系(m:n),其选修联系附带属性为成绩,其E-R模型如图1-7所示。图1-7学生和课程实体之间m:n联系的E-R模型图注意:如果一个联系具有属性,则这些属性仍用椭圆形框表示,并用无向边将这些属性与该联系连接起来。mn271.2

数据模型1.2.1数据化过程1.2.2数据模型的3要素1.2.3数据模型的分类1.2.4E-R模型1.2.53种逻辑模型281.2.5

3种逻辑模型(1)

不同的数据模型有不同的数据结构,不同的描述工具,对应不同的数据管理系统,现有的数据库管理系统都是基于某种数据模型的。根据逻辑模型的不同,DBMS通常分为层次型、网状型、关系型、面向对象模型等。那么这些逻辑模型究竟有什么不同的3要素呢?291.2.5

3种逻辑模型(2)--层次模型

1.层次模型:现实世界中,很多事物之间的联系本身就是一种很自然的层次关系,如组织机构,家族关系,物种分类等等。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物。层次模型是最早用于商品数据库管理系统的数据模型。最著名最典型的层次数据库系统是IBM公司于1969年开发的大型商品数据库管理系统IMS(IntegratedDataStore)。(1)基本概念和数据结构层次模型:用上下分层的有向树形结构来描述实体及实体间联系的数据模型。树是由结点和连线组成的,结点表示实体集,连线表示实体之间的联系,层次模型只能描述一对一、一对多(1:n)联系,如果要描述多对多的联系,必须采用某种方法将其分解为一对多的联系。树的每个结点表示一个实体(记录),它是同类实体集合的(结构)定义,每个记录包含若干字段,用来描述实体的属性。上一层记录和下一层记录表现为父(双亲)子(子女)结点,上下层父子结点必须是不同的实体(记录),实体(记录)之间的一对多联系用结点之间的连线(有向边)表示。各记录及其字段都必须有唯一的命名。例如,图1-12是某学校的系、专业、班级、教师和课程组成的层次数据模型。301.2.53种逻辑模型(3)--层次模型从层次模型的定义和结构看,层次模型需要满足两个基本条件:

A.有且仅有一个结点没有父结点,这个结点称为根结点。

B.根结点以外的其它结点有且仅有一个父结点。(2)数据操纵和完整性约束在层次模型中,任何一个给定值只有按其路径查看时,才能显示它的全部意义。同样,对层次数据模型数据库进行查询、插入、删除和更新操作时,任何一个子结点的值不能脱离其父结点而独立存在。在插入时,如果没有双亲结点就不能插入子结点的值,新来的教师位分配专业教研室则无法插入到数据库中。在删除时,如果删除双亲结点时,则其相应的子结点也会同时被删除。在更新时,如果更新某个值时,则应该更新所有需要修改的值,以保持数据的一致性。在查询时,需要考虑层次模型的存取路径,仅允许自顶向下的单项查询,如可以直接查询某课程的基本信息、某教师基本信息,但不能直接查询某教师的学生信息,而对于实体集之间多对多联系的处理,解决的方法是引入冗余结点。311.2.53种逻辑模型(4)--网状模型2.网状模型(NetworkDataModel)现实世界中,事物之间的联系大多数是网状的、非层次的联系,网状数据模型比层次模型更能直接描述现实世界事物之间复杂的联系。世界上第一个网状数据库管理系统,也是第一个DBMS是美国通用电气公司Bachman等人在1964年开发成功的IDS(IntegratedDataStore)。(1)基本概念和数据结构网状模型:用有向图结构表示实体类型及实体间联系的数据结构模型。同层次模型一样,同样是由结点和连线组成的,结点表示实体集,连线表示实体之间的联系,不过网状模型的结点间可以允许存在两条或多条连线,但是每一连线只能表示1:n联系。网状模型中以记录为数据的存储单位。记录包含若干数据项。所有的实体记录都具有一个以其为始点和终点循环链表,而每一个联系都处于两个链表中。321.2.53种逻辑模型(5)--网状模型网状数据库的数据项可以是多值的和复合的数据。每个记录有一个惟一地标识它的内部标识符,称为码(databasekey,dbk),它在一个记录存入数据库时由DBMS自动赋予。dbk可以看作记录的逻辑地址,可作记录的替身,或用于寻找记录。网状模型实例如图1-13所示。

图1-13网状模型(2)网状数据模型的操纵与完整性约束在网状模型中,每个记录单独存放,记录之间的联系用指针和链表实现,从而构成导航式数据库。用户在操作数据库时除了指明对象外,还要规定存取路径。它没有层次模型中那样严格的完整性约束条件,只对数据操纵加了一些限制,提供了一定的完整性约束:◆允许插入无父结点的子结点;◆允许只删除父结点,其子结点仍在;◆更新操作较简单,只需更新指定记录即可;◆查询方便,对称结构,查询格式相同。331.2.53种逻辑模型(6)--关系模型3.关系模型层次数据模型和网状数据模型都缺少坚实的理论基础,因此其数据模型有比较多的限制,实际使用时也不太方便,目前广泛使用的是关系数据模型,关系数据模型是建立在数学概念基础上的,现在流行的数据库系统大多数是基于关系模型的关系数据库系统。(1)基本概念和数据结构关系模型:用二维表格结构来描述实体及实体联系的数据模型。从用户观点看,关系模型由一组关系组成,每个关系的数据结构是一张规范化了的二维表。表中每行对应一个实体对象,表中每列对应一个实体属性。关系模型实例如表1-2~1-4所示(第1行是实体型,其余行是实体集)。在关系模型中,实体及实体间的联系都是用关系来表示。关系既能反映实体集之间的一对一联系,也能反映一对多和对多对联系。34表1-2

学生 表1-3

课程 1-4选修学号姓名性别

课程号课程名称

课程号学号成绩0713011001徐同学男

01计算机基础

010713011001900713011002卢同学女

02C

020713011002930713011003江同学男

03数据结构

020713011003900713011004戴同学女

04计算机网络

030713011004890713011005华同学男

05数据挖掘

030713011005880713011006王同学男

06数据库基础

030713011006900713011007吴同学女

07ERP

040713011007951.2.53种逻辑模型(7)--关系模型351.2.53种逻辑模型(8)--关系模型尽管关系与传统的二维表格、传统的数据文件具有类似之处,但是它们又有区别,严格地说,关系是一种规范化的二维表格,具有如下性质:◆属性值具有原子性,不可分解;◆每一个属性必须有各自不同的名称,但可以相同的值域;◆关系中任何两行不能完全相同;◆理论上没有行序,但是有时使用时可以有行序;◆理论上属性次序也可以交换,但是使用时应考虑定义的属性的次序。(2)关系数据模型的操纵与完整性约束在关系模型中,操作对象和操作结果都是关系,即若干元组的集合;存取路径对用户隐蔽,用户操作数据时,只要指出“干什么”或“找什么”即可,不必考虑“怎么找(干)”关系型完整性约束包括实体完整性、参照完整性、用户定义的完整性。361.3数据库系统结构伴随时间的推移和需求的变化,数据库中的数据总是不断变化的,数据库中整体数据的逻辑结构、存储结构的变化也是有可能的,而且也是正常的和必需的,但所有这些变化都不应该影响用户数据的局部逻辑结构,否则,VB、C#、Java等编写的基于数据库的应用程序代码就必须重新编写。1.数据库如何做到这一点呢?2.需要掌握哪些概念呢?1.3.1模式与体系结构1.3.2三级模式结构和两层映像371.3.1三级模式结构1.数据模式的概念数据模式是一个数据库基于特定数据模型的逻辑结构和特征定义,它是描述一类事物的结构、属性、类型和约束。它描述数据模型的“型”,不涉及具体的值。某数据模式下的一组具体的“值”称为该数据模式的一个实例。一个模式可以有许多实例,模式是相对稳定的(其结构相对不变),反映的是数据的结构及其联系;而实例是相对变动的,反映的是数据库某一时刻的状态(数据值可以不断变化的)。2.体系结构的概念数据库系统的体系结构是数据库系统的一个总体框架。考察数据库系统的体系结构可以有多种不同的层次或不同的角度。从数据库管理系统(DBMS)角度看,数据库系统通常采用三级模式结构,这是数据库系统内部的体系结构,通常称为数据库体系结构;从数据库最终用户角度来看,数据库系统的结构可以分为单机结构、主从式结构、分布式结构、C/S结构和B/S结构等,这是数据库系统外部的体系结构,简称数据库系统体系结构。381.3数据库系统结构1.3.1模式与体系结构1.3.2三级模式结构和两层映像391.3.2三级模式结构和两层映像(1)虽然数据库管理系统软件种类繁多,应用环境不同,其依赖的逻辑数据模型不尽相同,其数据的存储结构也各不相同,但是,为了确保用户数据的局部逻辑结构不受整体数据的全局逻辑结构和存储结构的影响,数据库管理系统普遍采用三级模式结构和两层映象。1.三级模式结构数据结构有逻辑结构和物理结构之分,逻辑结构主要面向用户的可视操作部分,物理结构面向操作系统的存储部分。从数据库系统安全的角度考虑,数据库系统必须屏蔽复杂的物理存储结构和隐藏具体的维护细节,呈现出简单的逻辑结构,供用户查询和修改(插入、删除和更新)自己感兴趣的数据。为了实现用户数据到系统数据的存储和转换,需要按照数据间的逻辑关系进行精确地描述,通过DBMS将数据的逻辑结构转换为数据的物理结构,存放到外存储介质上。三级模式结构:外(子)模式、概念模式和内(物理)模式组成,如图1-14所示。401.3.2三级模式结构和两层映像(2)图1-14数据库系统的模式结构41(1)外模式(ExternalSchema):又称子模式,或用户模式,是对数据局部逻辑结构和特征的描述,是用户看到的和直接操作的部分数据视图。应用程序是按数据局部逻辑结构进行设计,每个应用程序或用户对应不同的外模式,一个数据库有多个外模式。外模式是用户与数据库系统的接口,用户对数据的操作,实质是对外模式的数据的操作。外模式负责定义用户数据,或者从概念模式导出数据。(2)概念模式(ConceptualSchema):简称模式,又称逻辑模式,对数据全局逻辑结构和特征的描述,是所有用户的共同的逻辑数据视图,是数据库所有外模式的联合。数据库是按数据全局逻辑结构设计,一个数据库只有一个概念模式。概念模式是外模式和内模式的中间环节和隔离层,是保证数据独立性的关键部分。概念模式不仅负责定义数据的逻辑结构(数据项的名称、类型。值域),还负责定义实体之间的关系、数据完整性约束等。(3)内模式(InternalSchema):又称物理模式或存储模式,它给出了数据库物理结构与存储方式的描述,是数据在数据库内部的表示方式。内模式负责定义所有数据的物理存储策略和访问控制方法,包括记录的存储顺序、文件的组织方式、索引的组织方式等,但不涉及物理记录在磁盘上的存储,对物理数据的存储和读取是由操作系统的文件系统实现的。内模式依赖于全局逻辑结构,DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式,一个数据库只有一个内模式。1.3.2三级模式结构和两层映像(3)421.3.2三级模式结构和两层映像(4)2.二级映像三级模式对应数据的3级抽象,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象处理数据,而不用关心数据在计算机中的表示和存储。为了实现这3级抽象的联系和转换,数据库系统在这三级模式中提供了两层映像,即外模式/模式映像、模式/内模式映像。(1)外模式/模式映像外模式/模式映像,定义并保证了外模式与模式之间的对应关系。外模式/模式映像定义通常保存在外模式中。当模式发生变化时,如新增关系、改变关系的属性等,DBA可以通过修改映像(外模式/模式)使外模式不发生改变。由于应用程序是根据外模式进行设计的,只要外模式不变,应用程序就不需要修改。数据库系统的外模式/模式之间的映像技术不仅建立了用户数据库与逻辑数据库之间的对应关系,使得用户能够按照外模式进行程序设计,同时也保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性。(2)模式/内模式映像模式/内模式之间的映像,定义并保证了数据的概念模式与内模式之间的对应关系。它说明数据的记录、数据项在计算机内部是如何组织和表示的。当数据库的存储结构改变时,如新增一数据文件,改变文件增长方式等,DBA可以通过修改模式/内模式之间的映像使概念模式保持不变。由于用户或程序是按数据的外模式使用数据的,只要概念模式不变,用户仍可以按原来的方式使用数据,应用程序也不需要修改。模式/内模式的映像技术不仅使用户或应用程序能够按数据的逻辑结构来使用数据,还提供了内模式变化而应用程序不变的方法,从而保证了数据与应用程序的物理独立性,简称数据的物理独立性。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。431.4数据库设计 数据库设计是一项基础性工作,不仅要考虑合理的数据库结构外,还要考虑其它哪些相关因素?1.4.1数据设计概述1.4.2E-R模型向关系模型转换441.4.1数据设计概述(1)数据库设计是指在给定应用环境下和现有DBMS基础上,构造最优的数据库模型、建立数据库及其应用系统,使之能有效存储和管理数据,满足各种用户的应用需求。通俗地说,是把现实世界的信息按现有DBMS所支持的数据模型转化为计算机世界的数据存贮的过程。数据库设计主要包含两个方面内容:一是结构设计(概念设计、逻辑设计和物理设计),也就是设计数据库框架或数据结构,包括数据库的设计、表的设计和确定表之间联系;二是行为设计(数据库实施),即设计访问数据库的应用程序,事务处理等,形成数据库应用系统。根据规范设计法规定,数据库设计一般经过以下6个阶段:(1)需求分析:全面、准确了解并分析用户需求,以便系统能够满足用户需求。(2)概念设计:将需求分析得到的用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型(E-R图)。(3)逻辑设计:将概念模型(E-R图)转换为DBMS支持的逻辑模型(关系模型)。(4)物理设计:为逻辑模型选择最合适应用环境的物理结构,即确定存储结构和存取方法,包括数据的存放位置和存取路径以及系统配置。一般说来,关系型数据库系统中,数据的存取是透明的,故不用考虑物理设计。451.4.1数据设计概述(2)(5)数据库实施:建立数据库、组织数据入库、编制和调试应用程序并进行试运行。(6)数据库运行和维护:在数据库系统运行过程中不断地对其进行评价、调整与修改。在数据库设计过程中,需要的注意事项:1)充分

温馨提示

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

评论

0/150

提交评论