Я новичок в MySQL и первый раз задать вопрос здесь, так что поправьте меня, если я ошибаюсь ..Относительно многоуровневые таблицы на MySQL
У меня есть 4 таблицы, как следующее:
Table A
A_id | A_description
Table B
B_id | B_description
Table C
C_id | C_description
Table D
D_id | D_description
Теперь я хочу, чтобы создать новую таблицу, в которой рассказывают, что 4 таблицы:
Table E
A_id | B_id | C_id | D_id | D_description
представление данных должно нравится:
A B C D D_Description
================================
A1-> B1-> C1-> D1 ->Description
-> D2 ->Description
-> C2-> D1 ->Description
-> D2 ->Description
-> B2-> C1-> D1 ->Description
-> D2 ->Description
-> C2-> D1 ->Description
-> D2 ->Description
and so on for A2 ...
Я начал делать базу данных, как это:
Table A
A_id | A_description
Table B
B_id | A_id | B_description
которой B_id
и A_id
является ограничение уникальности. Но я не знаю, как сделать структуру остальных таблиц таким образом.
Итак, как должна выглядеть структура базы данных? (Или как первая структура 4 таблицы должны быть?) Спасибо :)
EDIT: В таблице результат должен быть таким:
Table A
A_id | A_Description
1 explanation
2 another explanation
Table B
A_id | B_id | B_Description
1 1 description
2 1 my description
2 2 your description
Где столбец B_id может содержать одни и те же данные, если a_id отличается (например, ограничение уникальности)
'Таблица C -> C_id, B_id, C_Description' и' Таблица D -> D_id, C_id, D_Description' Вы на правильном пути. Без каких-либо объяснений в отношении данных это может быть решением, или вы можете использовать собственное предложение (по 4 таблицы с идентификатором и описанием и один для привязки всех) с уникальным ограничением на эти четыре идентификатора (a, b, c, d) во избежание дублирования. –
благодарит за вашу помощь! :) @JorgeCampos –
Я думаю, вам нужны три таблицы отношений «многие ко многим»: таблица A_B (A_id, B_id), таблица B_C (B_id, C_id), таблица C_D (C_id, D_id). –