NoSQL革命已經(jīng)進(jìn)入了關(guān)系世界。您可能正在使用關(guān)系數(shù)據(jù)庫(kù),但仍必須查詢(xún)和理解隱藏在文本列、JSON或 XML文檔中的半結(jié)構(gòu)化數(shù)據(jù)。
隱藏的數(shù)據(jù)復(fù)雜性
讓我們看一下我們用于從Calendly(在線會(huì)議預(yù)訂軟件)導(dǎo)入數(shù)據(jù)的下表:
表面上看起來(lái)很簡(jiǎn)單,只有五列。但是,如果您查看內(nèi)部,您會(huì)注意到其中兩列實(shí)際上是(JSON) 文檔存儲(chǔ)。
如果您查看文檔,您會(huì)發(fā)現(xiàn)數(shù)據(jù)模型的大部分字段和復(fù)雜性都隱藏在這兩個(gè)文本列中。因此,要了解數(shù)據(jù)結(jié)構(gòu),僅查看列列表是不夠的,還必須了解此數(shù)據(jù)中JSON 文檔的結(jié)構(gòu)。
記錄JSON
我有個(gè)好消息- Dataedo可以幫助您。您可以自動(dòng)提取和記錄JSON 文檔的結(jié)構(gòu),并將它們鏈接到表列。
首先,您需要將JSON 文檔添加到目錄中。在存儲(chǔ)庫(kù)導(dǎo)航器中單擊數(shù)據(jù)庫(kù),選擇添加對(duì)象和添加/導(dǎo)入結(jié)構(gòu)。
然后選擇“粘貼文檔”選項(xiàng),以便能夠自動(dòng)解析JSON。
現(xiàn)在,粘貼列中的任何JSON 文檔。它應(yīng)該是有代表性的,即擁有所有(或大部分)的領(lǐng)域。如果它是一個(gè)正確的文檔,那么您會(huì)注意到Dataedo 將格式檢測(cè)為JSON。單擊“導(dǎo)入”以添加文檔的結(jié)構(gòu)。
Dataedo將打開(kāi)一個(gè)窗口,其中包含解析的文檔的結(jié)構(gòu)。您可以在此處對(duì)其進(jìn)行修改(將其添加到存儲(chǔ)庫(kù)后也可用)- 添加、重命名或刪除字段或更改類(lèi)型。為結(jié)構(gòu)提供一個(gè)名稱(chēng)- 最好包含格式,例如event_type.json。
現(xiàn)在,您可以將新結(jié)構(gòu)保存到存儲(chǔ)庫(kù)中。
這將創(chuàng)建名為“具有新添加結(jié)構(gòu)的結(jié)構(gòu)”的新文件夾。您可以像瀏覽任何其他對(duì)象一樣瀏覽其字段。您還可以使用描述、標(biāo)題或自定義字段來(lái)記錄字段。
鏈接文檔和列
好的,您有一個(gè)JSON文檔的文檔?,F(xiàn)在,您需要指定表列包含特定文檔。為此,您可以使用手動(dòng)關(guān)系(主要用于定義外鍵/連接)。右鍵單擊該列,然后選擇添加關(guān)系?,F(xiàn)在,在PK表字段中,從列表中選擇相關(guān)文檔,在PK列字段中選擇PK(或任何其他)列并保存關(guān)系。
您會(huì)在“參考文獻(xiàn)”列中注意到引用的文檔。您還可以在“關(guān)系”選項(xiàng)卡上找到這些鏈接。
最終結(jié)果
您的工作已完成。您記錄了存儲(chǔ)在數(shù)據(jù)庫(kù)中的JSON 文檔,并解釋了哪些字段包含這些文檔。此方法允許您將一個(gè)文檔鏈接到多個(gè)列。
下面是HTML 文檔中的視圖。您會(huì)注意到,很容易看到列包含文檔并導(dǎo)航到其定義。
也很容易找出特定文檔在數(shù)據(jù)庫(kù)中的使用位置。
審核編輯:劉清
-
XML
+關(guān)注
關(guān)注
0文章
188瀏覽量
33756 -
JSON
+關(guān)注
關(guān)注
0文章
122瀏覽量
7401 -
nosql
+關(guān)注
關(guān)注
0文章
39瀏覽量
10311
原文標(biāo)題:Dataedo教程:記錄關(guān)系數(shù)據(jù)庫(kù)中的半結(jié)構(gòu)化(JSON、XML)數(shù)據(jù)
文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
SQLSERVER數(shù)據(jù)庫(kù)是什么
MySQL數(shù)據(jù)庫(kù)是什么
非結(jié)構(gòu)化數(shù)據(jù)中臺(tái):企業(yè)AI應(yīng)用安全落地的核心引擎
分布式云化數(shù)據(jù)庫(kù)有哪些類(lèi)型
MySQL數(shù)據(jù)庫(kù)的安裝

關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型區(qū)別
云數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類(lèi)型?
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫(kù)表記錄丟失的數(shù)據(jù)恢復(fù)流程

bds 系統(tǒng)的優(yōu)缺點(diǎn) bds與傳統(tǒng)數(shù)據(jù)庫(kù)的區(qū)別
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—通過(guò)拼接數(shù)據(jù)庫(kù)碎片恢復(fù)SQLserver數(shù)據(jù)庫(kù)

何為T(mén)eable多維表格數(shù)據(jù)庫(kù),它僅僅是一個(gè)在線的智能表格嗎?
架構(gòu)師日記-從數(shù)據(jù)庫(kù)發(fā)展歷程到數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)探析

數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

評(píng)論