Внешний ключ для нескольких таблиц

У меня есть 3 соответствующие таблицы в моей базе данных.

CREATE TABLE dbo.Group
(
    ID int NOT NULL,
    Name varchar(50) NOT NULL
)  

CREATE TABLE dbo.User
(
    ID int NOT NULL,
    Name varchar(50) NOT NULL
)

CREATE TABLE dbo.Ticket
(
    ID int NOT NULL,
    Owner int NOT NULL,
    Subject varchar(50) NULL
)

Пользователи принадлежат к нескольким группам. Это делается через отношения "многие ко многим", но в данном случае это не имеет значения. Билет может принадлежать группе или пользователю через поле dbo.Ticket.Owner.

Каким будет САМЫЙ ПРАВИЛЬНЫЙ способ описать эту связь между заявкой и, возможно, пользователем или группой?

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

112
задан Darthg8r 21 October 2011 в 03:03
поделиться