MySQL 是一種關系型數據庫,用于存儲和管理數據。在 MySQL 中,一對多是一種常見的數據關系模型。
一對多數據模型指的是在兩個表格之間存在一種關系,其中一個表格的每個記錄對應另一個表格中的多個記錄。例如,一個訂單可以對應多個產品。在這種模型中,訂單是一,而產品是多。使用 MySQL 來處理這種數據模型是非常方便的。
CREATE TABLE Order ( id INT PRIMARY KEY, customer_id INT REFERENCES Customer(id), order_date DATE, total_price DECIMAL(8, 2) ); CREATE TABLE Order_Details ( id INT PRIMARY KEY, order_id INT REFERENCES Order(id), product_id INT REFERENCES Product(id), quantity INT, price DECIMAL(8, 2) );
在上面的代碼中,有兩個表格:Order 和 Order_Details。訂單表格存儲每個訂單的基本信息,例如訂單編號、顧客編號、訂單日期和總價。另一方面,訂單詳情表格存儲與每個訂單相關的每個產品詳情,例如產品編號、數量和價格。
在訂單表格中,我們使用 customer_id 來存儲顧客的 ID。在訂單詳情表格中,我們使用 order_id 來存儲訂單的 ID,同時使用 product_id 來存儲產品的 ID。
MySQL 的一對多數據模型允許我們輕松地查詢基于訂單數據進行的匯總數據。例如,如果我們要找出每個客戶的平均訂單值,可以使用以下查詢:
SELECT c.name, AVG(o.total_price) FROM Customer c JOIN Order o ON c.id = o.customer_id GROUP BY c.id;
這個查詢將返回每個客戶的名稱和平均訂單值。我們可以使用類似的查詢來找出每個產品的銷售總額。
上一篇外聯CSS樣式表文件