Я пытаюсь обеспечить корректность данных в схеме следующих характеристик:
Таблица:
|SAVE_TYPE|PROFILE|USERNAME|DATA|
В зависимости от типа сохранения столбец профиля или столбец имени пользователя будутиспользуемый.Представьте, что если вы хотите сохранить данные в области профиля, я вставлю следующую строку:
|SAVE_TYPE|PROFILE|USERNAME|DATA|
|PROFILE |PROF. 1|Mr. X |123 |
Эта строка будет означать, что данные будут доступны для профиля PROF.1 и был вставлен пользователем Mr. X. С другой стороны, в этом случае:
|SAVE_TYPE|PROFILE|USERNAME|DATA|
|USER |NULL |Mr. X |456 |
Эта строка означает, что данные будут доступны только для Mr. X.
IНе знаю, что было бы лучшим способом реализации ограничения для этого поведения, может быть, я должен использовать другую структуру таблицы (я открыт, чтобы изменить схему).Пока что у меня есть уникальное ограничение для столбцов SAVE_TYPE, PROFILE и USERNAME, но теперь это совершенно правильно.Неверные данные, которые принимает моя модель:
Несколько экземпляров в SAVE_TYPE -> USER для одного пользователя.
|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 |
Заранее спасибо, надеюсь, я все прояснил:)