2013-12-18 52 views
0

假設我們有一個「現金交易」表,因爲它的名字暗示它保留了現金I/O的軌跡。未來我們可能會遇到一些關於完全不同概念的現金交易案例。由於我們在數據庫中對這些「概念」進行了建模,因此我們希望在事務和概念之間具有某種形式的可識別性。換句話說,我想知道從哪張表和哪筆資金交易來自哪個賬戶。涉及指向不同表的外鍵的數據庫設計

我想出了兩個解決方案;第一個涉及一個元數據列,用於標識表和外鍵,第二個包含多個外鍵,並且只使用非空元素,因此我們知道列名的優點是哪個表要查找它。

我認爲他們都會工作,但他們感到哈克。感覺就像有一個優雅的解決方案,但它不是這兩個。或者,也許我碰到了關係數據庫設計的限制,我應該解決NoSQL問題?如何正確地做到這一點?

回答

1

您應該使用鏈接表,現金交易應該不知道要鏈接到哪個表。