У меня есть таблица, где все это ключ (три элемента), я не уверен, что это оптимально? - PullRequest
0 голосов
/ 15 мая 2018

Допустим, у меня есть следующие таблицы:

Таблица задач:

Task ID, Task Name, Capability ID

Таблица возможностей:

Capability ID, Capability Name

Таблица применения:

App ID, App Name, App File

Таблица компонентов:

Component ID, Model, Manufacturer, Revision

Где:

  • Я хочу, чтобы у задачи была одна связанная возможность.
  • Каждая возможность состоит из набора определенных компонентов с набором специальных приложений, работающих на них.

Так, например, у нас есть задача1, которая использует возможность1. Capability1 требует:

  • Компонент1 работает {App1 и App2}
  • Компонент2 работает {App2}

Итак, чтобы решить эту проблему, я создал таблицу ссылок следующим образом:

Возможные детали:

Capability ID, Component ID, App ID

Где все три столбца составляют первичный ключ. Такое ощущение, что это нужно разделить дальше, но я не понимаю, как это сделать (или требуется ли это вообще). Я думаю, что удовлетворены базы данных нормальных форм 1-3.

Это правильно (с точки зрения нормализации базы данных) или есть какие-то дальнейшие оптимизации, которые я могу сделать?

1 Ответ

0 голосов
/ 15 мая 2018

Исходя из вашего описания, у вас есть отношение многие ко многим между Capability, App и Component. Учитывая это, таблица ссылок из трех столбцов, которую вы описываете, вполне разумна, насколько я вижу.

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