我應該發出一個包含可變內容的盒子,並在數據庫中跟蹤此信息。儘管每個項目類型具有相同長度的序列號(即PK是相同的數據類型),但我的所有項目(一個框的內容)都是不同的類型並且需要不同的表來跟蹤它們各自的信息片段。我有一個Boxes表。多對多但源自多個表
所以每個項目都有一個表格(~7個表格)加上表格。我想創建一個BoxContents
表。我試圖製作一個多列關係的中間表,兩列:一列用於BoxID
,一列用於ItemBarcode
,其中BoxID
是表中PK的FK,而ItemBarcode
是FK給每個PK上的PK項目表(即我試圖鏈接多個表到同一列)。毫不奇怪,這沒有奏效。我嘗試插入一個項目,並且除了其中一個ItemBarcode
關係外,FK約束被違反。
如何構建我的關係以將多種類型的項目鏈接到一個表格中的一個表格?這是否合乎邏輯?你需要更多信息?
由於我之前沒有使用過觸發器,我怎麼知道要檢查哪張表來驗證插入的條形碼是否出現在正確的表格中?每個條目的條形碼都有自己的前綴我想我有一些switch語句可以解析一部分條形碼然後重定向到另一個存儲過程? – Brad 2012-03-21 14:07:30
哦!我想我明白了!當我想在插入單個項目表的同時插入到彙總表中時,我不會添加到「彙總項目」中(即填充boxcontents表格) !然後這些條目總是正確的。 – Brad 2012-03-21 14:10:18
@Brad - 當您將一個項目添加到一個框中時,您只關心該項目的條形碼在所有項目條形碼的「聯合」中。製作一個提供'union'的'view'可以簡化事情。觸發器可以強制執行_deferential_ integrity,也就是您自己的奇數版本的參照完整性,這樣數據就不會被破壞。 (* - 挑戰感興趣的讀者。) – HABO 2012-03-21 15:19:40