只要能回答關聯式資料庫是什麼,怎麼創造,怎麼操作,就完工了 : ) 再來了解 Odoo ORM API 寫起來的樣子,你會覺得似曾相識
ERP 系統中的關聯式資料庫 (Relational Database) 是每個企業應用的核心,這篇文章將幫助你在完全零基礎下,理解關聯式資料庫的基本概念、如何創建它,以及如何操作它。我們會用 Excel 做比喻,來簡單化這些抽象的概念。
文章架構
- 關聯式資料庫是什麼?
- 用 Excel 舉例:表格與關聯
- 關聯式資料庫中的關聯,核心概念
- 如何在關聯式資料庫建立表格?DDL 定義表格的結構
- 將 DDL 的常用功能分類:以上面例子為例
- 資料庫物件 (Database Objects)
- 欄位 (Columns):欄位名稱、欄位資料型別
- 約束 (Constraints)
- 關聯 (Relationships)
關聯式資料庫是什麼?
關聯式資料庫是一種能夠存儲並組織大量資料的系統,使用表格 (tables) 來呈現數據。每張表格就像 Excel 裡的一張 sheet,表格內部有行和列,列代表不同的屬性 (attributes),例如客戶名稱、地址、電話號碼;而行代表每一筆具體的數據,也就是具體的客戶信息。
用 Excel 舉例:表格與關聯
- 表格:想像一下你有一個 Excel 檔案,其中有兩個 sheet:一個存儲客戶信息,另一個存儲訂單資料。每個 sheet 都是一個表格 (table),每個表格有不同的資料結構。
- 關聯:假設在客戶表格裡每個客戶都有唯一的 ID,而在訂單表格裡,每個訂單也都有客戶 ID,這兩個表之間的關係(關聯)可以通過客戶 ID 來建立。這樣,你就可以通過訂單表格中的客戶 ID 查詢到對應的客戶資料,這就是所謂的關聯。
關聯式資料庫中的關聯,核心概念
如何在關聯式資料庫建立表格?DDL 定義表格的結構
在真正的關聯式資料庫管理系統 (RDBMS) 裡,我們會使用 SQL (Structured Query Language) 來創建和操作表格。首先,我們需要使用資料定義語言 (DDL, Data Definition Language) 來定義表格的結構。
DDL (資料定義語言),DDL 定義數據庫和表格的結構
常用的指令包括 CREATE, ALTER, DROP。例如,創建一個客戶表格的 SQL 語句如下:
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Name VARCHAR(255),
Address VARCHAR(255),
Phone VARCHAR(15)
);
關聯關係的建立
如果我們想在訂單表中建立與客戶表的關聯,可以用外鍵 (Foreign Key),如下例所示:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
OrderDate DATE,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
將 DDL 的常用功能分類:以上面例子為例
1. 資料庫物件 (Database Objects)
- TABLE:資料表 (Table),是儲存資料的結構。使用 CREATE TABLE 來建立表格。
- 例如:CREATE TABLE Orders 定義一個名為 Orders 的表格。
2. 欄位 (Columns):欄位名稱、欄位資料型別
- 欄位名稱 (Column Names):每個表中的資料欄位,用於存放具體的資料。
- 例如:OrderID, OrderDate, CustomerID 是 Orders 表的欄位名稱。
- 欄位資料型別 (Data Types):定義欄位中資料的類型。例如:
- INT:整數類型,例如 OrderID, CustomerID。
- DATE:日期類型,例如 OrderDate。
3. 約束 (Constraints)
- 主鍵 (Primary Key):一個或多個欄位的唯一標識符,確保每條記錄的唯一性,並且不能為空。用 PRIMARY KEY 定義。
- 例如:OrderID INT PRIMARY KEY 表示 OrderID 欄位是主鍵。
- 外鍵 (Foreign Key):建立兩個表之間的關聯。使用 FOREIGN KEY 定義外鍵,並透過 REFERENCES 關聯到其他表中的主鍵。
- 例如:FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) 表示 Orders 表中的 CustomerID 欄位是 Customers 表中 CustomerID 的外鍵。
4. 關聯 (Relationships)
- FOREIGN KEY 和 REFERENCES 用於建立兩張表之間的關聯,這使得在資料庫中能夠依賴彼此的資料。
- 例如:FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) 建立了 Orders 和 Customers 表之間的關聯,根據 CustomerID 進行連結。