Oracle APEX: как соединить две таблицы с отношением: m - PullRequest
0 голосов
/ 08 января 2020

У меня есть две таблицы: Сервер и Хост . Они должны иметь отношения. Как я могу их подключить? Нужно ли настраивать третью таблицу Server_Host с помощью PrimaryKeys этих двух таблиц? Или APEX каким-то образом делает это автоматически?

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Быстрый ответ: «Да» и «Нет».

Более длинный ответ: Если это действительно M: M, тогда требуется в реляционной базе данных, которая учитывает нормальные формы, и две таблицы должны иметь PK от две другие таблицы как FK, хотя они не должны быть - и, возможно, / в зависимости от того, как используются в запросах, не должны быть - частью PK для таблицы пересечений.

Рассмотрите возможность использования SQL Developer (бесплатно) для моделирования трех таблиц и создания DDL.

И вы уверены, что существует только одна таблица пересечений? Хороший дизайн БД требует, чтобы вы учитывали атрибуты отношений. Например, «Заказчик для элемента каталога» - это M: M, но добавление таблицы «Заказ» не полностью разрешает M: M, так как между «Заказом» и «Элементом каталога» существует M: M, поэтому между ними необходима другая таблица пересечений, «Элемент строки». ,

Пожалуйста, подумайте об этом, а также укажите характер отношений между сервером и хостом. Например. Я не уверен, почему сервер и хост M: M в вашем случае, без указания характера моделируемой взаимосвязи и атрибутов таблиц и взаимосвязей. Назначен ли сервер хосту? Таким образом, хост может быть хостом для серверов 1: M? Как это М: М? Или это отношения во времени или данный момент времени? Это также влияет на модель.

0 голосов
/ 08 января 2020

Поскольку это отношение m: n:

Нужно ли мне устанавливать третью таблицу Server_Host с помощью PrimaryKeys этих двух таблиц?

На мой взгляд, да - это было бы хорошей идеей, и ее легко поддерживать.


Или APEX каким-то образом автоматически это делает?

Нет, Apex не сделает этого автоматически. Не может, это часть модели данных. Apex - это просто инструмент для доступа к вашим данным, он не устанавливает sh никаких связей между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...