Сопоставить взаимосвязь таблиц «один ко многим» с одним объектом структуры сущности - PullRequest
1 голос
/ 24 мая 2009

У меня есть следующие таблицы в базе данных (конечно, просто демо):

Позиции

PositionId

Пределы

LimitId PositionId

Я хочу соединить их слева в одну сущность (всегда иметь позицию, не всегда ограничивать ее):

Должность

PositionId LimitId

Я видел статьи, касающиеся сопоставления «один к одному» и «Таблица наследования типов», и пытался реализовать тот же метод здесь, но безуспешно. Это вообще возможно?

Ответы [ 2 ]

0 голосов
/ 25 мая 2009

Да и нет ... В моем сценарии применим второй вариант, поскольку у меня нет одинакового первичного ключа в обеих таблицах. поэтому я должен создать обновляемое представление ... Проблема с обновляемым представлением состоит в том, что я не могу изменять поля, которые находятся в разных таблицах, и ожидать, что база данных будет обрабатывать их, если я не использую триггеры "Вместо", которые я действительно надеваю не хочу ввязываться вообще ... Итак, я думаю, что для меня ничего нет из коробки ... блин. (Если у вас нет другой идеи ...)

В любом случае, я действительно благодарю вас за вашу помощь, это очень ценится. Nir.

0 голосов
/ 24 мая 2009

Я думаю, что вам нужно обычное внутреннее соединение, где ваш внешний ключ (PositionID в таблице Limits) может быть нулевым.

...