谈谈我对“空间数据库”的看法。
一提到“空间数据库”,大家就会想到oracle spatial、arcsde、SuperMap SDX+ 等,实现了GIS图形数据的数据库存储和管理,但仅仅有这些,还不能称其为“空间数据库”,下面列举几点,来说明我的观点:
1,空间数据的完整性。这个问题没有得到很好的解决。所谓“完整性”,就是数据的正确性和一致性,在关系型数据库中,有“实体完整性”、“参照完整性”、“用户自定义完整性”;在空间数据库中,语义层面的空间数据的正确性和一致性,就很难界定,它要比关系型属性数据复杂得多。打个比方,一条道路横跨一条河流,必然经过一座桥,而如果不经过,就必然违背了空间数据的正确性,也就是说“不完整”。这只是一个很简单的例子,类似于这样的空间语义关系,是需要空间数据库提供“用户自定义完整性约束”,以保证空间数据的完整性;但目前所谓的“空间数据库”还很难保证这一点,arcsde能从“图形”层面保证几何规则的完整性,但还很难从语义层面保证空间语义的完整性。
2,空间查询的执行效率。一个带有空间和属性的混合查询,是先进行空间查询,再进行属性查询,还是反过来,先进行属性查询,再进行空间查询,还是多个步骤交错进行,这是一个值得思考的问题,怎样作查询效率才更高?
3,空间数据的物理存储。物理存储,关系到空间数据添加删除修改的性能,而目前,空间数据是以二进制对象或字符等形式,交给关系型数据库来管理的,屏蔽了物理层的存储细节,粒度较大;同时,空间聚簇与数据更新存在矛盾,如果这些问题交给关系型数据库来处理,还很难得到较好的解决,需要单独针对空间数据实现物理存储的管理。
以上三点表明,不是空间数据存储在数据库里,实现数据的共享,就是所谓的“空间数据库”,空间数据挖掘,也是提高空间数据库智能化水平的手段。空间数据库是目前一个很重要的研究领域,还不成熟,有很多工作要作,还需要大家继续努力研究。
本文探讨了空间数据库的关键问题,包括空间数据完整性、空间查询执行效率及物理存储方式,并指出当前技术如OracleSpatial、ArcSDE等存在的不足。
349

被折叠的 条评论
为什么被折叠?



