當基於oracle或是sql server安裝arcsde後,一般會生成十幾張以gdb_開頭的系統表,這些表一般為sde中資料資訊的描述,以下為本人對其中幾張主要表的一點理解:
1、gdb_objectclasses表:記錄所有sde中註冊過的普通表、featureclass,一般包括name和id欄位,name為在arccatalog中所看到的名字,id為唯一標識,以後關於此物件的所有資料(如f表、s表)資訊都以該id表示;若刪除該表中的某條記錄,則該記錄所對應的表在arccatalog中將無法看到。
2、gdb_featureclasses表:為所有空間表(featureclass)的描述資訊,一般包括 objectclassid,featuretype,geometrytype,shapefield等字段,objectclassid與 gdb_objectclasses中的id相對應,featuretype為特徵型別(如:1為向量,2為柵格等),geometrytype為空間幾何體型別(如:1為點,2為線等),shapefield為該空間表中空間圖形儲存的欄位名(一般為shape,在建立時也可定義為別的);若刪除該表中的某條記錄,則該記錄所對應的featureclass在arccatalog中將無法看到。
3、gdb_featuredataset表:該錶記錄sde中featuredataset資訊,包括owner,name等;刪除該表中的某條記錄,則該記錄所對應的featuredataset在arccatalog中將無法看到。
4、gdb_fieldinfo表:為sde中所有表的字段資訊,一般包含classid、fieldname,aliasname,iseditable等字段,可直接通過操作此表來修改表或featureclass的字段的名稱和別名。
5、gdb_domains表:sde中的domain物件,具體可檢視該錶結構,若了解domain,則比較容易理解該錶。
6、gdb_subtypes表:sde中的subtype物件,具體可檢視該錶結構,若了解subtype,則比較容易理解該錶。
7、gdb_rastercatalogs表:該錶記錄sde中的rastercatalog的元資料資訊,一般包含 objectclassid,rasterfield,israsterdataset, 其中,objectclassid與gdb_objectclasses中的id對應,rasterfield為在rastercatalog表中儲存 raster的字段,israsterdataset標識是否為rasterdataset。
另外,sde中的系統表還有十幾張,但和我們應用關係最密切的主要為上面幾張,其它的系統表,可以通過oracle client或是pl/sql檢視。
清理ArcSDE系統表
專案實施員經常有用plsql刪除使用者或空間表等操作,但是arcsde系統表卻記錄了已經註冊的表資訊,如果不清理,會導致用catalog開啟sde這些資料集和表都還存在,但是卻不能做任何操作,新建同名圖層 表等提示失敗。通過清理sde的系統表可以避免以上問題出現。清理sde系統表指令碼 delete...
系統表的字段說明
列名 資料型別 描述 name sysname 物件名id int物件標識號 物件型別。可以是下列物件型別中的一種 c check約束 d 預設值或default約束 f foreign key 約束 l 日誌 fn 標量函式 if 內嵌表函式 p 儲存過程 xtype char 2 pk prim...
ArcSDE中A表和D表
空間資料首先應該在資料庫中登錄檔中註冊乙個tableid 登錄檔為sde.table registry,sde表空間下的表sde.table registry 得到registration id,然後在登錄檔的表空間下有a表和d表,新增的記錄就在a表中,而刪除的記錄就在d表中,而在資料重新讀取時,會...