|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.06.2021, 19:11 | #1 |
Пользователь
Регистрация: 19.02.2020
Сообщений: 46
|
Как структурировать разветвления данных в БД?
Есть сайт, книга-упражнения, есть два вида страниц, теория и практика, у каждой страницы "теория" есть заголовок, id и фото. У каждой страницы "практика" есть несколько упражнений, заголовок, id и страница, у каждого упражнения есть заголовок и несколько заданий, у каждого задания есть текст и несколько ответов, у каждого ответа есть несколько ответов. Выглядит примерно так:
Код:
И вот вопрос, как это структурировать? Если создать таблицы теория и практика, то с теорией все понятно - в ней четыре поля(страница, id, фото, заголовок), а с практикой сложнее, допустим я создал таблицу практика, в ней четыре поля(id, страница, заголовок, упражнения), с первыми тремя понятно, просто одно поле, а упражнений разное количество, получается нужно выносить упражнение в отдельную таблицу, а потом к ней ссылаться, но тут опять в таблице упражнения, разное количество задания, приходится тоже выносить в отдельную таблицу, ответов в заданиях тоже разное количество и т.д Как я понимаю массивов в phpmyadmin нету, а json не хочу использовать. По моей логике, если у объекта разное количество параметров их нужно выносить в отдельную таблицу? Может я просто что-то не понимаю и не туда смотрю, или так и надо. P.S Если что-то не понятно объяснил, задайте вопрос. Последний раз редактировалось BDA; 25.06.2021 в 19:57. |
25.06.2021, 19:13 | #2 |
Пользователь
Регистрация: 19.02.2020
Сообщений: 46
|
Что-то с моим "выглядит примерно так: ", не так, не знаю как исправить, извините.
|
25.06.2021, 20:00 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
"выглядит примерно так: " - поправил добавлением тега CODE, а еще пробелы нужно расставлять в редакторе с моноширинным шрифтом. На мой взгляд, нужно просто сделать больше таблиц с отношением "один-ко-многим". Например, несколько заданий (таблица "задания") ссылаются на одно упражнение (таблица "упражнения").
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
26.06.2021, 09:44 | #4 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
Илья37, можно попробовать хранить в таблице структуру "дерево"
id, id_parent, field_type, info1, info2, info3, ... тип СУБД не указан. Поэтому пример рекурсивного запроса в MySQL: WITH |
29.06.2021, 12:54 | #5 |
Пользователь
Регистрация: 19.02.2020
Сообщений: 46
|
Спасибо за ответы.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не получается структурировать вёрстку с помощью flexbox. Подскажите как решить данную проблему | skander47 | HTML и CSS | 0 | 20.12.2016 17:21 |
Немогу правильно структурировать программу. | Демик | Общие вопросы C/C++ | 1 | 30.03.2012 09:32 |
Как лучше структурировать БД? | MrJenika | PHP | 5 | 04.12.2010 18:10 |
Разветвления | AcidBurst | Помощь студентам | 3 | 27.09.2010 22:04 |
как упростить код, используя только массивы, циклы, разветвления и указатели? | laxe | Общие вопросы C/C++ | 22 | 01.09.2009 09:16 |