我一直在遇到這個設計問題,至今我對解決方案並不滿意。問題是這樣的:在多個表格之間共享關係的最佳實踐
我有兩個或更多的實體,像People和Dogs,它們都與Notes表有關係,它存儲消息字段和一些關於消息的元數據,比如作者。
1)第一種選擇是不強制外鍵。這樣我就可以將FK存儲爲像peopleId或dogId(不管它是什麼)在相同的通用FK字段中,比如fkId。然後,我將tableId存儲在另一列中 - 人們可能希望從RDMS元數據中獲取表ID,但是您也可能有一個骯髒的黑客入侵,並且明確地製作一張表,您需要手動更新。這真的很sl and,我只是提到它的完整性。
2)克隆需要它的每個表的Notes表,如PeopleNotes,DogNotes,CatNotes等。這會產生一個相當主要的規範化問題。
其他人在這種情況下做了什麼?