我目前正在重寫一箇舊的會計系統,並且我發現了一個數據庫設計,我懷疑這個數據庫設計很差。我對數據庫設計沒有太多的經驗,所以我不能確定。改進前綴指定關係的數據庫設計
在舊的系統中有一個Transactions表,並且該表中的每一行都有一個外鍵給另一個由某個前綴確定的表。例如:
| ID | VOUCHER |
| 1 | L-100801 |
| 2 | U-120407 |
| 3 | Z-622909 |
該表中有兩列以上(實際上約15個)。如果一行代金券以L
開頭,則它連接到Client Invoices
表。如果它以U
開頭,它連接到Payments
表等。
我是否認爲這是一個糟糕的設計?我該如何改進?每種類型應該分成哪一列?是否應該有用於連接記錄的憑證類型表?
你應該在[程序員堆棧交換](http://programmers.stackexchange.com/)上提出這個問題。 – 2014-10-18 19:11:10