Как я могу настроить схему базы данных, где есть два одновременных отношения много-много? - PullRequest
0 голосов
/ 09 марта 2012

Мне нужна таблица для удержания времени простоя, в основном время простоя Событие содержит следующую информацию:
EVENT_ID, START_TIME, END_TIME, SERVICES, CAUSES

Основная проблема заключается в том, что яЯ не знаю, как это настроить, потому что я не хочу, чтобы в результате произошел такой беспорядок:

ID  |  EVENT_ID  |  START_TIME  |  END_TIME  | SERVICES  |  CAUSES
01          455       12:00          12:30      FINANCE     NETWORK
02          455       12:00          12:30      ADVANCE     NETWORK
...
13          455       12:00          12:30      REFRESH     DATABASE

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

Есть ли более эффективный способ организации этого?

1 Ответ

3 голосов
/ 09 марта 2012

да - немного нормализуются:

EVENT
------
event_id
start_tm
end_tm
description

EVENT_SERVICE
-------------
event_id
service_id
employee_id 
start_tm
end_tm
(other info as needed)

SERVICE
---------
service_id
description

CAUSE
-------
cause_id
description

EVENT_CAUSE
-----------
event_id
cause_id

отредактировано для отражения комментария ypercubes с отдельной таблицей SERVICE

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