基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-数据库设计
先打一個(gè)廣告:我的獨(dú)立博客網(wǎng)址是:http://wuyouqiang.sinaapp.com/。
我的新浪微博:http://weibo.com/freshairbrucewoo。
歡迎大家相互交流,共同提高技術(shù)。
?
數(shù)據(jù)庫(kù)設(shè)計(jì)
??? 這篇文章介紹自己做這個(gè)項(xiàng)目時(shí)設(shè)計(jì)的數(shù)據(jù)庫(kù)。
??? 管理空間數(shù)據(jù)的方式有很多,本系統(tǒng)采用基于Oracle的空間數(shù)據(jù)庫(kù)插件SDE來管理。存放空間數(shù)據(jù)的表結(jié)構(gòu)是根據(jù)用戶自定義標(biāo)準(zhǔn)來創(chuàng)建的,采用這種方式主要因?yàn)榭臻g數(shù)據(jù)并沒有固定的格式,不同格式的空間數(shù)據(jù)需要建立不同的表結(jié)構(gòu)來存放數(shù)據(jù),而且這樣是管理空間數(shù)據(jù)更加靈活。
本系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)主要是管理空間數(shù)據(jù)需要用到的輔助表結(jié)構(gòu)設(shè)計(jì),由于這些表結(jié)構(gòu)都比較簡(jiǎn)單就沒有設(shè)計(jì)ER圖了,而是直接設(shè)計(jì)表邏輯結(jié)構(gòu)了。
(1)管理人員信息表(USERS):設(shè)計(jì)此表的目的是對(duì)管理人員的信息進(jìn)行統(tǒng)一的管理,管理人員的信息有用戶名、密碼、部門等,如表1-1所示。
表1-1 管理人員信息表
| Name | Code | Data Type | Length | 說明 |
| USERNAME | USERNAME | VARCHAR2(30) | 30 | 用戶名 |
| PASSWORD | PASSWORD | VARCHAR2(30) | 30 | 用戶密碼 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(100) | 100 | 描述 |
| DEPARTMENT | DEPARTMENT | VARCHAR2(40) | 40 | 部門 |
| TYPE | TYPE | VARCHAR2(10) | 10 | 用戶類型 |
(2)數(shù)據(jù)分類表(CATEGORY):此表的作用是記錄空間數(shù)據(jù)的分類,分類的方法可能是根據(jù)不同的用處或是不同的功能來劃分,此表結(jié)構(gòu)定義如表1-2所示。
表1-2 數(shù)據(jù)分類表
| Name | Code | Data Type | Length | 說明 |
| ID | ID | NUMBER | ? | 分類編號(hào) |
| NAME | NAME | VARCHAR2(30) | 30 | 分類名稱 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(100) | 100 | 分類描述 |
(3)圖層分類表(ELEMENT):圖層分類是建立在數(shù)據(jù)分類基礎(chǔ)下的,把具有相同或相似功能的圖層分為一類,這個(gè)表就是來記錄有關(guān)圖層分類的詳細(xì)信息,如分類名稱、分類描述等,具體定義如表1-3所示。
表1-3 圖層分類表
| Name | Code | Data Type | Length | 說明 |
| ID | ID | NUMBER | ? | 分類編號(hào) |
| NAME | NAME | VARCHAR2(50) | 50 | 圖層分類名稱 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(500) | 500 | 圖層分類描述 |
| CATEGORY | CATEGORY | VARCHAR2(30) | 30 | 數(shù)據(jù)分類 |
| DATASETNAME | DATASETNAME | VARCHAR2(50) | 50 | 數(shù)據(jù)集 |
(4)圖層信息表(LAYER):此表是用于管理圖層相關(guān)信息的,如圖層編號(hào)、圖層所對(duì)應(yīng)的表名稱、圖層類型等,如表1-4所示。
表1-4 圖層信息表
| Name | Code | Data Type | Length | 說明 |
| ID | ID | NUMBER | ? | 圖層編號(hào) |
| TABLE_NAME | TABLE_NAME | NVARCHAR2(160) | 160 | 表名稱 |
| TABLE_MAPNAME | TABLE_MAPNAME | NVARCHAR2(160) | 160 | 映射表名稱 |
| DESCRIPTION | DESCRIPTION | NVARCHAR2(200) | 200 | 描述信息 |
| TYPE | TYPE | VARCHAR2(10) | 10 | 圖層類型 |
| PID | PID | NUMBER | ? | 圖層分類 |
(5)操作日志表(OPTLOG):此表用于記錄數(shù)據(jù)管理員對(duì)數(shù)據(jù)庫(kù)的各種操作,以便查看數(shù)據(jù)管理員以前的操作記錄,表結(jié)構(gòu)定義如表1-5所示。
表1-5 操作日志表
| Name | Code | Data Type | Length | 說明 |
| USERNAME | USERNAME | VARCHAR2(30) | 30 | 操作用戶名 |
| TYPE | TYPE | VARCHAR2(20) | 20 | 操作類型 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(200) | 200 | 操作描述 |
| OPTTIME | OPTTIME | DATE | ? | 操作時(shí)間 |
(6)數(shù)據(jù)更新日志表(UPDATEDATA_LOG):這個(gè)表唯一作用是記錄哪些表被更新過,用于數(shù)據(jù)庫(kù)之間的同步,如表1-6所示。
表1-6 數(shù)據(jù)更新日志表
| Name | Code | Data Type | Length | 說明 |
| ID | ID | NUMBER | ? | 日志編號(hào) |
| TABLENAME | TABLENAME | VARCHAR2(50) | 50 | 被更新的表名稱 |
| TABLETYPE | TABLETYPE | VARCHAR2(10) | 10 | 表的類型 |
| OPERTYPE | OPERTYPE | VARCHAR2(10) | 10 | 更新類型 |
| OPERDATE | OPERDATE | DATE | ? | 更新時(shí)間 |
(7)數(shù)據(jù)庫(kù)監(jiān)控日志表(ALERT_LOG):監(jiān)控?cái)?shù)據(jù)庫(kù)時(shí),如果發(fā)現(xiàn)異常就把異常信息寫入此表,數(shù)據(jù)庫(kù)管理員可以根據(jù)此表來解決異常和優(yōu)化數(shù)據(jù)庫(kù)。詳細(xì)定義如表1-7所示。
表1-7 數(shù)據(jù)庫(kù)監(jiān)控日志表
| Name | Code | Data Type | Length | 說明 |
| HAPPENTIME | HAPPENTIME | DATE | ? | 異常發(fā)生時(shí)間 |
| TYPE | TYPE | VARCHAR2(40) | 40 | 異常類型 |
| CONTENT | CONTENT | VARCHAR2(200) | 200 | 具體內(nèi)容 |
(8)圖層表結(jié)構(gòu)定義表(FIELDDEFINE):此表是用于記錄圖層對(duì)應(yīng)的表結(jié)構(gòu)信息,如表名稱、字段名稱、字段類型等,完整定義如表1-8所示。
表1-8 圖層表結(jié)構(gòu)定義表
| Name | Code | Data Type | Length | 說明 |
| TABLE_NAME | TABLE_NAME | VARCHAR2(40) | 40 | 表名稱 |
| NAME | NAME | VARCHAR2(40) | 40 | 名稱 |
| ALIAS_NAME | ALIAS_NAME | VARCHAR2(60) | 60 | 別稱 |
| TYPE | TYPE | VARCHAR2(20) | 20 | 類型 |
| LENGTH | LENGTH | NUMBER | ? | 字段的長(zhǎng)度 |
| SCALE | SCALE | NUMBER | ? | 小數(shù)位 |
| ISNULL | ISNULL | VARCHAR2(4) | 4 | 是否空 |
| UNI | UNI | VARCHAR2(4) | 4 | 是否唯一 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(80) | 80 | 字段描述 |
| CHECKDEFINE | CHECKDEFINE | VARCHAR2(100) | 100 | 字段約束 |
| DEFAULTVALUE | DEFAULTVALUE | VARCHAR2(40) | 40 | 默認(rèn)值 |
(9)圖層表之間字段關(guān)聯(lián)表(RELATION):這個(gè)表用于維護(hù)圖層表之間的關(guān)聯(lián)關(guān)系,當(dāng)一個(gè)表的數(shù)據(jù)更新了程序可以通過查詢這張表來級(jí)聯(lián)更新與之有關(guān)聯(lián)的表,保證數(shù)據(jù)的完整性和一致性。這個(gè)表結(jié)構(gòu)定義如表1-9所示。
表1-9 圖層表之間字段關(guān)聯(lián)表
| Name | Code | Data Type | Length | 說明 |
| FIRST | FIRST | VARCHAR2(50) | 50 | 主表 |
| SECOND | SECOND | VARCHAR2(50) | 50 | 關(guān)聯(lián)表 |
| BITS | BITS | NUMBER | ? | 字段關(guān)聯(lián)的位數(shù) |
(10)數(shù)據(jù)庫(kù)監(jiān)控索引表(MONITORINDEX):此表是為了記錄有關(guān)索引相關(guān)信息而設(shè)計(jì)的,通過這個(gè)表的信息可以決定是否優(yōu)化數(shù)據(jù)庫(kù)。這個(gè)表的定義如表1-10所示。
表1-10 數(shù)據(jù)庫(kù)監(jiān)控索引表
| Name | Code | Data Type | Length | 說明 |
| INDEX_NAME | INDEX_NAME | VARCHAR2(50) | 50 | 索引名稱 |
| DEL_LF_ROWS | DEL_LF_ROWS | NUMBER | ? | ? |
| LF_ROWS | LF_ROWS | NUMBER | ? | ? |
| RATE | RATE | NUMBER(4,2) | ? | 比率 |
| MONITORDATE | MONITORDATE | DATE | ? | 監(jiān)控日期 |
(11)運(yùn)行維護(hù)制度表(OPERATION_MAINTAIN):這個(gè)是為了記錄運(yùn)維的制度而設(shè)計(jì)的。如表1-11所示。
表1-11 數(shù)據(jù)庫(kù)監(jiān)控索引表
| Name | Code | Data Type | Length | 說明 |
| PUBDATE | PUBDATE | DATE | ? | 發(fā)布日期 |
| TITLE | TITLE | VARCHAR2(100) | 100 | 主題 |
| CONTENT | CONTENT | CLOB | ? | 內(nèi)容 |
(12)元數(shù)據(jù)庫(kù)信息表(DATABASEINFO):為了記錄元數(shù)據(jù)庫(kù)的相關(guān)信息設(shè)計(jì)了此表,主要記錄了元數(shù)據(jù)庫(kù)名稱、元數(shù)據(jù)庫(kù)描述等,如表1-12所示。
表1-12 元數(shù)據(jù)庫(kù)信息表
| Name | Code | Data Type | Length | 說明 |
| ID | ID | VARCHAR2(20) | 20 | 元數(shù)據(jù)庫(kù)的ID編號(hào) |
| NAME | NAME | VARCHAR2(30) | 30 | 元數(shù)據(jù)庫(kù)名稱 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(200) | 200 | 元數(shù)據(jù)庫(kù)描述 |
| CONNECTDRIVER | CONNECTDRIVER | VARCHAR2(50) | 50 | 元數(shù)據(jù)庫(kù)連接驅(qū)動(dòng) |
| CONNECTSTRING | CONNECTSTRING | VARCHAR2(100) | 100 | 元數(shù)據(jù)庫(kù)連接字符串 |
| MAPNAME | MAPNAME | VARCHAR2(40) | 40 | 元數(shù)據(jù)庫(kù)映射名稱 |
(13)目錄信息表(DIRINFO):設(shè)計(jì)此表為了對(duì)元數(shù)據(jù)按目錄進(jìn)行分類管理,此表就是記錄目錄相關(guān)信息,如表1-13所示。
表1-13 目錄信息表
| Name | Code | Data Type | Length | 說明 |
| SYSID | SYSID | VARCHAR2(40) | 40 | 系統(tǒng)ID編號(hào) |
| ID | ID | VARCHAR2(40) | 40 | ID編號(hào) |
| NAME | NAME | VARCHAR2(60) | 60 | 目錄名稱 |
| DESCRIPTION | DESCRIPTION | VARCHAR2(500) | 500 | 目錄描述 |
| PID | PID | VARCHAR2(40) | 40 | 父目錄ID編號(hào) |
| DEFINE | DEFINE | VARCHAR2(100) | 100 | 定義 |
(14)元數(shù)據(jù)標(biāo)準(zhǔn)信息表(METASTAND):用于記錄元數(shù)據(jù)標(biāo)準(zhǔn)相關(guān)信息,可以根據(jù)記錄的標(biāo)準(zhǔn)創(chuàng)建元數(shù)據(jù)庫(kù)和一條相應(yīng)的元數(shù)據(jù)信息,如表1-14所示。
表1-14 元數(shù)據(jù)標(biāo)準(zhǔn)信息表
| Name | Code | Data Type | Length | 說明 |
| ID | ID | VARCHAR2(20) | 20 | 元數(shù)據(jù)標(biāo)準(zhǔn)ID |
| NAME | NAME | VARCHAR2(50) | 50 | 元數(shù)據(jù)標(biāo)準(zhǔn)名稱 |
| CONTENT | CONTENT | CLOB | ? | 元數(shù)據(jù)標(biāo)準(zhǔn)內(nèi)容 |
| ORG | ORG | VARCHAR2(60) | 60 | 元數(shù)據(jù)標(biāo)準(zhǔn)發(fā)布組織 |
| VERSION | VERSION | VARCHAR2(60) | 60 | 元數(shù)據(jù)標(biāo)準(zhǔn)版本 |
轉(zhuǎn)載于:https://www.cnblogs.com/brucewoo/archive/2011/11/25/2262495.html
總結(jié)
以上是生活随笔為你收集整理的基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-数据库设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: F#基础教程 大纲
- 下一篇: C#几个经常犯错误汇总