当前位置:首页 » 数据仓库 » 数据库中间层设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库中间层设计

发布时间: 2023-07-16 17:46:02

⑴ 中心数据库设计

5.2.2.1 数据库

根据该系统的开发需求,按照数据库的功能和作用将其分为风险查询类、风险评价类、系统管理类三大类(萨师煊等,2000)。主要数据见表5.5。

表5.5 海外油气与金属矿产资源开发风险管理系统的主要数据表

续表

5.2.2.2 数据仓库

油价数据来源于美国能源部(DOE)下属的能源信息署(EIA)网站、中石油(CNPC)网站和《华尔街日报》(WSJ)网站提供的油价数据,油价序列本身就是一个不规则的时间序列,油价数据具有以下几个特点。

(1)数据的一致性差

油价数据格式多样,存在数据冗余,主要体现在:使用的数据格式均不相同,并且各个子系统相对独立。在网站单独作用的情况下,一般都没有问题,但要将这些不同系统或不同时期的数据集中起来综合利用,就可能出现数据不齐全、不一致或重复的现象。

(2)数据存放的分散

油价数据来源多,缺乏统一管理,没有一种相应的网页数据自动化抓取操作实现数据的本地化操作过程。

(3)数据资源开发不充分

大容量数据导致对数据资源的开发利用不充分,缺乏对获取的数据如各分析机构制定的期货合约元数据进行各种深层次分析、综合、提炼、挖掘和展现的应用,因此很难对丰富的统计数据资源进行二次开发利用。

根据油价数据中所包含的油气产品种类、油气产品合约制定日期、油气产品的价格类型、不同市场下油气产品价格的差异等,能够加深对油价走势的了解。油价的这种与时间相关性、不可修改性,以及集成的性质,使得我们采用多种角度对原始数据进行理解,并真实反映其特性,也让我们发现使用一种整合的技术对油价进行精确预测十分必要。

数据仓库的构建流程如图5.13所示由下至上逐步实现。

图5.13 数据仓库构建流程

1)数据源。

A.数据源的复杂性。数据分散在数据库管理系统、电子表格、电子邮件系统、电子文档甚至纸上。系统中要求采集的3个数据源中,EIA 网站存储在网页上的油价相关事件更新较慢,虽然提供了各市场日、周、月、年的油价数据下载,但是下载完成之后的表格字段格式时常发生变化,这为实现自动获取数据并下载到本地自动入库的要求增加了难度;中石油网站数据除上述只显示3条数据之外,网站上会将访问流量过大的IP地址列入黑名单使其不能继续下载到本地进行保存,为这些数据建立统一的模型将会耗费很大精力。

B.数据的有效性。由于存在经验局限,如何处理数据的空值、不同时间间隔时间字段格式,入库时应注意的问题等,如果应用程序没有检验数据的有效性,会对数据多维显示产生极大影响,因此也归结为数据源数据质量问题。

C.数据的完整性。数据源上的数据并不那么明显或者容易获得。油价是高度敏感的数据,因此各个网站虽然提供了各个油品交易市场的日、月或年数据,但是完整性并不能充分保证,根据企业政策的不同,有时对要获得的数据,需花费大量精力。为此,要对不同的数据源进行建库,以保证所获数据的完整性。

2)数据处理。

高效的多维数据集展示离不开底层数据源数据的精确获取,或者叫做数据理解和数据清洗。于是系统在基于元数据获取、加工、入库和多维数据集展示上实现预期的要求。

A.ETL。该功能是整个油价数据仓库的核心之一,主要功能是按照事先定义的数据表对应关系从相关系统表中抽取数据(Extraction),经过数据清洗和转换(Transform),最终把正确的数据装载到数据仓库的源数据中(Load),作为以后应用的基础。

B.数据转换。该功能是在数据抽取过程中按照定义的规则转换数据,避免了数据在分析时的多样性,保证数据一致性。

C.数据集成。该功能主要是把油价信息数据仓库系统的源数据,按照事先定义的计算逻辑以主题的方式重新整合数据,并以新的数据结构形式存储。

3)数据存储。

星型模型(星型架构)是数据仓库开发中多维展现重要的逻辑结构,构成星型模型的几个重要特征是:维、度和属性,在实际应用中表示为事实表和维度表。在油价数据中,各市场的期现货价格表为数据仓库的事实表,油品类型、合约规定日期等为维度表。

油价数据仓库星型模型的设计方案如下:

A.事实表。数据库表中EIA的期现货价格表(包括日、周、月、年表)作为数据仓库中的事实表,根据不同时间维度构成多个星型模型,即星座模型。这些价格表中以市场编号、油气产品类型、期货合约日期、价格单位度量衡编号作为主键和外键与其他维度表相连,形成多维展示联动的基础,以油价数据和其他事实数据为记录数据,作为主要输出结果。

B.维度表。根据市场、油品、价格数据、度量衡和事件类型作为油气数据仓库中多维分析的角度和目标。

图5.14以EIA的日期货数据表作事实表为例,构建星型模型,其他不同时间维度的模型结构图与此图基本相同。

图5.14 以EIA数据为例的日期货价格星型模型

以星型模型设计为基础,完善数据存储中操作型数据存储(ODS)的原型设计,提供DB-DW之间中间层的数据环境,可实现操作型数据整合和各个系统之间的数据交换。

⑵ 数据库中间层

一般情况下数据库有三层,即:表示层、中间层、数据层;

中间层(WebServer)的作用是用户服务和数据服务的逻辑桥梁。它负责接受远程或本地的用户请求,对用户身份和数据库存取权限进行验证,运用服务器脚本,借助于中间件把请求发送到数据库服务器(即数据层),把数据库服务器返回的数据经过逻辑处理并转换成HTML及各种脚本传回客户端。

⑶ 主动数据库系统的结构和设计思想是什么

1.3. 数据库系统结构
从数据库管理系统的角度看,数据库系统通常采用三级模式结构。本节将介绍数据库系统的模式结构。

1.3.1. 模式的概念
模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到类型的描述,而不涉及到具体的值。模式的一个具体值称为模式的一个实例(instance)。同一个模式可以有很多实例。模式是相对稳定的,实例是相对变动的,因为数据库中的数据总在不断地更新。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

1.3.2. 三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、模式、内模式,这三级构成的。如图 1.4所示

图 1.4. 数据库系统的三级模式结构

模式(schema)
模式也称为逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用程序开发工具以及程序设计语言无关。

DBMS提供模式描述语言(模式DDL)来严格地定义模式。

外模式(external schema)
模式也称为用户模式或子模式,它是数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一特定应用有关的数据的逻辑表示。

外模式通常是模式的子集。一个数据库中可以有多个外模式。外模式是保证数据库安全性的一个有力措施,每个用户只能看见和访问到相应的外模式的数据,他看不见数据库中的其余数据。

DBMS提供外模式描述语言(外模式DDL)来严格地定义外模式。

内模式(internal schema)
模式也称为存储模式,一个数据库只能有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

DBMS提供内模式描述语言(内模式DDL)来严格地定义内模式。

1.3.3. 两级映像与数据独立性
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织工作留给了DBMS管理,使用户能够从逻辑层面上处理数据,而不必关心数据在计算机中的具体表示方式和存储方式。为了能够在内部实现这三个抽象层次的联系和转换,DBMS在这个三级模式之间提供了两级映像:

外模式/模式映像

模式/内模式映像

正是这两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

外模式/模式映像
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式的映像,它定义了该外模式与模式之间的对应关系。

当模式改变时,由数据库管理员对各个外模式/模式映像做相应的改变,就可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称为数据的逻辑独立性。

模式/内模式映像
数据库中只有一个模式,也只有一个内模式,所以模式/内模式的映像是唯一的。它定义了数据库全局逻辑结构与物理存储结构之间的对应关系。

当数据库的物理存储结构改变时,由数据库管理员对模式/内模式映像做相应的改变,就可以使模式保持不变。从而应用程序也不必改变。这样就保证了程序与数据的物理独立性,简称为数据的物理独立性。

在数据库的三级模式结构中,数据库模式,即全局逻辑模式是数据库的中心与关键,它独立于数据库的其他层次。因此,设计数据库模式结构时,应首先确定数据库的逻辑模式。

⑷ 如何用delphi做三层结构中的中间层。

1、调用DataModel中的控件必须在先引用Datemodel的单元,在implementation下面加入以下语句uses DataModel的单元名称;
2、必须改变窗体的创建顺序,datamodel窗体必须先于引用该窗体控件的窗体创建
三层结构
应用层:
一、需要三个数据控件:
Adoconnect
AdoQuery
DataSetProvider
二、联接顺序:
SQL数据库<--Adoconnect<--Adoquery<--DataSetProvider
三、属性设置:
Adoconnect:
1、ConnectionString
2、Connected
Adoquery:
1、connection
2、Active
DataSetProvider:
1、DataSet
2、option.poAllowCommand:=true

⑸ 数据库的三级模式和二级映像

一、数据库的三级模式:

1、模式

模式是由数据库设计者总和所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。

2、外模式

外模式对应于用户级,它是某个或某几个用户看到的数据库的数据视图,是与某一应用有关的数据逻辑的表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。

3、内模式

内模式对应于物理级,它是数据库中全部数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上存储方式的物理结构,对应着实际存储在外存储介质上的数据库。

二、数据库的二级映像:

数据库系统的三级模式是对数据的3个抽象,它把数据的具体组织留给DBMS管理,为了能够在内部实现着3个抽象层次的练习和转换,DBMS在这3个级别之间提供了两层映像:外模式/模式映像和模式/内模式映像。

1、外模式/模式映像使数据具有较高的逻辑独立性。它定义了外模式和模式之间的对应关系。这些映像定义通常包含在各自外模式的描述。

2、模式/内模式映像使数据具有较高的物理独立性。它定义了数据库全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式描述中。

(5)数据库中间层设计扩展阅读:

数据库的三级模式和二级映像的特性:

1、中间模式(概念模式)相对稳定的反映数据的结构和属性关系,是DB的关键和中心,全局的逻辑结构,独立于其他层次,故设计DB模式结构时应先确定DB逻辑模式。

2、模式的实例是动态反映数据的时效性。定义模式时要考虑逻辑结构,还要考虑数据的联系,考虑数据的安全性完整性。

3、内模式独立于用户视图(外模式),依赖全局逻辑结构(模式),组织存储数据实现存储时提高空间和时间效率。

4、外模式特定应用程序是在外模式数据结构上编制的,依赖于外模式,独立于模式和内模式,不同的应用可以公用一个外模式。

5、二级映像保证DB外模式稳定性,是在底层保证应用程序稳定性,除非应用自身变化,否则不会修改。