790 likes | 1.02k Views
第六章 数据库与数据仓库. 本章内容:. 第一节 数据库技术. 第二节 数据仓库. 数据的层次 字符 :信息的最基本架构,用一个字节来表示; 字段 :以某种方法描述的业务对象或活动的字符 组合 ; 记录 :相关字段的一组集合; 文件 :相关记录的集合。. 一、数据管理的概念. 数据库. 职员文件,部门文件,工资文件 …. 005-10-6321 ,李杰, 02-01-18 549-77-1001 ,李英, 02-02-01. 文件. 记录. 005-10-6321 ,李杰, 02-01-18. 字段. fiske. 字符(字节). 1000100.
E N D
第六章 数据库与数据仓库 本章内容: 第一节 数据库技术 第二节 数据仓库
数据的层次 字符:信息的最基本架构,用一个字节来表示; 字段:以某种方法描述的业务对象或活动的字符组合; 记录:相关字段的一组集合; 文件:相关记录的集合。 一、数据管理的概念
数据库 职员文件,部门文件,工资文件… 005-10-6321,李杰,02-01-18 549-77-1001,李英,02-02-01 文件 记录 005-10-6321,李杰,02-01-18 字段 fiske 字符(字节) 1000100 数据的层次
实体:是人、地点或对象的通用类别,数据以这种类别进行收集、存储和维护。实体:是人、地点或对象的通用类别,数据以这种类别进行收集、存储和维护。 属性:实体的特性。 数据项:属性的特定值 键:记录中用于表示记录的一个或多个字段。 主键:唯一标识记录的一个或多个字段; 次键:不能唯一标识记录的字段。 2. 数据实体、属性和键
3.数据管理的传统方法 传统方法:为每个应用程序分别创建和存储数据文件的数据管理。 数据冗余:分散在多个文件中数据的重复。 数据完整性:任一文件中数据的正确程度。 程序-数据依赖性:为某个应用所开发及组织的程序和数据与为其他应用开发和组织的程序和数据不兼容。
数据 文件 应用程序 用户 工资 工资程序 报表 开票 开票程序 报表 库存 控制 库存控制 程序 报表 传统管理方法示意
数据库方法:一种数据管理方法,其中相关数据集合可由多个应用程序共享。数据库方法:一种数据管理方法,其中相关数据集合可由多个应用程序共享。 4.数据管理的数据库方法 传统方法:基于文件; 数据库方法:基于数据。 数据库方法的优点: 1.有效利用存储空间;增强数据完整性; 2.增强数据的灵活性; 3.增强数据共享能力。
1.数据建模和实体关系图 二、在数据库中组织数据 数据模型:表示实体及实体间关系的图形。 企业数据建模:在整个组织层次上进行数据建 模的方法。 实体关系图:作用基本的图形符号来表示组织及数据之间关系的图形。
10.1 文件组织 数据组织的层次 文件分类 数据的物理储存与传送 文件组织方式 10.2 数据库技术 传统的文件处理与数据库处理 数据库管理系统(DBMS) 数据库的类型 数据库模型与数据库组织结构 数据库设计 数据资源管理技术
第一节 数据库技术 一、数据管理技术及其发展 数据管理技术 发展阶段: 人工管理 文件系统 数据库系统 (一)人工管理阶段 该阶段处在20世纪50年代中期以前,这时期的数据管理呈以下特点: 1、数据不保存。 2、数据由应用程序管理。 3、数据不共享。 4、数据不具独立性。
一、数据管理技术及其发展 (二)文件系统阶段 20世纪50年代后期到60年代中期,数据结构和数据管理技术迅速发展起来。硬件方面有了磁盘、磁鼓等直接存取的外部存储设备;而软件中出现了操作系统和高级语言。操作系统中有了专门进行数据管理的软件,称为文件系统。 这一时期的数据管理的特点是: 1、数据可以长期保存。 2、数据由文件系统管理。 3、数据具有一定的独立性。 文件系统也存在以下缺点: 1、编程不方便。 2、数据冗余量大。 3、数据独立性差。 4、不支持并发访问。 5、数据缺少统一管理。
传统文件处理系统 用户 应用程序1 数据文件1 用户 应用程序2 数据文件2 用户 应用程序3 数据文件3 存在问题: 1、数据冗余与数据不一致性 2、数据联系弱 3、缺少数据字典,缺乏灵活性
一、数据管理技术及其发展 (三)数据库系统阶段 20世纪60年代以来,出现了统一管理数据的专门软件系统—数据库管理系统(DBMS,DataBase Management System)。 数据库阶段的数据管理特点是: 1、数据结构化。数据结构化是数据库与文件系统的根本区别。 2、较高的数据独立性。用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构。 3、数据共享。数据不再仅仅服务于某个程序或用户,而成为若干程序或用户的共享资源,由数据库管理系统统一管理与控制。 4、方便的用户接口。用户可以使用查询语句或终端命令操作数据库,也可以用程序方式操作数据库。 5、较强的数据控制能力。并发控制能力;恢复能力 ;完整性能力 ;安全性能力
数据库 用户 应用程序1 DBMS 中央 数据库 用户 应用程序2 用户 应用程序3 数据库处理系统 特点: 1、完善的数据字典和数据模型 2、数据独立性 3、方便的接口 4、完整的数据控制功能 5、提高了系统的灵活性
银行文件处理系统 银行数据库处理系统 客户财务 报表 帐户核对 处理 帐户核 对程序 客 户 交 易 处 理 文件修 改核对 .. 核对帐 户程序 存款帐 目程序 分期贷 款程序 客户票据 客户交易 存款处理 存款 程序 存款文 件修改 数 据 库 管 理 系 统 贷款分析 报告 分期贷款 处理 客户数据库 分期贷 款程序 分期贷款 文件修改
一、数据管理技术及其发展 (四)数据库发展新技术 数据库技术与具他领域的技术相结合,出现了数据库的许多新的分支,如:与网络技术相结合出现了网络数据库;与分布处理技术相结合出现了分布式数据库;与面向对象技术相结合出现了面向对象数据库;与人工智能技术相结合出现了知识库;与并行处理技术相结合出现了并行数据库;与多媒体技术相结合出现了多媒体数据库。 1、分布式数据库技术 分布式数据库系统(Distributed DataBase System,DDBS)是在集中式数据库基础上发展起来的,分布式数据库系统是地理上分布在计算机网络的不同节点,逻辑上属于同一系统的数据库系统,分布式数据库系统不仅能支持局部应用,存取本地节点或另一个节点的数据,而且能支持全局应用,同时存取两个或两个以上节点的数据。
一、数据管理技术及其发展 2、面向对象数据库技术 它的基本设计思想是:一方面把面向对象语言向数据库方向扩展,使应用程序能够存取并处理对象;另一方面扩展数据库系统,使其具有面向对象的特征,提供一种综合的语义数据建模概念集,以便对现实世界中复杂应用的实体和联系建模。 3、多媒体数据库 多媒体数据具有数据量大 、结构复杂 、数据传输的连续性 等特点。因而,多媒体数据库需要有特殊的数据结构、存储技术、查询和处理方式。 4、数据仓库 数据仓库,就是一种长期数据存储,这些数据来自于多个异种数据源。通过数据仓库提供的联机分析处理(OLAP)工具,实现各种粒度的多维数据分析,以便向管理决策提供支持。
二、数据库系统的组成 数据库管 理 系 统 用户 应用程序 数据库 用户 数据库管理员 用户 图6-1 数据库系统
二、数据库系统的组成 • 数据库 数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享。 • 数据库管理系统 数据库管理系统(DBMS)是介于用户和操作系统之间的一层数据管理软件,属于系统软件。数据库管理系统为数据库的建立、运行和维护提供了统一的管理和控制,是数据库系统的核心。
二、数据库系统的组成 • 应用程序 • 一个数据库应用可分为客户端应用程序和服务端应用程序两类。服务端应用程序运行在数据库服务器上,是真正存储和操纵数据的,它接受用户程序的请求,对数据进行不同的操作。客户端应用程序运行在客户端计算机上,实现用户的业务逻辑,通过客户端应用程序界面,用户可以发出不同的请求给服务器端,由服务端程序完成各种各样的操作。一般情况下,客户端和服务器端的程序通过标准SQL语言通信。 • 客户端应用程序根据使用者的不同,可以分成两类:一类是供数据库管理员使用,提供强大的图形界面和命令以便管理员最大程度的维护数据库的运转;另一类为程序开发人员使用,提供一整套完整的用户接口界面让开发人员通过程序实现操纵数据的目的,这些程序最终将提交给用户使用,即通常所讲的应用程序。
三、数据库系统的体系结构 为了有效地组织和管理数据,提高数据库的逻辑独立性和物理独立性,将数据库体系结构分为三级:面向用户或应用程序员的用户级(外部级)、面向建立和维护数据库人员的概念级和面向系统程序员的物理级(内部级)。用户级对应外模式,概念级对应模式,物理级对应内模式 。数据库系统的体系结构如下页图6-2所示。
模式 • 模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的全局视图。一个数据库只有一个模式。 • 外模式 • 外模式又称子模式或用户模式,对应于用户级。它是数据库用户(包括程序员和终端用户)所看到和使用的局部数据的逻辑结构和特征的描述,是数据库的用户视图。外模式是从模式中导出的一个子集,一个数据库可以有多个外模式。 • 内模式 • 内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库 。一个数据库只有一个内模式。
二级映射 • 为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映射:外模式—模式映射,模式—内模式映射。 • ①外模式—模式映射 • 外模式—模式映射定义了该外模式与模式之间的对应关系。这些映射定义通常包含在各自外模式的描述中。当模式改变时(例如增加新的属性、改变属性的数据类型时),只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变(因为应用程序是依据外模式编写的),从而保证了数据与应用程序的逻辑独立性。 • ②模式—内模式映射 • 模式—内模式映射定义了数据库全局逻辑结构与存储结构之间的对应关系。该映射定义通常包含在模式描述中。当数据的存储结构发生变化时,只需改变模式—内模式映射,就能保持模式不变,因此应用程序也可以保持不变,从而保证了数据与应用程序的物理独立性。
四、概念模型 • 概念模型用于对信息世界建模,是现实世界到信息世界的第一层抽象。 • (一)基本概念 • 1、实体 现实世界中的客观事物在信息世界中称为实体(Entity)。 • 属性:实体所具有的某一特性。 • 实体标识符:能够唯一标识一个实体的属性集,也称为关键码,简 称码或键。 • 域:属性的取值范围称为该属性的域。 • 实体型:用实体名及其属性名集合来抽象和刻画同类实体,即实体 的结构描述,称为实体型。 • 实体集:同型实体的集合称为实体集。
四、概念模型 2、实体联系:实体之间的相互关系,包括实体内部的联系和实体之间的联系。常见的实体联系可以有三种,如下图6-3所示: (a) 1:1 联系 (b) 1:N 联系 (c) M:N 联系 实体型A 实体型A 实体型A M 1 1 联系名 联系名 联系名 1 N N 实体型B 实体型B 实体型B 图6-3 两个实体型之间的三类联系
(二)概念模型的表示方法 实体-联系方法(Entity-Relationship Approach)用E-R图来描述现实世界的概念模型 实体联系模型反映的是现实世界中的事物及其相互联系。 1、实体(Entity) 描述客观事物的概念 表示方法: 实体名称 2、属性 "属性"指实体具有的某种特性。 表示方法: 属性
属性1 属性2 属性n 实体名称 3、联系 现实世界的事物总是存在着这样或那样的联系 表示方法: 联系 联系 实体1 实体2
病区 1 任职 1 科室主任 联系的类型 设A,B为两个包含若干个体的总体, 1、一对一联系 如果对于A中的一个实体,B中至多有一个实体与其发生联系,反之,B中的每一实体至多对应A中一个实体,则称A与B是一对一联系。 系 1 任职 1 系主任
1 n A 联系 B 2、一对多联系 如果对于A中的每一实体,实体B中有一个以上实体与之发生联系,反之,B中的每一实体至多只能对应于A中的一个实体,则称A与B是一对多联系。 教研室 1 联系 n 教师
m n A 联系 B 教师 m 教学 n 学生 3、多对多联系 如果A中至少有一实体对应于B中一个以上实体,反之,B中也至少有一个实体对应于A中一个以上实体,则称A与B为多对多联系。
E—R图建模 E—R图 实体及其联系 概念模型
E—R图绘制 1、利用分类、聚集、概括等方法抽象出实体,并一一命名。 2、描述实体之间的联系 3、实体属性和联系属性的说明 姓名 定稿时间 ISBN 页数 身份证号 出生地 书名 类别 写作 图书 作者 出版社 价格
举例:某工厂物资入库管理的概念模型。 • 物资管理涉及的实体有: • 供方单位:属性有单位号、单位名、地址、联系人、邮政编码 • 物资:属性有物资代码、名称、规格、备注 • 库存:属性有入库号、日期、货位、数量 • 合同:属性有合同号、数量、金额、备注 • 结算:属性有结算编号、用途、金额、经手人 • 这些实体间的联系包括: • 入库:一种物资可以分多次入库,所以是1:N联系 • 验收:一份合同订购的物资可以分多次验收,所以是1:N联系 • 购进:一次购进的物资可以经多次结算,而一次结算可以承办多次购进的物资,所以是多对多的联系。其属性为:数量、金额。 • 付款:也是多对多的联系。其属性是:数量、金额。 • 订货:这是一个数量超过两个的不同类型实体之间的联系。在订货业务中,一种物资可由多家供应,产生多笔合同。反之,一个供应单位可以供应多种物资,产生多笔合同,所以,在图中用M:N:L的结构来表示。其属性为:数量、单价。
该工厂的物资入库管理E-R图如下图6-4,6-5 所示: 图6-4 实体和联系的E-R图
入座 N 1 库存 物资 N M N 购进 验收 订货 L 1 M N 付款 M N 供方单位 合同 结算 图6-5 工厂物资入库管理E-R图
层次模型:数据按“自顶向下”的结构进行组织。层次模型:数据按“自顶向下”的结构进行组织。 项目1 部门A 部门B 部门C 员工1 员工2 员工3 员工4 员工5 员工6 数据模型分析
网状模型是层次模型的扩展,其中一个属记录可以有多个首记录。网状模型是层次模型的扩展,其中一个属记录可以有多个首记录。 网状模型 项目1 项目2 部门A 部门B 部门C
关系模型关系模型是最流行的数据库模型;关系模型是用标准表格形式描述数据;关系模型关系模型是最流行的数据库模型;关系模型是用标准表格形式描述数据; 所有数据元素存在于“关系”的二维表中。 关系数据: 以表格形式——行和列来组织数据的一种模型。 数据表1:项目表 数据表2:部门表 数据表3:经理表
五、数据模型 数据模型是直接面向数据库的逻辑结构,是对现实世界的第二层抽象。数据模型是数据库系统的核心和基础。 数据模型由三个基本的要素组成:数据的结构、数据的操作、数据的约束条件。 1、数据结构:数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,它们包括两类,一类是与数据类型、内容、性质有关的对象;另一类是与数据之间联系有关的对象。 2、数据操作:数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。 3、数据的约束条件 数据的约束条件是一组完整性规则的集合。
五、数据模型 (二)关系模型 关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。 1、关系模型的数据结构 在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
器件 库存 仓库 关系模型 (Relational Model) 用二维表表示实体与实体之间联系的模型。 器件 仓库 库存
关系:一个关系对应通常说的一张表。 • 元组:表中的一行即为一个元组。 • 属性:表中的一列即为一个属性。 • 主键(码):表中的某个属性组,它可以唯一确定一个元组。 • 域:属性的取值范围。 • 分量:元组中的一个属性值。 • 关系模式:对关系的描述成为关系模式,一般表示为关系模式: 关系名(属性1,属性2,…,属性n) 例如上面的关系可描述为: 教职工(职工号,姓名,出生日期,性别,学院,电话) 关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是:关系的每一个分量必须是一个不可再分的数据项。
(三)、E—R图向关系数据模型的转换 回顾 信息世界 实体 实体集合 及 实体 联系 相关属性集合 E-R模型 加工、转换 数 文件 据 记录 库 相关数据项集合 DBMS的数据模型 数据世界
关系模式 对关系的描述,用关系名 (属性1,属性2,…属性n)来表示。 eg. 库存(仓库号,器件号,数量) 仓库(仓库号,城市,面积) 转换过程示意图 E-R图 关系模型
转换方法和原则 1 、实体 相应转换为一个关系,实体名称作为关系名称,该关系包括对应实体的全部属性,并确定出该关系的关键字。 2、联系 a.联系具有属性: 联系名作为关系名,发生联系的实体的主关键字 作为联系的主关键字。 b.联系不具有属性: 不带有属性的联系可以去掉。
转换举例一 厂长号* 姓名 年龄 厂号* 厂名 地点 1 管理 1 厂长 工厂 厂长(厂长号,姓名,年龄) 工厂(厂号,厂名,地点) 管理(厂号,厂长号)
转换举例二 仓库号* 地点 面积 货号* 品名 价格 1 存放 n 仓库 产品 数量 仓库(仓库号,地点,面积) 产品(货号,品名,价格) 存放(仓库号,货号)
转换举例三 学号* 姓名 年龄 课程号* 课程名 学时数 m n 学习 学生 课程 成绩 学生(学号,姓名,年龄) 课程(课程号,课程名,学时数) 学习(学号,课程号,成绩)
五、数据模型 2、关系模型的操纵与完整性约束 关系模型给出了关系操作的能力。关系数据模型的操作主要包括选择、投影、连接、除、并、交、差等查询操作和插入、删除、修改操作两大部分。 为了维护数据库中数据与现实世界的一致性,这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。