天天看點

結構化、半結構化以及非結構化資料

存儲在資料庫中的資料是結構化資料,因為它是以嚴格的格式表示的。例如,在關系資料庫表中的每條記錄,例如《資料庫系統基礎:初級篇》中圖5.6的EMPLOYEE表,該表中的所有記錄都遵循同一格式。對于結構化資料,為了建立資料庫模式,一般都應用如《資料庫系統基礎:初級篇》中第3、第4、第7、第10和第11章中所描述的那些技術來詳細設計資料庫。然後DBMS将進行檢查以確定所有資料遵循模式中所指定的結構和限制。

但是,并不是所有的資料都能被彙集并都能插入到設計好的結構化資料庫中。在某些應用中,在知道資料将被如何存儲和管理之前,就已經以特定的模式彙集。這些資料可能有特定的結構,但不是所有彙集來的資訊都有同樣的結構。可能某些屬性會被多個實體所共享,但另一些屬性可能僅存在于少量實體中。此外,在一些較新的資料項中随時可能會被引入附加屬性,而且沒有預先設計好的模式。這種類型的資料稱為半結構化資料。為了表示半結構化資料,已經引入了大量的資料模型,這些模型一般都是基于樹或圖資料結構,而不是基于平面關系模型結構。

[color=red]結構化資料和半結構化資料的關鍵差別在于模式結構(例如屬性、聯系和實體類型的名稱)是如何被處理的。[/color]在半結構化資料中,模式資訊與資料值混合在一起,因為每個資料對象可能有不同的、預先無法知道的多個屬性。于是,這種類型的資料有時被稱為自描述資料。考慮下面這個示例。我們想要彙集一份關于某研究項目的參考文獻的清單。這些文獻有些可能是書或技術報告,有些可能是期刊或會議論文集中的研究文章,有些甚至可能是整份期刊或會議論文集。顯而易見,它們中的每一種都可能有不同的屬性和不同的資訊類型。就算是對于同類型的參考文獻,例如會議論文,我們也有可能得到不同的資訊。例如,一篇文章的引證或許非常完整,有着關于作者姓名、題目、論文集、頁碼等的完整資訊,而其他文章的引證或許沒有這樣完整的資訊。未來或許會出現新類型的參考文獻來源,比如說網頁或會議手冊,而這些新類型的參考文獻來源可能會有新的屬性來描述它們。

半結構化資料可以用有向圖來表示,如圖10-1所示。圖10-1中顯示的資訊與《資料庫系統基礎:初級篇》的圖5-6中顯示的結構化資料是對應的。我們可以看到,這種模型在表示複雜對象和嵌套結構的能力方面與對象模型(見圖4-1)是類似的。圖10-1中,用帶箭頭直線上的标号或标簽表示模式名:屬性名、對象類型(或實體類型或類)以及聯系。内部結點表示單個對象或組合屬性。葉結點表示簡單(原子)屬性的實際數值。

繼續閱讀