热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

ArcSDE数据库架构设计

不知道题目该怎么起名字,害怕这个名字被大家误解,这个文档其实就是想给一些初学者在使用不同数据库,怎么组织SDE库与用户数据库,怎么多个用户来操作同一个库,相互用户的权限如何来分配等等信息。Oracle数据库如果是Oracle数据库,在安装完ArcSDE软件,

不知道题目该怎么起名字,害怕这个名字被大家误解,这个文档其实就是想给一些初学者在使用不同数据库,怎么组织SDE库与用户数据库,怎么多个用户来操作同一个库,相互用户的权限如何来分配等等信息。 Oracle数据库 如果是Oracle数据库,在安装完ArcSDE软件,

不知道题目该怎么起名字,害怕这个名字被大家误解,这个文档其实就是想给一些初学者在使用不同数据库,怎么组织SDE库与用户数据库,怎么多个用户来操作同一个库,相互用户的权限如何来分配等等信息。

Oracle数据库

如果是Oracle数据库,在安装完ArcSDE软件,Post完毕之后,在数据库里面有一个SDE表空间和SDE用户,那么对用户的数据来说该怎么存储呢?

方式一:扩大SDE表空间的容量,直接将用户的数据导入到SDE用户或者新建一个用户但是默认表空间还是SDE表空间,反正数据都灌入到SDE表空间里面。

缺点:将用户的数据和SDE的相关结构表放在一块,显然层次不分明,用户也容易误操作SDE的相关结构表。

方式二:也就是推荐的方式,如上图所示,用户可以创建存储自己数据的表空间,然后用户也可以创建属于该表空间的一个或者多个用户,该用户赋予connect和resource权限即可,当用户使用ArcCatalog进行用户连接时,用户的数据会存储在用户自己的表空间中,但是相关的信息(用户数据的表名称、表的列名称、数据投影等信息)会自动注册到SDE表空间中,这些步骤不用用户来操作,通过ArcGIS产品的相关接口会在后台自动进行相关处理,对初学者来说,这个方式往往让他们比较想不通,总感觉我的数据应该在SDE表空间里面才能进行相关的注册,放到其他表空间里面就会自动注册或者还需要进行额外操作,这一点就多虑了,用户可以根据上面的解释进行试验。

那么针对一个表空间的多个用户来说,权限问题一方面可以使用Oracle的数据库方式,那里面有相关的权限,不过也可以使用ArcGIS的方式来赋予相关的权限。

该功能用户可以在ArcToolbox工具或者其他地方都可以找到,如果是数据的拥有者也就是使用哪个用户创建或者导入的数据,可以赋予其他用户读(select)或者写(Edit)的权限,使用这种方法也是可以进行权限的操作的。

SQL Server数据库

对Oracle数据库来说,大家使用的比较多,但是对SQL Server数据库来说,就有些问题需要注意了。可能习惯Oracle数据库的用户在使用SQL Server数据库时对数据组织也喜欢走Oracle的老路子,就是当用户安装完ArcSDE软件,Post完毕后,系统会创建一个SDE的数据库,和SDE的用户,那么用户可以向创建一个新库,然后创建新库的用户,也用Oracle的方式导入数据,数据在新库里面存储,数据信息在SDE库里面注册,这样做是可以的,但是Esri在ArcGIS9.3时就已经不推荐用户进行这样组织了,因为这样效率比较低,怎么个低法呢?不解释,用户知道就可以了。所以以上全部是废话。

看一下上面的图,对SQL Server数据库来说,如果用户是一个库的话,建议将用户数据和SDE放在一块儿,也就是直接导入到SDE库里面,如果用户是希望多个库分开存储,建议为每一个库都创建相关的SDE Schema,如下所示:

再进行创建库时,修改新的Database name,然后针对每一个Database name创建相应的ArcSDE服务,在进行数据连接时,连接哪个库,我们在Database 填上相应的名称即可。

那么再说说SQL Server的用户,SQL Server数据库默认有一个sa用户,这是操作系统级别的用户,也有SDE用户,这是第一次创建ArcSDE库创建的用户,sa用户的SDE用户都是凌驾于所有库之上的,这两个用户可以连接所有SDE的库,也就是PPT上图上所示。那么针对每一个库我们也可以创建针对这个库的用户。

下面说说怎么给SQL Server数据库创建多用户?

对 SQL Server创建用户来说,只需要安装向导来创建即可,但是我也接到用户的咨询,在创建完新用户之后,可以使用新用户进行连接,但是往新用户里面导入相关数据会出现如下的一个错误:

出现这个错误的原因是:在创建新用户的时候,我们不能使用SDE或者DBO的架构,要在SDE数据库下或者拥有SDE Schema的数据库下来创建该用户的架构,然后选择该架构即可。

如上图所示:我想在SDE数据库中再创建一个除Sde外的其他用户,比如aaa,那么我首先要创建一个aaa的架构。

然后创建的aaa用户所在架构修改为aaa的架构即可。

详细参考:http://blog.csdn.net/linghe301/archive/2011/02/14/6183962.aspx

下面说明一下SQLServer导入数据的命名方式:数据库名.用户名.图层名,如下所示:

中间的名称为SDE,说明是SDE用户导入的,中间的名称为DBO,说明是Sa用户或者其他用户但是拥有sysadmin的权限,其他就是普通用户自己导入的。

-------------------------------------------------------------------------------------------------------

QQ一群: 78773981

QQ二群: 225989940
Blog: http://blog.csdn.net/linghe301
Weibo: http://www.weibo.com/linghe301

-------------------------------------------------------------------------------------------------------

推荐阅读
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
author-avatar
江西风起如斯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有