Привет всем! Разрабатываю схему БД и столкнулся с такой проблемой: не

знаю как лучше организовать структуру для категорий. Категория может иметь одну родительскую категорию. Следовательно категория может иметь множество дочерних категорий. Дерево, как есть.

Можно добавить в таблицу categories столбец parent_category_id. Таким образом восстанавливать дерево.

Можно создать отдельную таблицу parent_categories и вторую таблицу categories. Получится третья таблица, которая и будет показывать к какой родительской категории относятся обычные категории.

Я рассматривал два этих варианта, однако не знаю насколько они адекватны. Может ли кто-нибудь дать пару советов "как сделать лучше"?

5 ответов

6 просмотров

Мне кажется первый вариант весьма стандартный (category_id | parent_category_id)

буквально на одно сообщение выше ответ на подобный вопрос)

41444114d- Автор вопроса
Alex
буквально на одно сообщение выше ответ на подобный...

Не ожидал такого, даже не смотрел историю выше. Только вот мне кажется, что у подхода через две таблицы есть явные минусы, которые можно предположить прямо сейчас: необходимость создавать третью, связующую таблицу; более затратное чтение; нельзя из дочерней или родительской категорий сделать обычную обновлением данных; в принципе нет обычных категорий (не родительская и не дочерняя)

41444114d
Не ожидал такого, даже не смотрел историю выше. То...

там названы несколько алгоритмов для подобных структур мне например нравится nested sets за удобный поиск потомков, но вот вставлять данные очень затратно в нее

41444114d
Не ожидал такого, даже не смотрел историю выше. То...

не делай себе мозг, parent_id в таблице category и проблема решена, стандартная задача. Не разу не видел чтобы вообще по другому организовывали категории. И будет у тебя там древовидная структура. Не веришь, так возьми и создай таблицу с категориями и назначай одной несколько дочерних в parent_id а при условии выборки потом указывай это поле, ну это думаю и сам знаешь

Похожие вопросы

Обсуждают сегодня

Всем привет, есть таблица компонентов (например материнка, процессор, видеокарта и тд) components и нужно еще реализовать механизм "совместимости" (те какой-то словарь, мол од...
Vladimir
2
Hello, I want to ask. I trained EfficientNet V2 Small and achieved 98% accuracy and F1 score on test data. I did the same with a simple CNN and achieved 97% accuracy and F1 sc...
~
2
Can you please upvote this work? https://www.kaggle.com/code/melissamonfared/mental-health-music-relationship-analysis-eda
məł
1
Может кто подсказать какие требования к изображениям для обучения Yolo v8? Как то разрешение, размер выделяемого обьекта в пикселях, оптимальное кол-во изображений. А то я пыт...
Владислав😎
16
did anyone recieve update from Amazon ML summer school?
Lucky Champ
1
Только сейчас дошли руки до Orange pi 5. Это нормально что на нем YOLOv5s выдает 1 кадр раз в 2-3 секунды на CPU? Это без оптимизаций и прочих настроек, просто голый запуск че...
Denis
17
Доброе утро. Подскажите, если если 4 корутины, внутри которых VideoCapture, то будут ли они работать асинхронно? Т.к. нагуглил, что Videocapture в моменте может быть открыт то...
Alexander👨‍💻
19
Всем привет! подскажите пожалуйста как можно увеличить качество фото?
Evgeniy
19
А. То есть задача такая, что тип вы обучаете на разных данных модели. Получаете пачку моделей обученных на частных данных и задача стоит в том, чтобы все эти модели объединит...
Anton 『被遗忘的社会』
7
Hello everyone, ребят, к какому уровню сложности может относиться задачка по отделению облаков от неба для видео? (от 1 до 10,) *в условиях смены времени суток *при неизменно...
Merge
16
Карта сайта