1.0 簡介 本**簡要的**了xml和資料庫
之間的關係,同時列出一些可以使用資料庫處理xml文件的。 雖然這裡不打算詳盡地介紹這些軟體,但是筆者希望它能夠描述使用資料庫處理xml文件中的主要部分。這裡有點偏向與
關聯式資料庫,因為我的經驗如此。 2.0 xml是資料庫嗎? 在開始討論xml和資料庫之前,我們需要回答乙個縈繞在很多心頭的問題: "xml是資料庫嗎?"在嚴格意義上將,如果"xml"是指xml文件時,答案是"否"。儘管xml文件包含了資料,但是如果沒有其他的軟體來處理這些資料,它對於資料庫的意義和其他文字檔案沒有什麼區別。 如果在更為寬泛一些的意義上將,當"xml是指xml文件以及所有相關的xml的工具和技術時,答案則是"是"。 之所以肯定是由於xml提供了許多資料庫中所需要的部分:儲存(xml文件),結構(dtd,xml schema語言),查詢語言(xql, xml-ql, quilt等), 介面(sax, dom),等等。不過...xml還缺少很多在真實的資料庫中所必備的內容: 有效的儲存、索引、、交易、資料完備性、多使用者訪問、觸發、多文件查詢等。因此如果在資料量一般、使用者較少、效能要求不高的環境下可以把xml當作資料庫來使用;而在大多產品的環境中,要求有許多的使用者使用、需要嚴格的資料完整性並且對效能有很高的要求,xml就不能勝任了。而且,考慮到象dbase和等資料庫既便宜又十分易用,因此甚至在第一種情況下xml都很少有理由充當資料庫的角色。 3.0 為什麼使用資料庫?當在考慮使用xml和資料庫時,第乙個要問自己的問題應該是:為什麼我需要使用資料庫?你需要將原有的資料匯出?你需要儲存你的web主頁?你是要在乙個電子商務應用中使用資料庫,而且其中xml當做傳輸的資料格式?這些問題的答案都將直接影響到你對資料庫和中介軟體(如果有的話)的選擇。 例如,假設你在電子商務應用程式中使用xml來進行資料傳輸。這是很好的方案,因為你的資料具有高度規範的結構,而xml中的那些實體和編碼對你而言並不重要了。畢竟樣你關心的僅僅是資料而不在於這些資料如何在文件中進行物理的儲存。如果你的應用程式相對比較簡單的話,
關聯式資料庫和資料傳輸中介軟體將可以滿足你的需求;如果應用程式龐大而且複雜,那麼你就需要乙個完全支援xml的開發環境了。 從另一方面來說,假設你有乙個從零散的xml檔案建立的。你不僅需要管理這個**,你還要提供方法讓使用者可以查詢其中的內容。這時你的檔案將非常的不規範,而實體的使用對你來說將變得很重要,因為這些檔案的結構是**的根本。在這個例子中,你就需要某類"原生xml"資料庫可以執行版本化、跟蹤實體的使用並且支援如xql這樣的查詢語言。 4.0 資料和文件的對比 筆者認為,在選擇資料庫時,最重要的判斷因素可能是你是利用資料庫來儲存資料還是儲存文件。如果你想儲存資料,你需要的資料庫主要是面向資料儲存(例如
關係型資料庫或者物件導向型資料庫)以及在資料庫和xml文件
之間相互轉換。從另乙個角度來將,如果你想儲存文件,你需要乙個專門用來儲存檔案的內容管理系統。 雖然你可以自己把檔案儲存在
關聯式資料庫或物件導向資料庫中,可是你常會發現你的工作是在重複內容管理系統的功能。類似的,雖然乙個內容管理系統通常是建立在物件導向資料庫或
關聯式資料庫之上,但要是把乙個內容管理系統當做資料庫來使用就可能非常的令人困1
類之間的關係(1 使用關係和組合關係)
組合關係中的建構函式和析構函式的呼叫順序 組合關係中呼叫成員的帶引數的建構函式 之前的章節我們介紹了單個類有關的知識。在程式中如果出現多個類,那麼它們之間會表現出一定的關係。粗略的看,類之間有以下幾種關係 使用關係是比較弱的關係,就是說a類使用了b類的功能 方法 在 層面,a類可能以如下方式使用了b...
Http和Socket之間的和關係
一 先說下http網路協議棧 二 連線過程 三 重點來了,tcp套接字程式設計,也就是所謂的socket 四 通過比較發現http和socket完全是兩個不同的概念,http是應用層的,socket是傳輸層和網路層的,http要基於socket實現。httpclient的預設請求超時時間為60s。五...
類和物件之間的關係
從日常生活中看物件 其實物件這個名次對我們來說一點也不陌生,因為我們的日常生活中。隨處可見的都是物件,小到地上的一粒沙,大到中國的萬里長城,埃及的金字塔,所有的東西都是物件 萬物皆物件 我們之所以會對物件這個詞比較陌生,是因為我們平時不直接這麼稱呼它們,那麼我們平時是怎麼稱呼這些物件呢?通常我們會以...