iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Mobile Development

30天 使用chatGPT輔助學習APP完成接案任務委託系列 第 26

[Day26] ERD 圖與使用者報告資料庫設計

  • 分享至 

  • xImage
  •  

今天我們來講一下表單的設計 for 資料庫,簡單說就是要把表單的資料欄位放到資料庫去存起來ㄡ

ERD

ERD(實體關係圖,Entity-Relationship Diagram)是一種用來描繪資料庫中實體及它們之間關係的工具。它是一種非常有用的圖形化工具,能夠清楚地展示資料結構,特別是在設計關聯型資料庫的時候。透過 ERD,我們可以視覺化地看到資料表(實體)、它們的屬性,以及不同資料表之間的關聯。

其實我也沒用過,大家一起順便學一下,因為我不是本科系的,主要做前端,也沒學過。

ERD 簡介

ERD 包含以下幾個主要部分:

  1. 實體(Entity):通常對應資料庫中的一個資料表,例如「使用者(USER)」或「報告(REPORT)」。實體是資料庫的核心部分,每個實體通常代表一個具體的物件或概念,例如「客戶」、「產品」、「訂單」等。

  2. 屬性(Attributes):實體的特徵,表示這個實體所具有的屬性。例如「使用者」的屬性包括 usernameemailpassword 等。屬性可以理解為資料表中的欄位,用來存儲具體的數據。

  3. 關聯(Relationships):實體之間的聯繫,描述它們之間的相互作用。例如「使用者」可以「建立多個報告」,這是一種一對多的關聯。關聯有不同的類型,包括一對一、一對多、多對多,這些關聯可以幫助我們理解不同資料表之間的邏輯聯繫。

以下是一個範例,這是使用者與報告之間的關係,USERREPORT 是兩個實體:

  • USER:包含 id(主鍵)、usernameemailpassword
  • REPORT:包含 id(主鍵)、titlecontent,以及 user_id(外鍵),用來對應到創建這份報告的使用者。

連接符號 ||--o{ 表示一對多的關聯,表示一個使用者可以創建多份報告。目的在於清晰地表達出「使用者」和「報告」之間的從屬關係,一個使用者可以有多份報告,但每份報告只能屬於一個使用者。

使用者、報告與事故相關資訊

在交通事故報告的情境中,我們需要管理「使用者」和「報告」的關係。 User 可以建立多個報告,報告裡面會有很多個 Party(參與者)

  • PARTY:代表參與事故的各方(例如駕駛員),包含 party_id(主鍵)、name(姓名)、license_number(駕照號碼)、address(地址)、phone_number(電話號碼)。

  • VEHICLE:代表事故中涉及的車輛,包含 vehicle_id(主鍵)、make(品牌)、model(型號)、color(顏色)、license_plate(車牌號碼)以及 party_id(外鍵),用來對應車輛的所有者。

根據 PDF 文件設計 ERP 表:第一頁

根據提供的 PDF 文件,我們可以開始設計 ERP 系統的資料表,從第一頁的資訊開始。以下是根據 PDF 文件內容,初步設計的一個資料表,用於描述交通事故報告的部分結構。

ERP 系統(企業資源規劃系統)是一種綜合性的系統,旨在幫助企業管理各種業務流程,例如財務、供應鏈、人力資源、客戶關係等。在這裡,我們專注於基於 PDF 中的交通事故報告,設計一個資料表來管理這些報告的相關數據。

設計 ERP 資料表:Report

我們來看一下 report 裡面,因為會需要在 report 裡面存不一樣的 party的資料。

結語

明天我們再來試試看把設計丟到 AI 看會不會幫我們自動生成。


上一篇
[Day25] 使用 NativeBase 實作表單 with AI 協作
下一篇
[Day27] NestJS 與 MongoDB 報告系統實作:資料庫模型設計
系列文
30天 使用chatGPT輔助學習APP完成接案任務委託30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言