Найдено результатов: 1

SQL2005: связывание таблицы с несколькими таблицами и сохранение целостности ссылок?

Вот упрощение моей базы данных:

Table: Property
Fields: ID, Address

Table: Quote
Fields: ID, PropertyID, BespokeQuoteFields...

Table: Job
Fields: ID, PropertyID, BespokeJobFields...

Затем у нас есть другие таблицы, которые относятся к таблицам котировок и заданий по отдельности.

Теперь мне нужно добавить таблицу сообщений , где пользователи могут записывать телефонные сообщения, оставленные клиентами относительно заданий и котировок.

Я мог бы создать две идентичные таблицы (QuoteMessage и JobMessage), но это нарушает принцип DRY и кажется беспорядочным.

Я мог бы создать одну таблицу сообщений :

Table: Message
Fields: ID, RelationID, RelationType, OtherFields...

Но это останавливает меня от использования ограничений для обеспечения моей ссылочной целостности. Я также могу предвидеть, что это создает проблемы со стороной devlopment, используя Linq для SQL позже.

Есть ли элегантное решение этой проблемы, или мне в конечном итоге придется взломать что-то вместе?

Ожоги

database   sql-server-2005   referential-integrity    

381   4   11:19, 6th August, 2020