今天我們來講一下表單的設計 for 資料庫,簡單說就是要把表單的資料欄位放到資料庫去存起來ㄡ
ERD(實體關係圖,Entity-Relationship Diagram)是一種用來描繪資料庫中實體及它們之間關係的工具。它是一種非常有用的圖形化工具,能夠清楚地展示資料結構,特別是在設計關聯型資料庫的時候。透過 ERD,我們可以視覺化地看到資料表(實體)、它們的屬性,以及不同資料表之間的關聯。
其實我也沒用過,大家一起順便學一下,因為我不是本科系的,主要做前端,也沒學過。
ERD 包含以下幾個主要部分:
實體(Entity):通常對應資料庫中的一個資料表,例如「使用者(USER)」或「報告(REPORT)」。實體是資料庫的核心部分,每個實體通常代表一個具體的物件或概念,例如「客戶」、「產品」、「訂單」等。
屬性(Attributes):實體的特徵,表示這個實體所具有的屬性。例如「使用者」的屬性包括 username
、email
、password
等。屬性可以理解為資料表中的欄位,用來存儲具體的數據。
關聯(Relationships):實體之間的聯繫,描述它們之間的相互作用。例如「使用者」可以「建立多個報告」,這是一種一對多的關聯。關聯有不同的類型,包括一對一、一對多、多對多,這些關聯可以幫助我們理解不同資料表之間的邏輯聯繫。
以下是一個範例,這是使用者與報告之間的關係,USER
和 REPORT
是兩個實體:
id
(主鍵)、username
、email
、password
。id
(主鍵)、title
、content
,以及 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 中的交通事故報告,設計一個資料表來管理這些報告的相關數據。
我們來看一下 report 裡面,因為會需要在 report 裡面存不一樣的 party的資料。
明天我們再來試試看把設計丟到 AI 看會不會幫我們自動生成。