Я новичок в дизайне базы данных, поэтому я все еще учусь, поэтому извините за использование, возможно, неуместных терминов, поэтому я попытаюсь объяснить на общем языке, какая у меня проблема. Я узнал, как соединить две таблицы (получить результат) через промежуточную таблицу, но между ними возникла проблема, когда я хочу объединить одну «обычную» таблицу и одну таблицу соединений поверх другой таблицы соединений.
У меня есть реляционная база данных, в которой есть таблицы и отношения между ними, например:
Я знаю, как объединить hgs_transliterations
, hgs_gardiners
, hgs_meanings
, hgs_word_types
, используя hgs_translations
, но я не знаю, как это сделать, как объединить эти 4 таблицы и hgs_references
таблица.
Это мой код для присоединения к нижним 4 таблицам:
SELECT hgs_transliterations.transliteration, hgs_gardiners.gardiners_code, hgs_meanings.meaning, hgs_word_types.word_type
FROM hgs_translations
JOIN hgs_transliterations ON hgs_translations.transliteration_id = hgs_transliterations.id
JOIN hgs_gardiners ON hgs_translations.gardiners_id = hgs_gardiners.id
JOIN hgs_meanings ON hgs_translations.meaning_id = hgs_meanings.id
JOIN hgs_word_types ON hgs_translations.word_type_id = hgs_word_types.id
Я прочитал несколько уроков по этой теме, в которых упоминаются AS
, INNER JOIN
, OUTER JOIN
, но я не совсем понял терминологию и то, как я могу использовать это для создания того, что мне нужно. Извините за, может быть, основные вопросы, но, как я уже сказал, я только начинающий, и я пытаюсь понять что-то глубоко, чтобы я мог использовать это соответствующим образом. Заранее спасибо.
P.S. Если кто-то думает, что это не очень хороший дизайн базы данных (дизайн отношений между таблицами), я хотел бы услышать это.