Tag Archives: database

數據庫的關聯

一個好的數據庫設計,一定離不開關聯(relationship),你可以說表與表之間的關係。它們的關係可以是:一對一,一對多,多對多。 一對一 一對一通常用於安全性的資料,例如把用戶(User) 和用戶資料(profile) 分離成2個表,這樣用戶登入時不用讀取個人資料,而且可以在權限設定是可以更有彈性,不是所有人可以查看用戶資料。 用戶–1—-1–用戶資料 : 就是一對一,一個用戶只有一個用戶資料 一對多 例子:一個書的類別(category)可以包含多本書(book items), 在設計書籍數據庫時,書本的類別不是直接填入類別,而是紀錄category id,這樣可以節省很多空間。多本不同的書都是屬於這個類別,它們的category id 都是同一個數字,書本的類別id 稱為fk(foreign key) 類別id –1—M–書本類別fk 多對多 例子:一本書有多個作者,一個作者可以有多本書,這樣根據上面就不符合了,因此就會產生第三個表,進行多對多關係。把書的id, 作者的id 合併在一起, book_id, authors_id 2     ,        10 2     ,        15 4     ,        10 5     ,    … Read More »