在Learning網(wǎng)站上看到了一個關(guān)于此問題比較好的回答,這里整理出來,分享一下 。
(一)結(jié)構(gòu)化數(shù)據(jù)
結(jié)構(gòu)化數(shù)據(jù)(有時稱為關(guān)系數(shù)據(jù)),是遵循某種嚴(yán)格架構(gòu)的數(shù)據(jù) , 因此所有數(shù)據(jù)都具有相同的字段或?qū)傩?。共享架構(gòu)允許使用 SQL(結(jié)構(gòu)化查詢語言)等查詢語言輕松搜索此類數(shù)據(jù) 。此功能使此數(shù)據(jù)樣式非常適合 CRM 系統(tǒng)、預(yù)留和庫存管理等應(yīng)用程序 。
結(jié)構(gòu)化數(shù)據(jù)通常存儲在具有行和列的數(shù)據(jù)庫表中,其中鍵列指示表中的一行與另一個表的另一行中的數(shù)據(jù)之間的關(guān)系 。下圖顯示了學(xué)生和班級的數(shù)據(jù),這些數(shù)據(jù)與他們的成績有關(guān) 。

文章插圖
【處理數(shù)據(jù)的軟件講解 什么是結(jié)構(gòu)化數(shù)據(jù)文件】結(jié)構(gòu)化數(shù)據(jù)很簡單,易于輸入、查詢和分析 。所有數(shù)據(jù)都遵循相同的格式 。但強制采用一致的結(jié)構(gòu)也意味著數(shù)據(jù)演變會更加困難,因為必須更新每個記錄才能符合新的結(jié)構(gòu) 。
一個結(jié)構(gòu)化數(shù)據(jù)的具體例子:
業(yè)務(wù)分析師希望實現(xiàn)商業(yè)智能 , 以計算庫存管道和查看銷售數(shù)據(jù) 。為了執(zhí)行這些操作,需要將多個月的數(shù)據(jù)聚合在一起,然后進(jìn)行查詢 。由于需要聚合類似數(shù)據(jù),因此必須對這些數(shù)據(jù)進(jìn)行結(jié)構(gòu)化處理,以便將一個月的數(shù)據(jù)與下個月的進(jìn)行比較 。(二)半結(jié)構(gòu)化數(shù)據(jù)
半結(jié)構(gòu)化數(shù)據(jù)的組織條理性與結(jié)構(gòu)化數(shù)據(jù)相比要弱,且由于字段并不完全符合表、行和列的結(jié)構(gòu),不會以關(guān)系格式存儲 。半結(jié)構(gòu)化數(shù)據(jù)包含突顯數(shù)據(jù)的組織和層次結(jié)構(gòu)的標(biāo)記 , 例如鍵/值對 。半結(jié)構(gòu)化數(shù)據(jù)也稱為非關(guān)系數(shù)據(jù)或 NoSQL 數(shù)據(jù) 。此樣式的數(shù)據(jù)的表達(dá)式和結(jié)構(gòu)由序列化語言定義 。
對于軟件開發(fā)人員來說,數(shù)據(jù)序列化語言非常重要,因為它們可用于將存儲在內(nèi)存中的數(shù)據(jù)寫入文件,并發(fā)送到另一個系統(tǒng)進(jìn)行分析和讀取 。發(fā)送方和接收方無需知道有關(guān)另一個系統(tǒng)的詳細(xì)信息,只要使用同樣的序列化語言,這兩個系統(tǒng)便可以理解數(shù)據(jù) 。
半結(jié)構(gòu)化數(shù)據(jù)常見格式有三種:XML、JSON、YMAL 。分別說明如下 。
XML,即“可擴展標(biāo)記語言”(extensible markup language) , 是首先獲得廣泛支持的一種數(shù)據(jù)語言 。它是基于文本的,這使得它很容易被人和機器閱讀 。此外,幾乎所有常用的開發(fā)平臺都可以找到它的分析程序 。XML 使你可以表達(dá)關(guān)系 , 并具有架構(gòu)、轉(zhuǎn)換甚至在 Web 上顯示的標(biāo)準(zhǔn) 。
以下示例用 XML 表示一個人的愛好 。
<Person Age="23"><FirstName>John</FirstName><LastName>Smith</LastName><Hobbies><Hobby Type="Sports">Golf</Hobby><Hobby Type="Leisure">Reading</Hobby><Hobby Type="Leisure">Guitar</Hobby></Hobbies></Person>XML 非常靈活,可以輕松表達(dá)復(fù)雜數(shù)據(jù) 。但是,它往往更加冗長,從而使存儲、處理或通過網(wǎng)絡(luò)傳遞的規(guī)模更大 。因此,其他格式變得更加熱門 。JSON,即“JavaScript 對象表示法”(JavaScript Object Notation) , 具有輕型規(guī)范,并依賴大括號來表示數(shù)據(jù)結(jié)構(gòu) 。它沒有 XML 那么冗長,且更易于閱讀 。Web 服務(wù)經(jīng)常使用 JSON 返回數(shù)據(jù) 。
下面是以 JSON 表示同一個人 。
{"firstName": "John","lastName": "Doe","age": "23","hobbies": [{ "type": "Sports", "value": "Golf" },{ "type": "Leisure", "value": "Reading" },{ "type": "Leisure", "value": "Guitar" }]}請注意,此格式不像 XML 那樣正式 。它比一個正式的數(shù)據(jù)表達(dá)式更接近鍵/值對模型 。顧名思義,JavaScript 內(nèi)置了對此格式的支持 , 這使得它在 Web 開發(fā)中非常熱門 。與 XML 一樣,其他語言也有可用于處理此數(shù)據(jù)格式的分析程序 。JSON 的缺點是它更傾向于面向程序員 , 使得非技術(shù)人員更難閱讀和修改 。YAML,即“YAML 不是一種標(biāo)記語言”(YAML Ain’t Markup Language),是一種比較新式的數(shù)據(jù)語言,因為它比較人性化 , 所以人氣迅速上漲 。數(shù)據(jù)結(jié)構(gòu)由分行和縮進(jìn)定義,并減少了對結(jié)構(gòu)化字符(如圓括號、逗號和方括號)的依賴 。
下面是以 YAML 表示的同一個人的數(shù)據(jù) 。
firstName: JohnlastName: Doeage: 23hobbies:- type: Sportsvalue: Golf- type: Leisurevalue: Reading- type: Leisurevalue: Guitar這種格式比 JSON 更具可讀性,通常用于需要由人編寫但由程序分析的配置文件 。然而,YAML 是最新的數(shù)據(jù)格式,在編程語言中沒有 JSON 和 XML 那么多的支持 。一個半結(jié)構(gòu)化數(shù)據(jù)的具體例子:
在線零售業(yè)務(wù)的產(chǎn)品目錄數(shù)據(jù)本質(zhì)上完全是結(jié)構(gòu)化數(shù)據(jù),因為每個產(chǎn)品都有產(chǎn)品 SKU、說明、數(shù)量、價格、尺寸選項、顏色選項、照片,并且可能還有視頻 。因此,這些數(shù)據(jù)最初似乎具有相關(guān)性,因為它們都具有相同的結(jié)構(gòu) 。但在推出新產(chǎn)品或不同類型的產(chǎn)品時,隨著時間的推移 , 可能需要添加不同的字段 。例如,推出的新網(wǎng)球鞋支持藍(lán)牙 , 可以將傳感器數(shù)據(jù)從鞋傳送到用戶手機上的健身應(yīng)用 。這種趨勢日益上升,你希望將來能夠讓客戶篩選“支持藍(lán)牙”的鞋子 。你不想返回到最初階段,更新所有現(xiàn)有的鞋類數(shù)據(jù) , 在其中添加“支持藍(lán)牙”屬性,只想在新鞋中添加該屬性 。(三)非結(jié)構(gòu)化數(shù)據(jù)
通過添加“支持藍(lán)牙”屬性 , 在架構(gòu)中引入了差異,因此鞋類數(shù)據(jù)不再是同源數(shù)據(jù) 。如果這是你預(yù)計會遇到的唯一例外,則可返回去將現(xiàn)有數(shù)據(jù)標(biāo)準(zhǔn)化,使所有產(chǎn)品都包含“支持藍(lán)牙”字段,維持結(jié)構(gòu)化的關(guān)系組織形式 。但是 , 如果這只是你預(yù)計未來需要提供支持的眾多特性字段之一,則應(yīng)將數(shù)據(jù)歸為半結(jié)構(gòu)化類型 。數(shù)據(jù)按標(biāo)記組織,但目錄中的每個產(chǎn)品都可包含唯一字段 。
非結(jié)構(gòu)化數(shù)據(jù)的組織結(jié)構(gòu)難以發(fā)現(xiàn) 。非結(jié)構(gòu)化數(shù)據(jù)通常以文件形式提供,例如照片或視頻 。視頻文件本身可具有整體結(jié)構(gòu)并且具有半結(jié)構(gòu)化元數(shù)據(jù),但是包括視頻文件本身在內(nèi)的數(shù)據(jù)是非結(jié)構(gòu)化數(shù)據(jù) 。因此 , 將照片、視頻和其他類似文件歸類為非結(jié)構(gòu)化數(shù)據(jù) 。
非結(jié)構(gòu)化數(shù)據(jù)示例包括:
- 媒體文件(如照片、視頻和音頻文件)
- Office 文件(如 Word 文檔)
- 文本文件
- 日志文件
產(chǎn)品頁面上顯示的照片和視頻是非結(jié)構(gòu)化數(shù)據(jù) 。盡管媒體文件可能包含元數(shù)據(jù),但媒體文件的正文是非結(jié)構(gòu)化的 。概括來說,結(jié)構(gòu)化數(shù)據(jù)是完全符合表中的行和列結(jié)構(gòu)的組織化數(shù)據(jù) 。半結(jié)構(gòu)化數(shù)據(jù)也具有組織性且有明確的屬性和值,但數(shù)據(jù)存在多樣性 。非結(jié)構(gòu)化數(shù)據(jù)并不符合表結(jié)構(gòu),也沒有架構(gòu) 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- Excel自動填充學(xué)號的便捷方法
- 解決OBS直播沒有聲音的問題
- 手把手教你做超好吃的甲魚湯 甲魚湯怎么做好喝又營養(yǎng)
- 制作金箔文字和邊框效果的Word封面
- 如何打造一個整潔有序的電腦桌面
- 不是錢的事 淄博燒烤店停業(yè)三天 老板:保命要緊
- 如何在WORD文檔中插入多行多列的表格
- 手機內(nèi)屏與外屏的區(qū)別
- 水煮肉片的做法 水煮肉片的家常做法
- 新解決Windows 10中javac未識別為內(nèi)部或外部命令的方法
