Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
Максим Руднев
@stigmt
Учусь
SQL
Вопрос с прошедшего собеседования: Нарисовать БД, в которой можно хранить лес деревьев произвольной ветвистости с одним атрибутом узла строкой?
На пикче опозорился, хотел сказать про связь "один ко многим". Получил такую задачу. Решил так:
. Что скажете?
Вопрос задан
более трёх лет назад
143 просмотра
Комментировать
Подписаться
1
Простой
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
1
Сергей Горностаев
@sergey-gornostaev
Куратор тега SQL
Седой и строгий
Скажу, что для этого нужна только одна таблица.
Ответ написан
более трёх лет назад
6
комментариев
Нравится
3
6
комментариев
Facebook
Вконтакте
Twitter
Андрей Николаев
@gromdron
Ну.. если у каждого уровня нужно хранить еще и собственные аттрибуты, которых нет у других "слоев", то две. Но я Вас полностью поддерживаю!)
Написано
более трёх лет назад
Максим Руднев
@stigmt
Автор вопроса
Черт! а можно подсказать реализацию или хоть какую-нибудь инфу как сделать одной таблицей?
Написано
более трёх лет назад
Александр
@alexr64
Максим Руднев
, в 1 строке хранить id родителя (если есть), список наследников (если есть) и, собственно хранимый атрибут, если есть.
Написано
более трёх лет назад
Сергей Горностаев
@sergey-gornostaev
Куратор тега SQL
Максим Руднев
, три основных подхода - это Adjacency List, Materialized Path и Nested Sets. Гугл расскажет лучше.
Написано
более трёх лет назад
Сергей Горностаев
@sergey-gornostaev
Куратор тега SQL
Максим Руднев
, вот неплохая статья, например -
Managing Hierarchical Data in MySQL
. А в PostgreSQL есть встроенная реализация materialized path -
ltree
.
Написано
более трёх лет назад
Максим Руднев
@stigmt
Автор вопроса
Сергей Горностаев
, Благодарю за советы
Написано
более трёх лет назад
Пригласить эксперта
Ответы на вопрос
0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
SQL
Простой
Сальдо по двум столбцам?
1 подписчик
03 мар.
136 просмотров
2
ответа
SQL
Простой
Имеет ли значение порядок связывания таблиц левым соединением?
2 подписчика
21 февр.
164 просмотра
1
ответ
JavaScript
+1 ещё
Простой
Как сделать что бы подгружались записи соответствующие промежуточным значениям чекбоксов?
1 подписчик
19 февр.
94 просмотра
1
ответ
SQL
Простой
Почему запрос sql возвращает неверное количество полей при поиске максимума?
1 подписчик
25 янв.
171 просмотр
1
ответ
SQL
+1 ещё
Простой
Более оптимальный запрос sql?
1 подписчик
23 янв.
272 просмотра
2
ответа
SQL
+2 ещё
Простой
Как правильно сделать выборку из нескольких таблиц?
1 подписчик
12 янв.
254 просмотра
0
ответов
PHP
+3 ещё
Простой
Как вывести крайние диалоги пользователей?
2 подписчика
12 янв.
248 просмотров
2
ответа
SQL
Простой
Как получить группу по регулярному выражению с помощью REGEXP_SUBSTR?
1 подписчик
10 янв.
63 просмотра
1
ответ
MySQL
+1 ещё
Простой
Как правильно сформировать SQL запрос?
1 подписчик
09 янв.
2265 просмотров
1
ответ
SQL
+2 ещё
Простой
Как создать триггер для изменения поля одной таблицы по условию из другой?
нет подписчиков
05 янв.
336 просмотров
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Аналитик SQL в Индию
Wanted.
•
Москва
До 3 000 $
Data Engineer\ Разработчик БД SQL
Data World
•
Санкт-Петербург
До 230 000 ₽
Разработчик Oracle
УБРиР
•
Москва
от 217 000 до 217 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама