這是一個棘手的規範化/ SQL /數據庫設計問題,令我們感到困惑。我希望我能正確地說出來。設計這個特定數據庫/ SQL問題的最佳方法是什麼?
您有一組活動。他們是需要完成的事情 - 一個榮耀的TODO清單。任何給定的活動都可以分配給員工。
每個活動都有一個活動的執行者。這些活動是聯繫人(人)或客戶(業務)。每個活動都會有一個聯繫人或一個客戶,他們將完成活動。例如,該活動可能是「向Spacely Sprockets(客戶)發送感謝卡」或「向Tony Almeida(聯繫人)發送營銷文獻」。
從這個結構,我們就需要能夠查詢找到所有指定員工必須做的活動,在一個單一的關係,列出他們會是這樣的在它最簡單的形式:
-----------------------------------------------------
| Activity | Description | Recipient of Activity |
-----------------------------------------------------
這裏的想法是避免讓聯繫人和客戶有兩列爲空。
我希望我已經正確描述了這一點,因爲這並不像第一眼那樣明顯。
所以問題是:什麼是數據庫的「正確」的設計,你將如何查詢它來獲取所需的信息?
似乎有關於客戶和聯繫人的一些混淆。他們分開桌子嗎?客戶和聯繫人之間是否有任何關係?他們是否需要使用現有的表格,還是新的或可重構的表格? – ulty4life 2010-10-21 02:55:12
是的,客戶和聯繫人是獨立的實體。也許他們不應該,但他們是。 ;-) – 2010-10-21 17:23:39