
- ArangoDB 教程
- ArangoDB - 首頁
- 多模型優先資料庫
- ArangoDB – 優勢
- 基本概念與術語
- ArangoDB – 系統要求
- ArangoDB – 命令列
- ArangoDB - Web 介面
- ArangoDB - 案例場景示例
- 資料模型與建模
- ArangoDB - 資料庫方法
- ArangoDB - CRUD 操作
- 使用 Web 介面進行 CRUD 操作
- 使用 AQL 查詢資料
- ArangoDB - AQL 示例查詢
- ArangoDB – 如何部署
- ArangoDB 有用資源
- ArangoDB - 快速指南
- ArangoDB - 有用資源
- ArangoDB - 討論
ArangoDB - 資料模型與建模
在本章中,我們將重點介紹以下主題:
- 資料庫互動
- 資料模型
- 資料檢索
ArangoDB 支援基於文件的資料模型以及基於圖的資料模型。讓我們首先描述基於文件的資料模型。
ArangoDB 的文件非常類似於 JSON 格式。一個文件包含零個或多個屬性,每個屬性都附加一個值。值可以是原子型別,例如數字、布林值或空值、文字字串,也可以是複合資料型別,例如嵌入式文件/物件或陣列。陣列或子物件可以包含這些資料型別,這意味著單個文件可以表示非平凡的資料結構。
在層次結構中,文件被組織成集合,這些集合可以不包含文件(理論上)或包含多個文件。可以將文件比作行,將集合比作表(這裡的表和行指的是關係資料庫管理系統 - RDBMS 的表和行)。
但是,在 RDBMS 中,定義列是將記錄儲存到表中的先決條件,稱這些定義為模式。然而,作為一個新穎的功能,ArangoDB 是無模式的——沒有先驗的理由來指定文件將具有哪些屬性。
並且與 RDBMS 不同,每個文件的結構都可以與另一個文件完全不同。這些文件可以一起儲存在一個集合中。實際上,集合中的文件之間可能存在共同的特徵,但是資料庫系統,即 ArangoDB 本身,不會將您繫結到特定的資料結構。
現在我們將嘗試理解 ArangoDB 的[圖資料模型],它需要兩種型別的集合——第一種是文件集合(在群論語言中稱為頂點集合),第二種是邊集合。這兩種型別之間存在細微的差別。邊集合也儲存文件,但它們的特徵是包含兩個唯一的屬性,_from 和 _to,用於建立文件之間的關係。在實踐中,一個文件(讀取邊)連結兩個文件(讀取頂點),兩者都儲存在其各自的集合中。這種架構源於圖論中帶標籤的有向圖的概念,不包括不僅可以有標籤,而且本身可以是完整的 JSON 文件的邊。
要計算新的資料、刪除文件或操作它們,可以使用查詢,這些查詢根據給定的條件選擇或過濾文件。無論是像“示例查詢”一樣簡單,還是像“連線”一樣複雜,查詢都用 AQL - ArangoDB 查詢語言編寫。