灵魂腐蚀 发表于 2015-1-16 22:41:15

MYSQL网页设计基于Oracle Spatial的时态空间数据库设...

当然,或许这并不是我们拒绝MySQL的一个有说服力的MySQL学习教程,但是对于一些比较守旧的IT经理来说,在为一些关键业务选择平台的时候,平台的成熟性却是必须要考虑的一个因素,在这一点上,MySQL无疑毫无优势。oracle|计划|数据|数据库|数据库计划
需求条件:数据每一年变更1~2次,软件估计性命周期50年

理论情况:OracleSpatial



术语表:时空工具,快照

时空工具:一个地舆方针从出生到灭亡所履历的空间和工夫局限及其属性信息。这是一个为处置时空数据便利而笼统出来的观点,相称于全信息模子中的全信息工具。为了了解时空工具,我们以二维地物为例。二维地物在二维空间中占有必定的空间局限,体现为一个二维多少体,也就是它的多少属性。假如再增添一条工夫轴,成为(x,y,t)坐标系,并以为任何的空间工具都有出生和灭亡,则这个二维地物就在(x,y,t)坐标系中占有了必定的三维空间。我们就把二维地物从出生到灭亡这一工夫段所占有的空间-工夫局限称之为“时空工具”。同理,也能够将时空工具扩大为三维的空间工具在工夫维度上的持续,也就是四维工具。时空工具的属性信息是一张二维表。

快照:一个地舆方针在某一特准时刻所占有的空间局限及其属性信息,大概说:时空工具在某一特定的时候所占有的空间局限及其响应的属性信息。举例来讲,舆图上绘制了一个饭铺的地位,巨细,这就是饭铺的一个快照。由于饭铺是从某一时候才出生的,又会在某一时候灭亡,而在出生和灭亡之间,还大概会搬家或扩建。以是舆图上反应的仅仅是饭铺在某一时候的形态,以是称之为饭铺在某一时候的快照或时空工具在某一特准时刻的快照。注重,快照老是对应于某一特定的时候,不然将得到快照的意义。快照的属性信息是时空工具属性信息表中的一笔记录。



计划偏向:

以时空工具的观点构造空间数据和属性数据,使得对地物变迁汗青的查询和剖析成为大概。

对使用层屏障汗青数据的处置历程,将汗青数据的处置看成数据库模块的功效之一。



手艺要点:

1、Oracle包变量的会话自力性

2、静态视图手艺(基于函数的视图)



图形讲授:


工夫

空间

工具出生工夫



察看偏向



以后察看工夫



工具灭亡工夫



快照3



快照2



快照1



时空工具(工具一)

工具三

工具二












从以上表示图中能够明晰地看出,每个时空工具都是由多个快照纪录所形貌的。察看者的每次察看都是基于一个特定的察看工夫的。比方,图示中的察看者应当看到工具一的快照2和工具三的快照2,而没法看到工具二和工具1、三的其他快照纪录。看不到工具二是由于在此察看工夫之前,工具二已灭亡。看不到工具一的快照1是由于工具一有更新的察看数据快照2能够更好地近似反应工具二在以后察看工夫所处的形态。



数据表:数据表的计划基于以上观点

工具表



Obj_id

NUMBER

时空工具标识号

<PK>

Start_time

DATE

工具出生工夫



End_time

DATE

工具灭亡工夫



Obj_Attr

VARCHAR2(100)

工具属性数据

会因工夫的流逝而产生变更的属性信息。















快照纪录表



Obj_id

NUMBER

时空工具标识号

<FK>

Snap_id

NUMBER

快照数据的独一序号

<PK>

Snap_time

DATE

快照工夫



Snap_end

DATE

快照停止工夫

属于统一时空工具的比来的下一条快照的快照工夫。设置此列的目标是为了查询便利。

Geom.

MDSYS.SDO_GEOMETRY

快照多少数据



Attr

VARCHAR2(100)

快照属性数据

会因工夫的流逝而产生变更的属性信息。

































存储历程:

使用Oracle中包变量的会话自力性,在包中创建以下几个基础的存储历程:设置以后察看工夫,猎取以后察看工夫,使用以后察看工夫和传进的Snap_time,Snap_end参数判别快照纪录是不是可见(Snap_Filter)。



视图:创建在快照纪录表上的视图,基于存储函数Snap_Filter完成对表中纪录的选择。传进参数为:Snap_time,Snap_End.,前往值为此快照是不是可见。



SELECTObj_id,Snap_time,Geom,Attr

FROM快照纪录表

WHERESnap_Filter(Snap_time,Snap_end)>0;



Obj_id

NUMBER

时空工具标识号



Snap_time

DATE

快照工夫



Geom.

MDSYS.SDO_GEOMETRY

快照多少数据



Attr

VARCHAR2(100)

快照属性数据













触发器:

视图上的触发器,使使用层用户能够在视图中拔出,修正,删除数据。

要点:1、保护表中数据时要制止呈现工夫悖论,形成工夫逻辑凌乱。

2、快照纪录表中的Snap_end列的保护略微贫苦一些,应胆小如鼠。



扩大与变更:

1、撑持多种察看形式。

为了查询功效的天真性,能够增添几个扩大功效的存储历程:设置以后的察看形式,猎取以后的察看形式,重写Snap_Filter函数以撑持多种察看形式。

比方:

【工具汗青追溯形式】此时以后察看工夫这一参数生效,Snap_Filter的举动产生变更,视图中看到的是某一(或某几个)指定工具的一切快照。这类形式便于对单个工具的全部汗青变迁历程加以追踪。

【工夫段察看形式】此时必要设置的察看工夫不是一个工夫点,而是一个工夫段。Snap_Filter的前往值也有了更丰厚的寄义,能够用分歧的数字(比方:1,2,4)暗示某一快照纪录在以后工夫段入手下手,开头,两头的可见性。这类形式能够用于必要对两个分歧工夫点的数据举行对照的场所。

2、增添工具干系表以形貌时空工具之间的接洽

时空工具之间大概会有林林总总的接洽,比方:变更,交融,决裂等。可经由过程以下表格加以形貌。



时空工具干系表

Obj_1

NUMBER

时空工具标识号

<PK><FK>

Obj_2

NUMBER

时空工具标识号

<PK><FK>

Relation_type

NUMBER

干系范例

<PK>









利用办法:

假如是查询最新信息,即察看工夫为体系以后工夫,则间接会见视图便可。

假如是查询汗青数据,只需在数据毗连会话中挪用存储历程来设置以后察看工夫,其效果是一切视图中可见的纪录汇合都是以后察看工夫点可见的纪录,其他纪录不会呈现在视图中。


这些过程被存储和运行在数据库服务器上,以减少在客户端的处理过程,从而最大限度地提高了处理能力,因为通常情况下数据库服务器会运行地更快。存储过程并不是MySQL独有的功能,但是这个最近新增加的功能使得这个数据库比以前更具吸引力了。

若天明 发表于 2015-1-19 21:13:57

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

飘灵儿 发表于 2015-1-28 10:59:15

入门没那么困难,精通没那么容易

再见西城 发表于 2015-2-5 20:40:45

再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。

小魔女 发表于 2015-2-13 11:48:53

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

飘飘悠悠 发表于 2015-3-3 20:55:03

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油

因胸联盟 发表于 2015-3-11 13:38:46

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。

分手快乐 发表于 2015-3-18 14:43:17

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

兰色精灵 发表于 2015-3-26 00:25:41

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
页: [1]
查看完整版本: MYSQL网页设计基于Oracle Spatial的时态空间数据库设...