我們知道要讓兩個資料表有關聯,可以用外鍵(FOREIGN KEY )進行關聯。 【範例一】 CREATE TABLE product ( prod_id INT NOT NULL, prod_name CHAR(20), PRIMARY KEY (prod_id)); CREATE TABLE myorder ( order_id INT NOT NULL, prod_id INT, PRIMARY KEY (order_id)); 上述表單 product 的主鍵是 prod_id ; 表單 myorder 的主鍵是 order_id,並透過外鍵 myorder.prod_id 與product.prod_id做關聯。 然後插入資料 insert into product values (1,'Pen'),(2,'Pencil'),(3,'Box'); insert into myorder values (1,1),(2,2),(3,3); 但是當我們刪除product的資料時 delete from product where prod_id=1; 結果如下 系統根本…
關聯模式的五大鍵,各是Super key、Candidate Key、Primary Key、Alternate Key、Foreign Key。靠著這些鍵的特性,讓關聯模式可以用來描述實體世界的資料。 更多參考資料 : MySQL使用者權限設定 關聯模式 可以比實體關係模式(ERM)更精準的描述資料,他有幾個條件必須滿足: (1)定義域限制: 指資料庫的關聯中的每個屬性質,必須符合該屬性的定義,例如產品名稱必須是字串,薪水必須是整數數字等。 (2)關聯鍵限制: 指資料庫的關聯中必須有關聯鍵的定義,也就是Super key、Candidate Key、Primary Key、Alternate Key、Foreign Key。這些定義我們稍後再來解釋。 (3)實體完整限制: 如果關聯存在主鍵(Primary Key),則不能為空。因為如果為空值,無法得知其相關的屬性值到底是描述哪一個實體。 (4)參考完整限制: 如果關聯存在外鍵(Foreign Key)為非空值,必須有可以參考的主鍵(Primary Key)。因為如果外鍵存在,而無法關連到其他表格的主鍵,這個關聯存在就沒有意義。 (5)語意完整限制: 這個限制不是必須的,但是可以更完備的描述實體世界的資料…