我正在使用MS Visio建模數據庫,部分模型包含事務類別 - 父表具有transactionId,timestamp,amount和transactionType。有三張子表 - 支票,銀行轉帳和信用卡,所有這些都與transactionId的父項有關。MS Visio到SQL Server的分類關係
這種類型的關係是在SQL Server中實現的具體方式,還是僅僅是一個概念模型,讓實現依賴於我?如果後者,爲什麼在父表中有一個transactionType列,如果這些表都與transactionId相關 - 是否只是縮小我的查詢?也就是說,如果父表中的行將「check」指定爲transactionType,那麼我知道我只需查詢/加入檢查子表?
它剛剛發生在我身上 - 這只是一個ISA層次結構,在這種情況下,我會創建三個不同的表,每個表都包含在ISA父實體中標識的列?
「多表繼承」原來是我一直在尋找的搜索關鍵字。谷歌提出了這一點:http://www.sqlteam.com/article/implementing-table-inheritance-in-sql-server 該文章回答了幾個問題。其次是如何強制一個交易成爲唯一可用的子類型之一。它看起來像是父表中的transactionType列的一半。 謝謝! – Matt