1. 目前主流的分布式資料庫系統實現方案有哪些
(1)方案一(資料庫保存所有伺服器索引信息)
全對稱結構,沒有中央伺服器
web方案:
只從本地資料庫檢索符合條件的記錄,給出結果
每次檢索都要從本地伺服器的海量數據中進行
資料庫方案:
資料庫保存所有伺服器的索引內容
緩存命中率高的記錄,減少檢索時間
伺服器負載分析:
伺服器負載假設:
一百個結點,每結點一百人同時使用,每個結點一萬條記錄
web伺服器:同時一百線程在本地資料庫伺服器檢索
資料庫伺服器:每次接收一百個查詢請求;每個請求要從一百萬條索引中檢索(最壞的情況);緩沖機制可以稍微減輕負擔
數據更新操作:
同時更新所有資料庫/只更新本地,伺服器間相互同步
方案二(資料庫保存本地索引及少量緩沖)
每高校作為一個結點
所有結點全對稱結構,網路中沒有一個中央伺服器
web方案:
接收到請求時同時多線程向其它伺服器同時搜索(伺服器壓力問題?)
資料庫方案:
資料庫保存本地數據
資料庫保存一定量緩沖數據,
伺服器負載分析:
伺服器負載假設:
一百個結點,每結點一百人同時使用
則每個web伺服器同時發起一萬個線程向其它數據伺服器搜索(oops!)
每個資料庫伺服器會同時接收到一萬個查詢請求(oops!)
採用學習過程只能少量減少查詢請求和web伺服器搜索線程
數據更新操作:
只更新本地
方案三(中央伺服器方案一)
每高校一個結點
每結點結構相同,連接到同一個中央伺服器
web方案
每個查詢向中央伺服器進行,由中央伺服器實行檢索,中央伺服器返回檢索結果
資料庫方案
中央資料庫保存所有索引信息
每結點可以只用小型資料庫保存本地用戶和其它信息即可
伺服器負載分析:
伺服器負載假設:
一百個結點,每結點一百人同時使用,每結點資料記錄一萬條
web伺服器:同時發起一百個進程向中央資料庫查詢
資料庫伺服器(中央):同時接收一萬條查詢請求並返回大容量結果
資料庫伺服器(結點):少量工作
數據更新操作:
只更新中央伺服器
方案四(中央伺服器方案二)
每高校一個結點
每結點結構相同,連接到同一中央伺服器
web方案:
每個查詢向中央伺服器進行,由中央伺服器根據查詢內容進行轉發到結點資料庫,再由結點資料庫返回結果
資料庫方案:
中央伺服器保存各結點分類信息,根據頁面請求的分類轉發查詢到相應伺服器
伺服器負載分析:
伺服器負載假設:
一百個結點,每結點一百人同時使用,每結點資料記錄一萬條,每結點一百個類別
web伺服器:同時一百個進程向中央資料庫查詢
資料庫伺服器(中央):同時接收一萬條請求並轉發
資料庫伺服器(結點):從中央伺服器接收查詢請求,最壞情況下每結點接收到一萬條查詢請求
數據更新操作:
只更新本地伺服器
分類變化時更新中央伺服器
2. 怎麼用sql server 2008建立一個電影資料庫用什麼數據類型
[翻譯:ASP.NET MVC 教程]用ASP.NET MVC 創建一個電影資料庫應用程序
本教程的目的是為你建立起怎樣構建ASP.NET MVC應用程序的理念。在本教程中,我從始至終快速構建起一個完整的ASP.NET MVC 應用程序。我向你展示了怎樣構建一個簡單的資料庫驅動的並且實現以列表方式顯示、創建以及編輯資料庫記錄的應用程序。
如果你已經有了Active Server Pages或ASP.NET的工作經歷,那麼你也會很快熟悉ASP.NET MVC。ASP.NET MVC的視圖與在一個Active Server Pages應用程序中的頁面極其相似。同時,就像一個傳統的ASP.NET Web Forms 應用程序那樣,ASP.NET MVC為你提供了一切經由.NET framework提供的豐富的語言集和類庫的訪問方式。
我希望本教程將給你一個構建ASP.NET MVC應用程序既簡單又有別於構建Active Server Pages或ASP.NET Web Forms 應用程序經歷的理念。
電影資料庫應用程序概覽
因為我們的目標是使事情變得簡單,我們將會構建一個非常簡單的電影資料庫應用程序。我們簡單的電影資料庫應用程序將允許我們做3件事:
1.以列表方式顯示電影資料庫記錄集
2.創建一個電影資料庫的新記錄
3.編輯一個已存在的電影資料庫記錄
再一次的,我們的目標是使事情變得簡單,我們將利用最小數量的ASP.NET MVC框架的特性來構建我們的應用程序。例如,我們將不使用測試驅動的(Test-Driven)開發模式。
為了創建我們的應用程序,我們需要完成以下的每一個步驟:
1.創建ASP.NET MVC Web應用程序項目。
2.創建資料庫
3.創建資料庫模型
4.創建ASP.NET MVC控制器
5.創建ASP.NET MVC視圖
准備工作
你需要Visual Studio 2008 或 Visual Web Developer 2008 Express來構建一個ASP.NET MVC應用程序。你同時也需要下載ASP.NET MVC framework。
如果你沒有自己的Visual Studio 2008,你可以從以下站點下載Visual Studio 2008的90天試用版:
http://msdn.microsoft.com/en-us/vs2008/procts/cc268305.aspx
可替代地,你可以使用Visual Web Developer 2008 Express來創建ASP.NET MVC應用程序。如果你決定使用Visual Web Developer 2008 Express來創建,那麼你必須安裝好Service Pack 1。你可以從以下站點下載Visual Web Developer 2008 Express with Service Pack 1:
http://www.microsoft.com/downloads/details.aspx?FamilyId=BDB6391C-05CA-4036-9154-6DF4F6DEBD14&displaylang=en
在你完成Visual Studio 2008 或 Visual Web Developer 2008的安裝後,你需要安裝ASP.NET MVC framework。你可以從以下站點下載ASP.NET MVC framework:
http://www.asp.net/mvc/
創建一個ASP.NET MVC Web應用程序項目
讓我們在Visual Studio 2008環境下開始創建一個新的ASP.NET MVC Web應用程序項目。選擇菜單File,New Project ,你將見到圖1中的新建項目對話框。選擇C#作為編程語言並且選擇ASP.NET MVC Web應用程序模版。將你的項目命名為MovieApp,點擊OK按鈕。
圖1:新建項目對話框
無論何時,當你要創建一個新的MVC Web應用程序項目,Visual Studio會提示你創建一個單獨的單元測試項目。在圖2中顯示了該對話框。因為我們出於開發時間限制就不在本教程中創建單元測試了(的確,我們對此有點內疚)。選擇No選項,點擊OK按鈕。
圖2:創建單元測試項目對話框
一個ASP.NET MVC應用程序有一套標准文件夾:Models,Views和Controller文件夾。你能在解決方案瀏覽器窗口中看見這套標准文件夾。為了構建我們的電影資料庫應用程序,我們需要在Models,Views和Controller文件夾中添加相應的文件。
當你用Visual Studio創建了一個新的MVC應用程序時,你會得到一個簡易的應用程序。因為我們想要從頭做起,我們需要從這簡易的應用程序中刪除一些內容。你需要刪除下列文件及文件夾:
•Controllers\HomeController.cs
•Views\Home
創建資料庫
我們需要創建一個資料庫用來容納我們的電影資料庫的記錄。幸運的是,Visual Studio包含了一個免費的資料庫軟體SQL Server Express。按以下步驟創建資料庫:
1.在解決方案瀏覽器中右擊App_Data文件夾,然後選擇菜單選項Add,New Item。
2.選擇Data分類,然後選擇SQL Server Database模板(見圖3)。
3.將你的新資料庫命名為MoviesDB.mdf,然後點擊Add按鈕。
在你創建資料庫後,你能連接該資料庫通過雙擊在App_Data文件夾中的MoviesDB.mdf文件。雙擊MoviesDB.mdf文件打開伺服器瀏覽窗口。
圖3:創建一個Microsoft SQL Server資料庫
下一步,我們需要創一個數據表。在伺服器瀏覽窗口中,右擊Tables文件夾並且選擇菜單選項Add New Table。選擇該菜單選項打開數據表設計器。創建以下數據欄位:
欄位名稱
數據類型
允許為空
Id
Int
False
Title
Nvarchar(100)
False
Director
Nvarchar(100)
False
DateReleased
DateTime
False
第一欄位,即Id欄位,有兩個特殊屬性。首先,你需要將Id欄位設定為主鍵。選擇Id欄位後,點擊Set Primary Key按鈕(該按鈕圖標看上去像把鑰匙)。其次,你需要將Id欄位設定為可識別欄位(Identity column)。在欄位屬性窗口中,滾動至Identity Specification部分並且展開它。將Is Identity屬性值設定為Yes。當你完成操作後,數據表看上去應像圖4那樣。
圖4:電影資料庫的數據表
最後一步為保存新建立的數據表。點擊Save按鈕(軟盤狀的圖標)並且將該表命名為Movies。
在你完成建表後,向表內添加一些電影記錄。右擊伺服器瀏覽窗口中的Movies表並且選擇菜單選項Show Table Data。鍵入一系列你最愛的電影記錄。(見圖5)。
圖5:鍵入電影記錄
創建數據模型
我們下一步需要創建一系列的類來代表我們的資料庫。我們需要創建一個資料庫模型。我們將利用Microsoft Entity Framework來自動為我們的資料庫生成類。
按照下列步驟進入實體數據模型(Entity Data Model)向導:
1.在伺服器瀏覽窗口中右擊Models文件夾,然後選擇菜單選項Add, New Item。
2.選擇Data分類,然後選擇ADO.NET Entity Data Model模板。
3.將該數據模型命名為MoviesDBModel.edmx,然後點擊Add按鈕。
在你點擊Add按鈕後,實體數據模型向導(見圖6)出現了。按照下列步驟完成向導:
1.在Choose Model Contents這步中,選擇Generate from database選項。
2.在Choose Your Data Connection這步中,使用MoviesDB.mdf數據連接,然後為該連接設定命名為MoviesDBEntities。點擊Next按鈕。
3.在Choose Your Database Objects這步中,展開Tables節點,選擇Movies表。鍵入命名空間Models,然後點擊Finish按鈕。
圖6:使用實體對象模型向導(Entity Data Model Wizard)生成一個資料庫模型
在你完成Entity Data Model Wizard後,Entity Data Model設計器打開了。該設計器顯示了Movies的數據表(見圖7)。
圖7:實體數據模型設計器
在我們繼續下一步前,我們需要做一處改動。實體數據向導生成了一個命名為Movies的模型類來代表Movies數據表。因為我們將要用Movies類來代表一個特別的電影,我們需要修改類名,將Movies修改為Movie(是單數形式而不是復數形式)。
雙擊位於設計器表面的類名並且將該類名從Movies改為Movie。修改後,點擊Save按鈕(軟盤狀的圖標)來生成Movie類。
創建ASP.NET MVC控制器
下一步將要創建ASP.NET MVC控制器。控制器代表了用戶與ASP.NET MVC應用程序交互的控制。
按照下列步驟:
1.在解決方案瀏覽窗口中,右擊Controllers文件夾,然後選擇菜單選項Add, Controller。
2.在Add Controller對話框中,鍵入名稱HomeController並且勾選復選框Add action methods for Create, Update, and Details scenarios(見圖8)
3.點擊Add按鈕,為你的項目添加新的控制器。
完成上述步驟後,在清單1中的控制器就創建好了。注意該控制器包含了名為Index, Details, Create, 和Edit的方法。在接下來的段落中,我們將添加必要的程序代碼是這些方法正常工作。
這是網址:http://www.cnblogs.com/Kinglee/archive/2009/07/14/1522901.html
你看下對你有用沒有?
3. 如何構建一個完善的資料庫,如何來處理表與表關系.
SQL Server本身就是一個完善的資料庫,提供可視化編程,後台完成所有拖放處理操作,不管有沒有數據都可以使用,不需要編譯。
一個比較合理的資料庫設計應該考慮數據的交互性和挖掘能力、處理效率以及日誌記錄。
建立數據表,注意以下幾點:
表建立的時候要有主鍵和索引,表與表之間要能使用主鍵相聯系,舉例說在A表裡我做完一次記錄要生成一個單號,B表裡面是依據單號來做下一個流程,而不是依據記錄的每一條數據
取名盡量使用英文+下劃線,SQL Server里對漢字需要轉碼,影響工作效率,按照他的默認編碼方式操作有助於提高數據處理速度
建立數據表的列數不要太多,用編碼規則來建立邏輯
注意欄位存儲空間,限制欄位長度,少用注釋和image
存儲過程盡量簡潔實用
建立視圖,為了別的客戶端使用,盡量建立視圖,做好完整的數據分析,別的介面程序或者客戶端直接就可以拿去使用。做視圖注意幾點:
多個表操作寫在一個視圖里,不要嵌套太多視圖
連接查詢要適當的篩選
跨伺服器操作視圖,要建立伺服器鏈接表,盡量使用內網鏈接,把伺服器鏈接表做成查詢視圖,放在本地伺服器資料庫里,這樣就等同本地操作
視圖之間保留連接欄位作為主要索引
建立計劃作業,有計劃地進行數據同步更新和備份標識工作,注意事項:
備份數據盡量放資料庫里同步復制
計劃任務避開工作高峰期
建立存儲過程,記錄操作日誌,把日誌以數據表的形式存儲,注意事項:
存儲過程對本表操作,不要交互太多表
精簡參數數量,注意參數存儲空間
對記錄修改刪除、更新標記的時候盡量使用時間來索引
建立關系圖,給表與表之間建立直接關系,整理整體挖掘數據性能。
建立計劃更新任務,優化資料庫整體性能。
4. 資料庫建設
(一)數據准備
1.數據收集
1∶25萬遙感地質填圖數據包含影像數據和矢量數據兩種格式,影像數據主要包括:TM原始影像、SPOT原始影像、SAR原始影像、TM與SPOT融合影像、TM與SAR融合影像、信息增強分類處理後的整幅影像或影像子區;矢量數據主要包括:航磁等值線影像、1∶25萬地形圖、地質圖、航磁解譯地質圖、遙感解譯單元圖、遙感解譯地質圖。現以新疆瓦石峽地區、內蒙古阿龍山地區為例,具體情況如下:
(1)瓦石峽地區
TM衛星影像
SAR衛星影像
航磁等值線(TIF)影像
航磁解譯地質圖
地質圖
遙感解譯影像單元圖
遙感解譯地質圖
(2)阿龍山地區
TM衛星影像
SPOT衛星影像
航磁等值線(TIF)影像
地質圖
航磁解譯地質圖
遙感解譯地質圖
2.數據預處理
1)影像數據處理,主要針對原始影像數據
(1)將TM原始影像、SPOT原始影像、SAR原始影像、航磁等值線(.JPG)數據格式轉換為ERDAS的.IMG格式。
(2)對轉換後的IMG文件進行投影轉換。投影系採用6度分帶的橫軸墨卡托(Transverse Mercator)投影,投影參數為:
Units:Meters
Scale Factor:1.0
Longitude Of Center:123 00 00
Latitude Of Center:0 00 00
False Easting:500 KM
False Northing:0 KM
Xshift:0
Yshift:0
橢球(spheroid)體採用克拉索夫(Krasovsky)橢球,參數為:
SemiMajor:6378245.0000 Meters
SemiMinor:6356863.0188 Meters
坐標系採用大地坐標,度量單位為米,這樣可以在GIS系統中方便的量算特徵的長度和面積。
(3)圖像坐標糾正
參照地形圖選擇同名點,對影像數據進行坐標精校正。同名點的選擇不少於12個。
2)矢量數據處理
工作主要針對地質圖、航磁解譯地質圖、遙感解譯單元圖、遙感解譯地質圖。
(1)數據分層
根據圖面特徵信息內容和制圖要求,每幅矢量圖按特徵類型劃分為點、線、面(區)三個圖層。劃分的依據是遙感地質解譯圖件的信息不完全等同於其他地質調查圖件,它表現的內容主要是:從影像圖中判讀出的地層、岩石影像單元及構造界線,但各種地質特徵的單位、時代、分類、度量、結構、方向等的描述不是十分具體,因此在屬性定義上比較一致,對一個圖件不需要產生基於同一特徵類型的專題圖層,因此按矢量特徵類型劃分較為合理、簡便。
(2)圖件掃描矢量化
將地質、影像單元等圖件掃描成 TIF影像文件,按照分層要求,將每個圖件數字化為點、線、面三個圖層文件。處理的圖件和產生的矢量圖層文件見表3-1至3-7。
表3-1 矢量圖層表
1∶25萬遙感地質填圖方法和技術
c.面特徵:由於影像單元圖的面特徵描述有其特殊之處,有時遵照地層、岩石的分類方法國家標准,但絕大部分是按照影像顏色、紋理等劃分和稱謂,因此進行分類編碼十分困難,有待進一步研究解決。
以上編碼方法是在每種特徵類型組合最大值和預留一定的擴充餘地的基礎上編制的,編碼方案參照國標:GB958—89區域地質圖圖例(1∶5萬)
(6)屬性定義
說明:由於地質代號的組成方式極為復雜,使用了上下角標、希臘字元、拉丁字母等,而這些字元和格式在純文本的屬性欄位中是不能完全或准確表達的,因此在錄入時對地質代號進行了一些簡化。
例如:Pt2xh簡化為Pt2xh
簡化為An1—3
(二)建立資料庫
GIS空間資料庫有兩種存儲形式:一是基於文件索引的傳統空間資料庫管理體系;二是採用商用關系資料庫的解決方案,二者各有千秋。第一種結構是對應用的集成,而數據是鬆散的,雖不利於數據的集中管理,但對不同系統平台之間共享數據提供了很大方便,特別是數據較少的小型應用系統。這種結構的另外一個可取之處是方案簡單,工作量小,不需要資料庫方面的專業知識。第二種結構既是應用的集成,也是數據的集成,並且提供所有的RDBMS的數據和安全管理優勢,但它需要專用的空間數據引擎,對其他軟體使用數據是一個極大的限制,必須進行數據的導入導出和格式轉換,並且要求使用者對RDBMS有一定的操作和管理經驗。
由於本集成系統採用的是ARC/INFO和ERDAS軟體,它們之間只能達到文件方式的數據共享,雖然ARC/INFO 8提供了GeoDataBase這種關系資料庫管理模式,實現真正的空間數據集中管理和RDBMS所有的數據管理能力,但為了滿足兩個軟體之間數據的交互處理,本系統採用文件索引形式的資料庫。在數據完備的基礎上,建庫工作需以下兩個步驟:
(1)首先創建基於項目的不同格式、不同類型的目錄樹工作區,把所有數據文件分類保存在這個工作區中,工作區框架以瓦石峽幅數據為例(圖3-5)。
(2)然後在 ARC/INFO 的 ARCMAP中新建一個 MAP DOCUMENT(以下簡稱為文檔),添加所有數據文件到文檔中。文檔中每個數據文件都被稱為一個 LAYER(以下簡稱為層),每個矢量層可以有它自己的環境,文檔可以保存環境的變化。使用者只需打開這個文檔即可調用項目所有的數據文件,並且恢復到上一次工作時的狀態。
圖3-5 數據分層結構圖
在MAP DOCUMENT這種集成的數據環境下,使用者可以採用ARC/INFO 8的ARCEDITOR、ARCMAP參照影像圖層進行矢量化的解譯工作,對已形成的圖件直接進行圖形和屬性編輯,進行輔助解譯的空間分析,對各種圖件進行疊加比較,使用文字標簽或屬性欄位標注特徵,按照分類符號化特徵,製作專題圖,列印輸出圖件報表等,實現一系列與遙感解譯有關的功能和操作。
由於ARC/INFO提供的地質圖式圖例和符號不能滿足我國的地質成圖要求,因此制圖軟體採用地質行業較為通用的MAPGIS。通過ARCTOOLS工具將最終的解譯成果矢量地質圖轉換為ARC/INFO的標准交換格式E00,提交給MAPGIS形成繪圖文件,出版印刷。具體的實施方案和技術流程見「成果圖件製作方法研究」一節。
5. 怎麼做資料庫
如下:
6. oracle資料庫怎麼創建XML方案
在oracle中提供了許多內置的程序包,它們用於擴展資料庫的功能。在開發應用程序時,可以利用這些程序包。資料庫用戶sys擁有oracle提供的所有程序包。他們被定義為共有同義詞,並將執行許可權授予了public用戶組,任何用戶都可以訪問它們。其中DBMS_XMLQUERY包用於將查詢結果轉換為XML格式,DBMS_LOB程序包包含雨處理大型對象的過程和函數。下面我們看一下DBMS_XMLQUERY和DBMS_LOB的用法:
SQL> DECLARE
result CLOB;
xmlstr VARCHAR2(32767);
line VARCHAR2(2000);
line_no INTEGER :=1;
BEGIN
result :=DBMS_XMLQUERY.getXml('select empno,empname from employee');
xmlstr :=DBMS_LOB.SUBSTR(result,32767);
LOOP
EXIT WHEN xmlstr IS NULL;
line :=SUBSTR(xmlstr,1,INSTR(xmlstr,CHR(10)-1));
DBMS_OUTPUT.PUT_LINE(line_no || ':' || line);
xmlstr :=SUBSTR(xmlstr,INSTR(xmlstr,CHR(10)+1));
line_no :=line_no + 1;
END LOOP;
END;
在上面的例子中我們聲明了一個CLOB數據類型的result變數,以及VARCHAR2類型的xmlstr和line兩個變數。其中,getXml函數用於將查詢結果轉換為XML格式,SUBSTR函數檢索子字元串,32767值指定要從CLOB數據類型讀取的最大位元組數。檢索到的字元串存儲xmlstr變數中。LOOP塊循環執行,每次從xmlstr中讀取一行。INSTR函數返回一個字元串在另一個字元串首次出現的位置。在此,該函數返回換行符在字元串中的位置,直到遇到下一行。
大家覺得例子的結果能不能讀出我們預期的結果呢?試試就知道了!!!
結果如下:
< ?xml version='1.0'?>
< ROWSET>
< ROW num="1">
< EMPNO>E001</EMPNO>
< EMPNAME>Jane</EMPNAME>
< /ROW>
<ROW num="2">
< EMPNO>E002</EMPNO>
< EMPNAME>John</EMPNAME>
< /ROW>
< ROW num="3">
< EMPNO>E003</EMPNO>
< EMPNAME>Joe</EMPNAME>
< /ROW>
< /ROWSET>
7. 資料庫建設方案及數據質量檢查標准
1 .制定調查資源整合方案
通過合理編碼方式理順各類數據間的關系,保證不同類別數據的緊密性,完整體現地學資料數據的多源性和空間性。
2.資料庫建設標准
根據資源整合方案,利用關系資料庫技術和空間資料庫技術,建立CO2地質儲存調查資料庫,有效儲存和管理各種空間數據和屬性數據,保證數據間的邏輯合理性,達到充分利用調查數據,並快速輸出數據的目的。
3.數據質量檢查標准及方法
根據資源整合方案,制定數據質量標准,開發相應質量檢查軟體,對數據進行質量檢查,確保入庫數據的有效性和合法性。