作者Longness (時光如槍)
看板Database
標題[SQL ] 初學者設計兩個關連表
時間Sun Oct 20 15:19:52 2013
一、人(person)
有姓名、電話啦,都是跟人相關的
id ←
PK
name
tel
...
二、職員(member)
有職員的相關資料,並非所有人都是職員,所以獨立一個表。有職稱啦照片啦
所屬主管啦
id ←
PK
personID ←
FK到person.id
role
picture
...
bossID ←
FK到??
我想要問的是,
那個bossID是一個FK,可是它應該要FK到member.id呢,還是person.id才是
正規的作法呢?
是不是哪裡設計有問題呢?
比方說,member的主鍵是不是直接設成personID就行了
畢竟personID也不會重覆
而bossID參照到member.ID,自己參照自己,SELECT寫了半天結果卡住…
怎麼寫都覺得有問題…
以上是初學菜鳥發問,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.75.112.181
※ 編輯: Longness 來自: 211.75.112.181 (10/20 15:48)
→ smlboby:person什麼情況下不屬於member?如果一定屬於,為何不合併? 10/21 07:26
→ smlboby:參考自己可以用left join或sub query 10/21 07:28
推 chigi:你要是這樣設計, 可以把person的ID想成身分證字號 10/24 10:11
→ chigi:memberID想成職員編號(如果有的話) 前提就像是一樓說的 10/24 10:11
→ chigi:你必須要有人是非職員而且必須儲存 不然就是自找麻煩 10/24 10:12