我試圖在以下特徵中的一個模式執行數據正確性:複雜的邏輯約束
表:
|SAVE_TYPE|PROFILE|USERNAME|DATA|
根據保存鍵入輪廓列或username列將被使用。試想一下,如果一個想在輪廓範圍內保存數據,那麼我會插入下面一行:
|SAVE_TYPE|PROFILE|USERNAME|DATA|
|PROFILE |PROF. 1|Mr. X |123 |
此行將意味着數據將可用於型材PROF。 1並插入到由用戶X先生在另一方面在這種情況下:
|SAVE_TYPE|PROFILE|USERNAME|DATA|
|USER |NULL |Mr. X |456 |
該行表示該數據將僅適用於X先生
我不知道對此行爲實現約束的最好方法是什麼,可能是我應該使用另一個表結構(我打開以更改模式)。 現在我所擁有的是SAVE_TYPE,PROFILE和USERNAME列的唯一約束,但現在這完全正確。錯誤的數據,我的模型接受:
上SAVE_TYPE多個實例 - >用戶對同一個用戶。
|SAVE_TYPE|PROFILE|USERNAME|DATA|
|USER |PROF. 1|Mr. X |456 |
|USER |PROF. 2|Mr. X |456 |
|USER |PROF. 3|Mr. X |456 |
對於同一個配置文件,SAVE_TYPE - > PROFILE上的多個實例。
|SAVE_TYPE|PROFILE|USERNAME|DATA|
|PROFILE |PROF. 1|Mr. X |123 |
|PROFILE |PROF. 1|Mr. Y |123 |
|PROFILE |PROF. 1|Mr. Z |123 |
在此先感謝,希望我所做的事情說清楚:)
我想這畢竟是一個簡單的問題:)。感謝您打開我的心! – eliocs