数据资源管理技术_第1页
数据资源管理技术_第2页
数据资源管理技术_第3页
数据资源管理技术_第4页
数据资源管理技术_第5页
已阅读5页,还剩183页未读 继续免费阅读

下载本文档

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

文档简介

第三章 数据资源管理技术 学习内容: n 企业数据处理 (Ch7.1,7.2) n 数据 处 理方式 , 数据 组织 与管理 n 数据库技术 (Ch7.3) n 数据 库 概念 ,数据 库设计 ,数据 库 操作 /结 构化 查询 语 言 SQL,数据 库 技 术 的 发 展 n 商业智能技术 (Ch7.4) n 商 业 智能概念 ,数据 仓库 ,数据挖掘 /联 机分析 处 理。 3.1 企业数据处理概述 n 数据处理 n 从某些数据推导加工出一些新的数据 /信息 , 作为决 策依据的过程, 包括数据的 收集、存储、计算、检 索、传播 等。 n 至 60s,数据处理已成为计算机的主要应用。 n 企业数据处理特点 n 数据密集型应用 。涉及大量 /海量,关联数据。一般存储在 大容量辅助存储器中。 n 数据长期保留在计算机系统中,称为持久数据。 n 数据为多个应用程序,多个部门 ,甚至在整个企业或更大范 围内共享。 n 批量或实时处理 3.1 企业数据处理概述 ( cont.) n 数据 处理 相关 问题 n 如何存储 /组织 n 保证数据存储的质量,便于存储和处理 n 如何处理 (方式 ) n 选择适当的数据处理方式,提高处理效率 /快速处理 n 如何利用 (处理功能,属于数据处理应用设计 ) n 通过数据处理,支持企业业务运作 /事务;支持企业管理控 制与决策; (创造其他价值 ,比如? )(数据成为资源) n 如何管理 n 便于使用,安全、可靠。 3.1 企业数据处理概述 ( cont.) n 数据组织与存储 n 数据存储 n 数据文件,大容量外部存储介质 - 一般数据文件,如 .txt,.doc,.xls ,.dat - 数据库 /数据仓库 (文件 ),如 .dbf,.db,.mdb n 数据组织 n 如何在存储介质上存储 物理组织 - 相关问题:介质?存储位置?文件或记录的组织方式? - 便于快速存取,与存储介质、数据的操作相关 n 如何构成组织文件数据 (内容 ) 逻辑组织 - 相关问题:哪些数据?用户视图?数据的逻辑关系?哪些 数据操作? - 满足数据需求,表达逻辑关系,便于操作,数据完整性 3.1 企业数据处理概述 ( cont.) n 物理组织与逻辑组织 - 用户只考虑逻辑组织,设计者二者同时考虑 - 两者相互影射转换 n 一般数据文件:由操作系统和应用程序完成 n 数据库 /数据仓库:由操作系统和数据库管理系统完成 n 文件数据构成 n 字符符号:最小数据单位。 多媒体数据? n 字段数据项:若干字符符号构成。 基本数据单位 ,记 录事物属性 n 记录:相关字段集合。 基本数据结构 ,记录事物 n 文件:同类记录集合。记录一类事物 n 数据库:逻辑上关联数据的集合 ,数据库文件。 n 数据仓库:多个数据库文件抽取数据构成的数据集合。 3.1 企业数据处理概述 ( cont.) n 数据处理方式 n 批处理 n 数据收集、传输、存储、加工、利用以成批方式进行。特 殊情况下 (如非网络 /集成环境,其他) 采用。 n 实时处理 n 数据收集、传输、存储、加工、利用以 联机 /在线 方式进行 。普遍采用。 n 联机事务处理 OLTP(On-Line Transaction Processing):对 业务数 据 实时处理, 支持企业业务运作 ,数据组织采用 数据库技 术 ,业务运作 数据库 ( Operational Database) n 联机分析处理 OLAP (On-Line Analytical Processing): 对大量数据 的实时分析 /挖掘其价值,支持管理控制与决策,数据组织 采用 数据仓库技术或数据库技术 3.1 企业数据处理概述 ( cont.) n 数据管理 n 数据更新 ,数据备份与恢复 ,转换 n 用户授权 : 谁 (Who)?什么数据 (What)?如何使用 (How)? n 安全管理 : 加密 ,保密 ,访问控制 . 3.2数据库技术 n 60s末,数据库技术作为一门新的数据处理技术发展起 来。如今已成为计算机科学的一个重要分支,是计算机 技术中应用最广泛的技术之一, 也是信息系统的核心技 术之一。 n 基本概念 n 数据库 n 定义:长期储存在计算机中的、有组织的、可共享的数据集合。 n 特点: n 按照一定的数据模型组织、描述和储存 n 具有较小的冗余度 n 具有较高的数据独立性和易扩展性 n 集成化、标准化。可为各种用户共享。 3.2数据库技术 -基本概念 ( cont.) n 数据库管理系统 (DataBase Management System, DBMS) n 定义:用于建立、运用和维护数据库的数据管理软 件。 n 主要功能: n 数据定义功能。提供 DDL语言,定义数据库中的数据对象 n 数据操纵功能。提供 DML语言,实现对数据库数据的基本 操作 (查询、插入、删除和修改 ) n 数据库的运行管理。保证数据的安全性、完整性、多用户 对数据的并发使用,发生故障后的系统恢复 n 数据库的建立和维护。数据库数据批量装载,数据库转储 ,数据库的重组织,性能监视等 3.2数据库技术 -基本概念 ( cont.) DBMS OS DB 用 户 应用程序 3.2数据库技术 -基本概念 ( cont.) n 数据库系统 (DataBase System, DBS) n 定义:指在计算机系统 中引入了数据库后的系 统,即采用了数据库技 术的计算机应用系统。 一般包括 DB, DBMS+OS, Users, DBA, 应用程序和应用 开发工具 3.2数据库技术 -数据库技术的发展 n 数据库技术是随着计算机软硬件技术( 编程语言、操作系统、大容量存储技术 如磁盘、磁带等)的发展、数据处理技 术的应用普及以及数据管理任务的需要 而发展起来的。 n 数据库技术的经历了人工管理、文件管 理、数据库管理等发展阶段 人工管理阶段 (20世纪 50年代中期以前 ) n 计算机主要用于科学计算。外部存储器只有卡片和纸 带等,还没有磁盘等存储设备。软件只有汇编语言, 无 OS、数据管理软件。数据处理采用批处理方式 。 n 特点 n 数据不保存在计算机内,没有文件( file)的概念。 主要用于科学计算。 n 数据需要由应用程序自己管理,程序员编写程序需 要考虑数据的逻辑结构和物理结构。 n 数据面向程序,即一组数据对应一个程序,不共享 n 数据不具有独立性,应用程序随其逻辑结构和物理 结构而变化。 文件管理阶段 ( 20世纪 50年代后期至 60年代中期) n 在这一阶段计算机不仅用于科学计算,还用于 数据管理。随着数据量的增加,数据的存储、 检索和维护问题成为紧迫的需要,数据结构和 数据管理技术迅速发展起来。 n 外部存储器:出现了磁盘、磁鼓等直接存储设备。 n 软件:出现了高级语言、操作系统。 n 数据处理的方式有批处理,也有联机实时处理。 文件管理阶段数据处理方式 程序 1 文件 1 文件 2程序 2 文件管理阶段 ( 20世纪 50年代后期至 60年代中期) n 特点 n 在文件系统中,数据按其内容、结构和用途组成若 干命名的文件。数据以文件的形式长期保存在外部 存储器上。 n 由操作系统的文件系统对数据进行管理。用户可以 通过操作系统对文件进行读、写操作。编写程序不 必考虑物理结构,但仍要考虑逻辑结构。 n 文件记录内部有结构(按文件名访问、按记录存取 ),但整体无结构(记录之间无联系)。 n 文件组织形式多样化:索引文件、链接文件、顺序 文件、和直接存取文件等。 文件管理阶段 ( 20世纪 50年代后期至 60年代中期) n 文件一般为某一用户或用户组所有,但可供指定的 其他用户共享。数据不再属于某个特定的程序,可 以重复使用,即数据面向应用。但应用程序之间数 据共享性差,冗余度大。 n 程序与数据之间有一定的独立性,但不高。文件结 构改变时必须修改程序。 文件管理方式的缺点 n 随着数据处理应用的深入,数据管理规模扩大,数据 量急剧增加,文件系统缺点越来越突出。 n 编写应用程序很不方便 n 应用程序的设计者必须对所用的文件的逻辑及物理 结构有清楚的了解。操作系统只提供打开、关闭、 读、写等几个低级的文件操作命令,对文件的查询 、修改等处理都须在应用程序内解决。应用程序还 不可避免地在功能上有所重复。 文件管理方式的缺点 ( cont.) n 文件的设计很难满足多种应用程序的不 同要求,数据冗余往往是不可避免的 n 为了兼顾各种应用程序的要求,在设计文件系统时 ,往往不得不增加数据冗余,有时甚至会出现大量 的数据冗余。数据冗余不仅浪费存储空间,而且会 带来数据的不一致 (inconsistency)。 n 在文件系统中,无维护数据一致性的监控机制,数 据的一致性完全由用户负责维护。这在简单系统中 还可勉强应付,在复杂的系统中,要保证数据的一 致性,几乎是不可能的。 文件管理方式的缺点 ( cont.) n 文件结构的每一修改将导致应用程序的修改 , 程序的维护工作量很大 n 随着应用的环境和需求的变化,修改文件的结构是 常有的事,例如在某些文件的记录中增加一些字段 ,扩充某些字段的长度,改变某些字段的计量单位 或表示格式等,都会引起应用程序的一连串的修改 。应用程序对文件过分依赖;或者说,文件系统的 数据独立性 (data independence)不好。 文件管理方式的缺点 ( cont.) n 文件系统一般不支持对文件的并发访问 (concurrent access)。 n 在现代计算机系统中,为了有效地利用计算机的资 源,一般允许多个应用程序并发地运行。文件当初 就是作为某个程序的附属数据出现的。文件系统一 般不支持多个应用程序对同一文件的并发访问。死 锁等问题。 文件管理方式的缺点 ( cont.) n 数据缺少统一管理。 n 因此在数据的结构、编码、表示格式、命名以及输 出格式等方面不容易做到规范化、标准化; n 在数据的安全和保密方面,也难以采取有效的措施 。 数据库系统阶段 ( 20世纪 60年代后期) n 计算机用于管理的规模不断扩大,数据量急剧 增长。大容量磁盘的出现及硬件价格的下降与 软件价格上升。更多的联机实时处理的要求。 解决多用户、多应用共享数据的需求,使数据 为尽可能多的应用服务以及分布处理的提出。 促进了数据库技术的产生和发展,出现了以 统 一管理 和 共享数据 为主要特征的专门软件系统 :数据库管理系统。在数据库系统中,数据不 再仅仅服务于某个程序或用户,而是看成一个 单位的共享资源。 数据库管理阶段 ( 20世纪 60年代后期) n 60s末 ,数据处理技术进入数据库阶段 ,其标志性 成就是: n 1968年美国 IBM公司推出层次模型的 IMS系统 。 n 1969年美国 CODASYL(美国数据系统语言委员会 )组织发 布了 DBTG(数据库任务组 )报告,总结了当时各式各样 的数据库,提出网状模型。 n 1970年美国 IBM公司的 E.F.Codd 连续发表论文,提 出关系模型,奠定了关系数据库的理论基础。 数据库阶段数据处理方式 数据库管理方式 n 由于有 DBMS的统一管理,应用程序不必直接 介人诸如打开、关闭、读、写文件等低级操作 ,而由 DBMS代办;用户也不必关心数据存储 和其他实现的细节,可以在更高的抽象级别上 观察和访问数据。 n 数据结构的一些修改也可以由 DBMS屏蔽,使 用户看不到这些修改,从而减少应用程序的维 护工作量,提高数据的独立性。 n 由于数据的统一管理,人们可以从全局着眼, 合理组织数据,减少冗余,还可以更好地贯彻 规范化和标准化。 数据库管理方式 ( cont.) n 实现了许多文件系统难以实现的功能 : n 适合不同类型用户的多种用户界面,保证并 发访问时的数据一致性的并发控制 , 增进数 据安全性的访问控制 n 在故障情况下保证数据一致性的恢复功能 n 保证数据在语义上的一致性的完整性约束检 查功能等。 数据库系统的特点 n 数据库系统不仅克服了文件管理系统存 在的主要问题,还提供了强有力的数据 管理功能,主要特点: n 实现数据的集中化控制 n 数据库的数据是集成式的 n 设有数据库管理员 DBA 数据库系统的特点 ( cont.) n 数据的冗余度小 n 数据集中化控制产生的另一效果,是使相同的数 据在数据库中一般只存储一次,并为不同的应用 共享。 n 从理论上讲,数据库中的数据应是无冗余的。然 而,在实际运行的数据库系统中,为了改善对数 据库的查询效率或为了采用简单的寻址方式,通 常在数据库中仍存在某种程度的数据冗余。但这 些数据的冗余将受到控制系统负责对冗余数据 的检查、维护工作。 数据库系统的特点 ( cont.) n 采用一定的数据模型实现数据结构化 n 数据模型能够表示现实世界中各种数据组织和数 据间的联系,这是数据库与文件系统之间的本质 区别之一,也是实现数据的集成化控制和减少数 据冗余的前提和保证 . n 由于数据库是从整体考虑数据结构,所以数据不 再是面向应用而是面向系统。对于不同的应用, 可以选取整体模型的各种合理子集加以实现。 n 常用的数据模型有:层次模型、网状模型和关系 模型等。 数据库系统的特点 ( cont.) n 避免了数据的不一致性 n 数据的不一致性是指数据的不相容性或矛盾性, 即数据违反了数据完整性约束条件,使同一数据 在数据库内重复出现且具有不同的值。 n 数据的不一致性主要是由于存在数据冗余造成的 。 “数据结构化共享独立性 ”使冗余度下降, 改善数据一致性。 n 同时,数据库系统提供了对数据进行控制和检查 的功能,使得数据在更新时能及时更新数据的所 有副本,以保证数据的一致性。 数据库系统的特点 ( cont.) n 实现数据共享 n 数据共享是指数据库中的一组数据集合为多种语 言和多个用户共同使用。 n 可实现文件级、记录级、数据项级的数据共享。 n 数据共享表现在如下几方面: n 当前所有用户 (批处理用户、终端用户 )可同时使用数 据库。 n 数据库既能满足当前应用的需求,又能适应新的应用 的需求。 n 具有多种用户接口。 数据库系统的特点 ( cont.) n 数据由 DBMS统一管理和控制,提供数据库 保护 n DBMS提供一系列数据管理和控制功能,以保护 数据库中数据是安全可靠的。主要技术措施有: 安全性控制、完整性控制、并发控制、故障的发 现和恢复等。 数据库系统的特点 ( cont.) n 数据独立性 n 数据独立性是指数据库中数据独立于应用程序, 即数据的逻辑结构、存储结构与存取方式的改变 不影响应用程序。大大简化应用程序的设计维护 的工作量。 n 数据独立性一般分为数据的逻辑独立性和数据的 物理独立性。 n 数据逻辑独立性 :指数据库总体逻辑结构的改变,如修 改数据定义等不需要修改应用程序。 n 数据物理独立性 :指数据的物理结构 (存储结构、存取 方式等 )的改变,如存储设备的更换、物理存储格式和 存取方式的改变等不影响数据库的逻辑结构,因而不 会引起应用程序的变化。 数据库系统的三个发展阶段 n 第一代数据库系统 n 60s末,以 网状型数据库和层次型数据库 为代表,已实现数据 管理中的 “集中控制与数据共享 ”这一基本目标。 n 第二代数据库系统 n 80s以 关系型数据库 为代表 . 具有完整的理论基础,结构简单, 操作方便,且 在提高查询效率和改善数据库性能 方面取得突破 性进展,已逐渐成为数据库发展的主流,如 Oracle, Sybase, Informix等 . n 分布式数据库系统 n 新一代数据库系统 n 90s,适应对对图形、图像、声音等多媒体数据、时态数据、 空间数据、知识信息以及各种复杂对象等非常规数据提供有效 的数据处理的需求,提出许多新概念、新思想和新方法,以及 一些新的数据模型和新数据库管理系统的体系结构,如 面向对 象数据库系统 , 多媒体数据库 系统, 工程数据库系统 等等。 3.2数据库技术 -数据模型概述 n 定义:数据模型是现实世界数据特征的抽象, 是 描述数据的一组概念和定义 。 n 数据库专家 E.F.Codd认为:一个基本数据模型是 一组向用户提供的规则,这些规则 规定数据结构 如何组织以及允许进行何种操作 。 n 对数据模型的要求 n 能 较好地模拟现实世界 ,容易理解 ,便于实现 n 不仅要反映 数据本身的内容 ,而且要反映 数据之 间的联系 n 在数据库中,针对不同的使用对象和应用目的, 采用多级数据模型 。 数据模型概述 ( cont.) n 数据模型的三个要素 n 一个数据模型由 数据结构 、 数据操作 和 数据的约束 条件等 三部分组成。 n 数据结构和数据的约束条件为数据的静态特性。 数据结构 n 数据结构规定如何把基本的数据项组织 成较大的数据单位,以 描述数据的类型 、内容、性质和数据之间的相互关系 。 n 在数据库系统中通常按照数据结构的类 型来命名数据模型,例如,采用层次型 数据结构、网状型数据结构、关系型数 据结构的数据模型分别称为 层次模型、 网状模型和关系模型。 数据操作 n 数据操作是指一组用于指定数据结构的 任何有效的操作或推导规则。 n 数据库中 主要的操作有查询和更新 (插入 、删除、修改 )两大类。 数据模型要给出 这些操作确切的含义、操作规则和实现 操作的语言。 数据的约束条件 n 数据的约束条件是 一组 完整性规则 的集 合 。它定义了给定数据模型中 数据及其 联系所具有的制约和依存规则 ,用以限 定相容的数据库状态的集合和可容许的 状态改变,以保证数据库中数据的 正确 性、有效性和相容性 。 n 数据约束还应包括能够反映 某一应用 所 涉及的数据必须遵守的特定的 语义约束 条件。 三级数据模型 现实世界:概念模型 信息世界:逻辑模型 计算机世界:物理模型 第二级抽象 第一级抽象 第三级抽象 概念模型 n 概念模型是面向用户、面向现实世界的数据模型,用 于描述一个单位的 与 DBMS无关 的概念化数据结构。 n 采用概念模型,数据库设计人员可以在设计的开始阶 段,把主要精力用于了解和描述现实世界上,而把涉 及 DBMS的一些技术性的问题推迟到设计阶段去考虑; 也有利于设计人员与非计算机专业人员之间的交流。 n 概念模型是 从现实世界到信息世界的一个中间层次 , 是数据库设计人员进行数据库设计的重要工具,也是 数据库设计人员和用户之间进行交流的语言。因此概 念模型应具有丰富的语义表达能力和直接模拟现实世 界的能力,且具有直观、自然、语义丰富、易于用户 理解的特点。 n E-R模型是在数据库设计中广泛使用的一种概念模型。 E-R数据模型的基本概念 n E-R (Entity-Relationship )数据模型,即 实体 -联系数据模型 (P P S Chen于 1976年提出 ) n 便于直接描述现实世界,且具有直观、 自然、语义丰富、易于向传统数据模型 转换等优点。 实体 (Entity) n 实体 是客观存在的且可以区别的事物。 现实世界由各种各样的实体组成,可以 是具体的,也可以是抽象的概念 n 具有相同特性的一类实体的集合称为 实 体集 (Entity Sets) ,如全校学生的集合组 成学生实体集。 联系 (Relationship) n 联系是实体集之间关系的抽象表示,即对现实 世界中事物之间关系的描述。如教师实体集与 学生实体集间的 “讲授 ”联系,公司实体集与职 工实体集之间的 “聘任 ”联系等。 n 如果参与联系的实体集的数目为 n,则称这种 联系为 n元联系。 n 根据联系的元数不同,通常把联系分为如下几 类:二元联系,多元联系,自反联系 二元联系 n 只有两个实体集参与的联系称为二元联 系,它是现实世界中大量存在的联系。 二元联系可进一步区分为 1: 1、 1: n和 m: n三种,并在 E -R图中显式地表示出 这些语义。 1:1(one to one)联系 n 若两个实体集 El, E 2中的每一个实体至 多和另一个实体集中的一个实体有联系 ,则称 El, E2有 1:1的联系。 n 例如,学校实体集与校长实体集间的联 系是 1; 1的。 1:n(one to many)联系 n 设有两个实体集 E1, E 2,若 E1中每个实 体与 E2中任意个实体 (包括零个 )相联系 ,而 E2中每个实体至多和 E1中一个实体 有联系、则称 E1和 E2是一对多的联系, 记为 1: n n 例如 ,公司与职工、经理与职员、班长与 同学、教练与运动员等都是 1:n的联系。 m:n(many to many)联系 n 若两个实体集 E1, E2中的每一个实体都 和另一个实体集中任意个实体 (包括零个 ) 有联系,则称 E1, E 2是多对多的联系, 记为 m: n。 n 例如,设 T, C分别代表教师集合和课程 集合,则 T, C之间的联系是 m: n的。再 如,学生与课程、图书与借书人、商店 与商品 均是 m: n的联系。 数据联系的描述 1: 1联 系 座位 E1 乘客 E2 1: n联系 E1 E2 车间 工人 m:n联 系 E1 E2 学生 课 程 多元联系 n 参与联系的实体集的个数 =3时,称为 多元联系。与二元联系一样,多元联系 也可区分为 1:1、 1:n和 m:n三种,并显式 地表示在 E R图中。 n 例如,用来描述学生、书店和图书实体 集之间的 “购书 ”联系是三元联系。 自反联系 n 自反联系:它描述了同一实体集内两部 分实体之间的联系,是一种特殊的二元 联系。 n 两部分实体之间的联系也可以区分为 1:1 、 1:n和 m:n三种,并显式地表示在 E-R图 中。 n 例如:在 “人 ”这一实体集中存在夫与妻 之间 1:1的联系;在职工实体集中存在领 导与被领导关系,可用 1:n的联系描述。 属性( Attribute) n 属性: 实体或联系 所具有的特征。通常 一个实体可以由多个属性来描述,即实 体可用属性集表示。 n 例如 :学生实体可用学号、姓名、性别、年 龄、系、籍贯等属性来描述。 n 例如 :学生实体集和课程实体集问存在 m: n 的 “选课 ”联系,这种联系可以有 “成绩 ”、 “选 修时间 ”等属性。 关于属性的几个概念 n 不能再细分的属性称为 原子属性 ,如性别、民 族等。 n 每个属性值都有一定的变化范围,通常称属性 取值的变化范围为属性值的 域 (Domain)。例如 ,性别属性域是男、女,年龄属性域是 1 200 岁。 n 能 唯一标识 实体集中某一实体的 属性或 属性组 称为实体集的实体 标识符 /码 (identifier /Identify code),或称 关键字 (Key words),或 称 码 。如 :学号 E-R图 n E-R图三个基本图素 实体名 联系名属性名 E-R图的画法 n 利用无向边把实体的属性(椭圆)与该 实体(矩形框)连接起来,同时把有联 系的实体通过联系(菱形框)连接起来 ,并在无向边旁标上联系的类型( 1:1,1:n,m:n)。 n 联系的属性也要用无向边与该联系连接 起来。 E-R图举例 n 两个实体型之间的联系 实体型 A 实体型 B 联系名 实体型 A 实体型 B 联系名 实体型 A 实体型 B 联系名 1 1 m 1 n n E-R图举例 n 多个实体型之间的联系 课 程 教 师 联系名 参考书 1 m n E-R图举例 m n m n 1 n n 1 1 学生 学号 姓名 性别 出生日期 院系 课程 教师 属于 院系编号 院系名称 联系电话 学习 课程编号 课程名称 学分 属于 教授 教师编号 教师姓名 学历 专长 提供 n E-R图举例 逻辑模型 n 逻辑模型是用户从数据库所看到的数据模型。 它与 DBMS有关, DBMS常以其所用的逻辑数据 模型来分类。 n 用概念模型表示的数据必须转化为逻辑模型表 示的数据,才能在 DBMS中实现。 n 常见的逻辑模型有:层次数据模型、网状数据 模型、关系数据模型、面向对象数据模型等。 层次和网状模型又称为 非关系模型 。 逻辑设计中的数据描述 n 字段( field):标记实体属性的命名单位称为 字段,或数据项。它是可以命名的最小信息单 位,所以又称为数据元素或初等项。 n 记录( record):字段的有序集合称为记录。 n 文件( file):同一类记录的集合称为文件。 n 关键码( key):能惟一标识文件中每个记录 的字段或字段集,称为记录的关键码(简称为 键)。 逻辑设计中的数据描述 n 与概念模型术语的对应关系 概念 设计 逻辑设计 实 体 记录 属性 字段(数据 项 ) 实 体集 文件 实 体 标识 符 关 键码 层次数据模型 ( hierarchical model) n 数据结构 n 层次模型用树形结构来表示实体以及实体之间的联 系。现实世界中的家族关系、行政机构就呈现出一 种很自然的层次关系。 n 层次模型以实体集(用矩形框表示)为结点,每个 结点表示一个记录类型。记录类型之间用有向边相 连反映实体集之间的联系。 n 层次模型必须满足两个条件 n 有且只有一个结点没有双亲结点(称为根结点) n 根结点以外的其他结点有且只有一个双亲结点。 因此,双亲结点与子女结点之间的联系是一对多 。所以,层次模型只能直接处理一对多的联系。 多对多联系通过转换成一对多联系来表示 层次数据模型举例 层次数据模型 ( hierarchical model) n 操作与完整性约束 n 操作主要有查询、插入、删除和更新 n 约束: 不能插入无双亲的子结点 子结点和双亲结点一起删除 n 存储结构 n 邻接法(按某一遍历顺序) n 链接法 n 代表系统: IBM的 IMS 层次模型的主要特点 n 记录之间的联系通过指针来实现,查询效率较高 。与 文件系统的数据管理方式相比,层次模型是一个飞跃 , 用户和设计者面对的是逻辑数据 而不是物理数据, 不必花费大量的精力考虑数据的物理细节。 逻辑数据 与物理数据之间的转换由 DBMS完成。 n 层次数据模型本身比较简单;对于实体间联系是固定 的且预先定义好的应用系统,采用层次模型来实现, 其性能优于关系模型,不低于网状模型;能提供良好 的完整性支持。 n 现实世界中有很多联系是非层次性的,层次模型表示 这类联系的方法很笨拙;对插入和删除操作的限制比 较多;查询子女结点必须通过双亲结点;由于结构严 密, 引起数据的查询和更新操作很复杂,因此应用程 序的编写也比较复杂。 网状模型 ( network model) n 在现实世界中事物之间的联系更多的是 非层次关系。用层次模型表示非树形结 构很不直接,网状数据模型可以克服这 一弊端。 n 数据 结 构: n 网状模型是以记录类型为结点的网状结构。 n 允许一个以上的结点无双亲。 n 一个结点可以有多于一个的双亲。 n 层次模型是网状模型的特例。 网状数据模型举例 网状模型 ( network model) n 操作与完整性 约 束 n 操作主要有 查询 、插入、 删 除和更新; n 约 束主要有: 允 许 插入无双 亲 的子 结 点 允 许 只 删 除双 亲结 点 n 存 储结 构 n 链 接法 n 代表系 统 : CODASYL的 DBTG 网状模型的特点 n 能够更为直接地描述现实世界; n 记录之间联系通过指针实现,容易实现 M:N联 系 (一个 M:N联系可拆成两个 1:N联系 ),查询效 率较高。 n 数据结构 结构比较复杂,其数据定义语言和数 据操纵语言复杂,不利于用户掌握;由于记录 之间联系是通过存取路径实现的,应用程序在 访问数据时必须选择适当的存取路径,因此, 用户必须了解系统结构的细节,加重了编写应 用程序的负担。 关系数据模型 n 关系模型是目前最重要的一种数据模型。 n 1970年美国 IBM公司 San Jose研究室的研究员 E.F.Codd首次提出了数据库系统的关系模型, 开创了数据库关系方法和关系数据理论的研究 ,为数据库技术奠定了理论基础。 n 20世纪 80年代以来,计算机厂商新推出的数据 库管理系统几乎都支持关系模型,非关系系统 的产品也加上了关系接口。 n 数据结构 n 规范的二维表 关系数据模型 n 操作与完整性约束 n 操作主要有查询、插入、删除和更新; n 约束主要有: 实体完整性 参照完整性 用户定义的完整性 n 存储结构 n 以文件形式存储表 n 代表系统: Oracle、 SQL Server、 Informix、 Sybase、 VFP、 Access、 DBASE 、 FoxBASE 关系数据模型的数据结构及其基本术语 n 用二维表格数据来表示实体和实体间联系的模 型叫做关系数据模型。二维表由行和列组成。 n 基本术语 n 关系:通俗地讲,一个关系对应一张二维表,描述 一个实体集 /联系中各类数据的集合; n 元组:表中的一行即为一个元组; n 属性:表中的一列即为一个属性,每列的标识称为 属性名; 关系数据模型举例 表 1 学生情况表 (p23) 学号 姓名 性别 年龄 院系编号 年级 02110001 丁方 男 19 11 02 02110002 刘东 男 18 12 02 02110003 张丽 女 19 11 02 关系数据模型的数据结构及其基本术语 n 主码 (Key):表中某个属性或属性组可以唯 一标识一个元组,就成为本关系的主码;( 主关键字,主键,键) n 域 (Domain):属性的取值范围; n 分量 (component):元组中的一个属性值; n 关系模式:对关系的描述,一般表示为:关 系名(属性 1,属性 2, ,属性 n)。上表 表示的关系可描述为:学生(学号,姓名, 性别,年龄,院系编号,年级)。 用二维表描述实体集之间的联系 n 方式一: 两个关系通过定义相同的属性 名,反映它们之间的联系; n 方式二:定义第三个关系,将两个关系 联系起来 。 方式一:举例 表 2中的院系表和表 1中的学生情况表之间就是通过定义相同的属 性名(院系编号)来反映学生与院系之间的隶属联系。 院系编号 院系名称 联系电话 11 计算机科学学院 81234567 12 中文系 83456789 表 2 院系表 (p23) 方式二:举例 n 例如:表 3中的关系 “学生课程成绩表 ”中 的学号取自表 1中的 “学生情况表 ”,课程 编号取自表 4中的 “课程情况表 ”。通过定 义 “学生课程成绩表 ”这个关系,就使得 关系 “学生情况表 ”和关系 “课程情况表 ”建 立了多对多的联系。 方式二:举例 ( cont.) 学号 课程编 号 成绩 02110001 1101 89 02110002 1201 80 02110001 1201 76 课程编 号 课程 名称 学 分 1101 高等 数学 4 1201 专业 英语 3 1301 离散 数学 3 表 3 学生课程成绩 (p24) 表 4 课程情况表 方式二:举例 ( cont.) 关系的性质 n 关系中的每一列属性,都是不能再分的基本字 段,这种特性称为原子性; n 同一关系中的属性名不能重复; n 列是同质的,即每一列的支来自同一域; n 各行相异,不允许重复; n 行、列次序无关紧要; n 每个关系都有一个关键字唯一标识各元组。 关系数据模型的数据操作 n 在关系数据库中,对数据库的查询和更 新操作都归结为对关系的运算。即以一 个或多个关系为运算对象、对它们进行 某些运算形成一个新关系,提供用户所 需数据。 n 关系运算按其表达查询方式的不同可分 为两大类:关系代数和关系演算。 关系数据模型的数据约束 n 关系数据模型的 数据操作 主要包括查询、插入 、删除和修改。为了维护数据库中数据与现实 世界的一致性, 这些操作必须满足关系的完整 性约束条件: 实体完整性、参照完整性和用户 定义的完整性 。其中实体完整性和参照完整性 是关系模型必须满足的完整性约束条件 ,被称 作是关系的两个不变性,应该 由 RDBMS(关系 数据库管理系统)自动支持 。 实体完整性 n 实体完整性约束是指任一关系中标识属 性 (关键字 )的值不能为空值 Null,否则, 无法识别关系中的元组。 n Null是用来说明在数据库中某些属性值可 能是未知的、或在某些场合下是不适应 的一种标记, “不知道 ”或 “无意义 ”的值 。 n 如果主码取空值,那么就存在不可区分 的实体。 参照完整性 n 关系间的引用: 在关系模型中 实 体和 实 体 间 的 联 系都 是用关系来描述的。 这样 就自然存在着关系与关系 间 的引用 。 n 例 1 学生( 学号 ,姓名,性别,年龄, 院系编号 ,年级) 院系( 院系 编 号 ,院系名称) n 例 2 学生( 学号 ,姓名,性别,年龄,院系编号,年级) 课程( 课程编号 ,课程名称,学分) 选修( 学号 , 课程编号 ,成绩) n 参照完整性是不同关系间的一种约束,当存在关系间 的引用时, 要求不能引用不存在的元组 。 参照完整性 n 定义: 设 F是基本关系 R的一个或一组属性,但 不是关系 R的码。如果 F与基本关系 S的主码 Ks 相对应,则称 F是基本关系 R的 外码( Foreign Key) ,并称基本关系 R为 参照关系( Referencing Relation) ,基本关系 S为被 参照 关系( Referenced Relation) 或 目标关系( Target Relation) 。 n 显然,目标关系 S的主码 Ks和参照关系的外码 F 必须定义在同一个(或一组)域上。 参照完整性 n 参照完整性规则 就是定义外码与主码之 间的引用规则。若属性(或属性组) F是 基本关系 R的外码,它与基本关系 S的主 码 Ks相对应(基本关系 R和 S不一定是不 同的关系),则对于 R中每个元组在 F上 的值必须或者取空值( F的每个属性值均 为空值),或者等于 S中某个元组的主码 值。 用户定义的完整性 n 关系数据库系统 根据其应用环境 的不同 ,还 需要一些特殊的约束条件 。它 反映 某一具体应用所涉及的数据必须满足的 语义要求 。例如某个属性取值范围应在 14 38之间。关系模型应提供定义和检 验这类完整性的机制,以便用 统一的系 统的方法处理它们 ,而不要由应用程序 来承担这一功能。 关系数据模型的特点 n 有严格的数学基础。 n 数据的表示方法 统一 、简单。无论 实体 还是实体之间 的 联系 都用关系表示。对数据的检索 结果 也是关系。 n 数据独立性高。关系模型个去掉了用户接口中有关存 储结构和存取方法的描述,即关系模型的存取路径对 用户透明,从而具有更高的数据独立性、更好的安全 保密性,也简化了编程和数据库创建维护工作。 n 表达能力强。二维表不仅能表示实体集,而且能方便 地表示实体集间的联系,还 可表达 m:n的关系。 n 由于存取路径对用户透明,查询效率往往不如非关系 型数据模型。为了提高性能,必须对用户的查询请求 进行优化,增加了开发数据库管理系统的难度。 面向对象数据模型 n 面向对象数据模型 (Object-Oriented Data Model,简称 OO数据模型 )是面向对象程序设计方法与数据库技术 相结合的产物,用以支持非传统应用领域对数据模型 提出的新需求。 n 在 OO数据模型中,基本结构是对象而不是记录,一切 事物、概念都可以看做对象。 n 一个对象不仅包括描述它的数据,还包括对它进行操 作方法的定义。 n OO数据模型是一种 可扩充的数据模型 ,用户根据应用 需要 定义新的数据类型及相应的约束和操作 而且比 传统数据模型有更丰富的语义。 对象 ( Object) 和 对象标识 ( Object IDentifier, OID) n 对象是客观存在并能互相区分的事物, 它是客 观世界中概念化的基本实体,因此实体都可以 视为对象。 一个对象是对一组信息及对其操作 的描述。 n 在 OO数据模型中,每个对象都有一个系统内 惟一不变的标识符,称为 对象标识符 (OID)。 n 对象标识是 由数据模型或程序设计语言内置 的 一种标识,不需要用户定义, 每个对象在创建 时被系统自动赋予一个标识符 。 属性 (Attribution)和方法 (Method) n 每个对象都定义了一组属性和方法,用以描述对象的 静态和动态特性。 n 每个对象包含一组属性,用以描述对象的状态、组成 和特性。 对象的属性也可以是对象 ,且属性值可取单 一值或一组值。如 : “三角形 ”对象。 n 在对象中除定义一组属性外,还定义一组方法,用以 描述对象的行为特性 (动态特性 )。 n 方法的定义与表示包括 两部分 ,一是 方法的接口 ,给 出了方法的外部表示、包含的名称、参数及结果类型 ;二是 方法的实现 ,是一段可对对象进行某种操作的 程序,因此方法也称操作,它可以改变对象的状态。 n 一个对象一般由一组属性、一组方法,再冠以一个 OID 组成 . 封装 ( Encapsulation) 和消息传递 ( Message Passing) n 在 OO数据模型中,系统把一个对象的属性和方法封装 为一个整体,用户只能见到对象封装界面上的信息, 对象内部对用户是隐蔽的。 n 封装的目的是为了使对象的使用和实现分开。 n 对象的封装性体现在以下几个方面: (1)对象具有清晰的边界:对象的内部软件 (数据结构及 操作 )的范围限定在这个边界之内; (2)对象具有统一的外部接口:对象的接口 (消息模式 ) 描述该对象与其他对象间的相互作用; (3)对象的内部实现是不公开的 : 对象的实现给出了对 象提供的功能细节,外部对象不能访问这个功能细节 。 封装 ( Encapsulation) 和消息传递 ( Message Passing) n 对象之间的相互作用是通过消息传递进行的。 n 消息是用来请求对象执行某一操作或回答某些信息的 要求,当一个消息发送给某个对象时,消息中包含要 求接收对象去执行某些活动的信息 (调用对象的相应方 法 ),接收到消息的对象经过解释进行相应的操作,并 以消息的形式返回操作结果。 n 一个对象可以接收多种形式的消息,一种消息能发送 给多个对象。 n 消息一般由三部分组成: 接收者 消息所施加作用的对象; 操作 给出消息的操作要求; 操作参数 消息操作时所需要的外部数据 对象、消息之间的关系 类( Class) n 类是具有共同属性和方法的对象的集合 。 n 同类对象在数据结构和操作性质方面具有共性 。例如 大学生、硕士生、博士生是一些有共同性质的对象, 可以抽象为一个学生类。在该类中不仅有共同的属性 ,如学号、姓名、系部、专业等,也可以定义共同的 方法。 n 从一组有共性的对象中抽出它们的共同属性和方法, 归入一个类中,以统一的方式构造现实世界的模型, 是 OO数据模型的重要特征。 n 类可以看成一个模板 ,可用来生成给定类型的对象。 定义了一个类就意味着把可重用的程序代码放在一个 公用库中,而不必反复对类中每个对象的特性进行描 述。 n 类中的每一个对象称为该类的一个实例 。 类( Class) n 类层次结构 (C1ass Hierarchy Structure):在 OO数据模 型中,类被组织成一个有根的有向无环图,称为类层 次结构。 n 继承( Inheritance):类层次结构的一个重要特性是 超类、子类以及对象间的继承性 ,继承性避免了一些 冗余信息。一个子类继承其超类的所有属性和方法, 且这种继承具有传递性。 n 子类除继承超类中的属性和方法外,还可以在子类中 定义该子类特殊的属性和方法。 (变异) n 继承性有单重与多重继承之分, 单重继承指 每个子类 有且仅有 一个超类 ,如果子类有 多个直接超类 ,则子 类要从多个直接超类继承属性和方法,这种继承 称为 多重继承 (Multiple inheritance)。 多态和重载 n 多态 (Polymorphous): 类的方法有相同的接口表示,但 允许 有不同的多种内部实现 ,这种情况称为方法的多 态。 n 重载( Over loading) : 在类继承结构中子类继承超类 的方法,这种继承往往有多态性,即 子类仅继承超类 的接口 表示, 但它有自己的实现 手段,这种情况称为 方法重载。 n 重定义( Redefine) :子类属性、方法与父类不同 ,可重 新定义。 n 动态联编( dynamic Binding):实现多态、重载的手 段。应用程序执行到一定阶段后才与具体方法联编( 编译连接) 面向对象数据模型与关系数据模型的简单比较 关系数据模型 面向对象数据模型 数据结构 基本数据结构是表 存储单位是元组 基本数据结构是类 存储单位是实例 数据操作 可归结为关系运算 类内的方法、类间 的消息传递 数据约束条件 有实体和参照完整 性约束,完整性约 束条件可以用逻辑 公式表示,称为完 整性约束方法。 用于约束的公式可 以用方法或消息表 示,称为完整性约 束消息 物理模型 n 反映 数据存储结构的数据模型 称为物理数据模 型。 n 数据库的数据终须存储到介质上,每种逻辑数 据模型在实现时,都有其对应的物理数据模型 。 n 物理数据模型不但与 DBMS有关,而且还与操作 系统和硬件有关。 3.2数据库技术 -数据库系统的三级模式结构 n 美国国家标准局 (ANSI)计算机和信息处理委员 会以及标准规划和要求委员会 (SPARC)联合成 立的 DBMS研究组 在 1975年发表的中期报告, 一个数据库系统结构从逻辑上可以划分为三个 层次 :外模式 (External Schema),模式 (Schema)和内模式 (Internal Schema),称为数 据库系统的三级模式结构。 n 目的 : n 实现数据库数据的独立性 n 便于数据库的设计和实现 数据库系统的三级模式结构 ( cont.) 型( Type)和值( Value) n 型是指对某一类数据的结构和属性的说明 n 值是型的一个具体赋值,即实例 . n 例: n 型 学生 (课程遍号,课程名称,学分); n 值 ( 250310,生产管理, 3) 数据模式 n 定义:在数据模型中有关 数据结构及其相互间 关系 的描述称为数据模式 (Data schema) n 数据模式是数据库中数据的逻辑结构和特征的描述 ,不涉及具体的值或实例。 n 一个数据模式可以有很多的值或实例。 n 数据模式是相对稳定的, 反映一个单位的各种事物 的构成、属性、联系,实质上是一个单位的模拟 。 而实例是相对变动的 ,反映数据库的某一时刻的状态 。 模式和实例举例 n 学生 (学号 ,姓名,年龄 ) n 课程 (课程编号 ,课程名称,学分 ) n 选

温馨提示

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

评论

0/150

提交评论