У меня есть диаграмма ER, показанная ниже.
Мне нужна помощь для создания реляционной базы данных. Чтобы объяснить ER, у меня есть Услуги, и у сервиса есть 1-6 целей, и каждая цель может соответствовать до 1-8 целей. Таким образом, соотношение между услугами и целями составляет 1 ко многим (1-6), а отношение между целями также составляет 1 ко многим (1-8).
Это то, что у меня есть (* = первичный ключ)
Я должен создать скрипт PHP и отобразить сервисы, а затем, когда я нажму на сервис, я буду перенаправлен, чтобы показать его цели и связанные с ними цели. Как я могу показать это? Нужно ли создавать таблицу для MATCH и HAVE?
Нет, в этом случае вам не нужно объединять таблицы. Один сервис может иметь много целей, а один может иметь много целей. Это два отношения 1: много, поэтому все, что вам нужно, это внешний ключ в каждой из таблиц «имеет».
Таким образом, вам также понадобятся эти столбцы:
service.objective_id
(поэтому служба может указать, с какой целью она связана)objective.goal.id
(таким образом, цель может указать, с какой целью она связана)Чтобы создать ваше веб-приложение, вам нужно написать некоторый SQL, который вы можете решить, прежде чем писать PHP. Похоже, вам понадобится:
SELECT
)SELECT
с INNER JOIN
)Других решений пока нет …