作者kusoayan (瑋哥)
看板Database
標題[SQL ] 請問這樣該怎麼規劃資料表?
時間Mon Apr 2 23:23:46 2012
想請問一下
今天我遇到一個情況是這樣
例如:
book table 裏面是 book 的列表
computer table 裏面是 computer 的列表
而 book 和 computer 可能都要關聯到一些圖片
像 book 可能就要可以上傳多張照片之類的
一開始我的作法是在 book table 裏面開一個 photo 的欄位
可是後來想想這樣好像不太好,因為 photo 可能要紀錄很多資訊,
像是 filename 還有一些雜七雜八的東西
所以就想說要獨立一個 photo table 出來
而我遇到的問題就是,在這個 photo table 中我該怎麼規劃關聯性?
如果只有關聯到 book 的話我可以用一個 foreign key 去指到 book id
可是如果今天這張 photo table 要同時給 computer 用呢?
是要規劃成這樣嗎
id / type(book or computer) / sub_id(book or computer's id)
還是有更好的規劃方式呢?
因為如果是這樣規劃的話
選取的時候是不是只能
select * from photo_table where sub_id=book.id and type=book
這樣好像有點彆扭QQ
不好意思還請各位高手指點一下了
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.228.43.105
→ kofi0916:我比較喜歡在book及computer中增加一個photo ID的欄位 04/03 10:43
→ kofi0916:而不是在photo_table中處理type及sub_id 04/03 10:45
推 mervynW:A嘛多一個table,B嘛就是有一個type, 樓上是 1:1得狀況吧 04/03 11:16
→ kusoayan:我怎都沒想到XD 這的確比較舒服點XD 04/03 11:35