# <h1 style="text-align: left"> <font face="noto serif TC"> Obsidian 資料庫 </font> </h1> <br> <br> <br> <div style="text-align: right">── 2025.06.27 @ Obsidian 工作坊</div> --- # Summary - 概念說明 - 筆記屬性/建置資料庫/介紹 Dataview 套件 - 機上操作 - 設定筆記屬性/設定 Dataview/建立第一個資料庫 - 問題與討論 --- ### 筆記屬性 - 在 Markdown 語言中,每一份文件的==第一行==可以輸入 `---` 來形成 `YAML` 區域。 - yaml 區域要求在文件的第一行開始:輸入 `---`可以開啟yaml 區域 - 所有YAML內容結束後,再以 `---` 收尾,夾住的內容就是這份文件的屬性。 --- ### 筆記屬性 ```markdown= --- title: #在 title 輸入標題,可以設定文件的標題 tags: #tags輸入標籤,可以設定文件的標籤 - 標籤一 - 標籤二 date: #在 date 輸入日期,可以設定文件的日期。預設格式為:年年年年-月月-日日;例如:2025-06-21 author: #在 author 輸入人名,可以設定文件的作者 --- ``` --- #### 練習一:新增一份帶有特定屬性的文件 ```markdown --- title: "練習一:新增一份帶有特定屬性的文件" tags: - 練習一 - YAML - 自學筆記 - 程式語言 date: 2025-06-21 author: TreeZi --- ``` - 開啟新的筆記,將上述的內容複製貼到新筆記上。 - 🔔 注意:請記得貼在**文件第一行**。 - 👉 顯示行號:`選單` → `編輯器` → `顯示行號` ✅ --- ### 建置資料庫 - 釐清想要 ==怎麼管理資料== - 先規劃好==資料庫的邏輯== - 哪些筆記要具備哪些屬性? --- #### 練習二:建置資料結構圖 1. 條列自己的工作流程(如果是寫作,條列自己的寫作流程), 2. 思考每個工作流程需要什麼樣類型的筆記。 3. 條列這些筆記需要具備哪些屬性。 4. 將上述的事項畫成「流程圖」。 --- #### 練習二:建置資料結構圖 ![我的工作流程視覺圖](https://hackmd.io/_uploads/S1deo2vNeg.png) --- ### 介紹 Dataview 套件 - 安裝套件 [Dataview](obsidian://show-plugin?id=dataview) - `table`、`list`、`task` --- ##### TABLE`表格,右圖` 和 LIST `清單,左圖` ![TABLE and LIST](https://hackmd.io/_uploads/S1PjYCUNle.png =75%x) --- ### 設定筆記屬性 ![我的工作流程視覺圖](https://hackmd.io/_uploads/S1deo2vNeg.png =75%x) - 依照這張圖上的筆記類別,先來新增不同類型的筆記(請結合上週分享過的內容) [:file_folder: 下載檔案](https://1drv.ms/f/c/1698215ca2d0889b/EtyiQRCAv5tLk9hMHODkn9kB4g9CrugdpIh_H-ELk3unZg?e=dL6KzG) --- ### 基礎使用方式:清單(list) ```markdown= LIST tags + "日期:" + date FROM #自學 SORT file.mtime DESC ``` --- #### 解析與延伸 ```markdown= LIST # 表示用清單的方式顯示資料 tags + "日期:" + date ## tags 表示在每一筆清單資料中加上「tags」 ## 用 `+` 號來連結不同的屬性 ## 如果要再用輸入其他文字,需要用 "這邊是文字" 來表示。 FROM #自學 ## FROM 代表篩選條件,只能用 tags 篩選資料。 ## 如上所示,選擇「自學」之後就只會顯示「tags」中有「自學」的資料 SORT file.mtime DESC ## SORT 是排序方法,分成: ## ASC 順序排,由小到大,由舊到新; ## DESC 倒序排,由大倒小,由新到舊。 ## SORT 的指令為: `SORT <條件> ASC/DESC` ## 條件需要是「文件的屬性」 ## `file.mtime` 代表:文件最後修改時間。 ## 幾個常用的指令如下: ## file.title 文件標題(筆劃) ## file.ctime 文件創立時間 ``` --- ### 基礎使用方式:表格(table) ```markdown= TABLE author as "作者", date as "資料日期", tags as "主題" FROM #自學 SORT file.mtime DESC ``` --- #### 解析與延伸 ```markdown= TABLE # 表示用表格的方式顯示資料 ## 不同欄位之間要用 "," 來區隔 author as "作者", ## 表示把資料中「author」提取呈現, ## 用 AS "標題名稱" 可以自定欄位標題 date as "資料日期", ## 表示把資料中「date」提取呈現, ## 用 AS "標題名稱" 可以自定欄位標題 tags as "主題" ## 表示把資料中「tags」提取呈現, ## 用 AS "標題名稱" 可以自定欄位標題 FROM #自學 ## FROM 代表篩選條件,只能用 tags 篩選資料。 ## 如上所示,選擇「自學」之後就只會顯示「tags」中有「自學」的資料 SORT file.mtime DESC ## SORT 是排序方法,分成: ## ASC 順序排,由小到大,由舊到新; ## DESC 倒序排,由大倒小,由新到舊。 ## SORT 的指令為: `SORT <條件> ASC/DESC` ## 條件需要是「文件的屬性」 ## `file.mtime` 代表:文件最後修改時間。 ## 幾個常用的指令如下: ## file.title 文件標題(筆劃) ## file.ctime 文件創立時間 ``` --- #### 設定複數條件檢閱:`WHERE` ```markdown= WHERE contains(type, "🏷️資料來源") and !contains(file.name, "Template") ## WHERE 是另外一種篩選條件的指令,指令為 contains(<屬性名稱>,"<指定條件>") ## `contains` 表示:包含這個條件。 ## `!contains` 表示:不包含這個條件。 ## 超過一個條件需要輸入 and 來並列,例如: ## WHERE ## contains(屬性1,"條件1") AND ## !contains(屬性2, "條件2") ``` --- #### 以特定文字呈現檔案連結: `link(file.link,<特定文字>)` ```markdown= link(file.link, "<特定文字>") ``` --- #### 組裝文字: `<文字>+<文字>` ```markdown= "<文字1>" + "<文字2>" ``` --- ### 建立第一個資料庫 --- ![建構資料庫](https://hackmd.io/_uploads/rJfTs08Egg.png =60%x) ---
{"description":"概念說明","title":"2025-06-27 Obsidian 資料庫|Slides","breaks":true,"slideOptions":"{\"theme\":\"dracula\"}","contributors":"[{\"id\":\"779d2623-aac9-499c-88e4-9fafda2f2407\",\"add\":3601,\"del\":274}]"}
    244 views