@tiger_13

Как построить иерархию sqlite и сам алгоритм реализации идеи?

Всем привет, я новичок в питоне. Идея написать бота в телеграмме, который будет задавать вопросы, прописанные в базе данных(sqlite). У вопросов будет своя иерархия. Например, изначально будет 6 сфер(спорт, литература и тд). Когда человек выбирает спорт, то с базы данных подгружаются уже вопросы про спорт. И так далее (такая себе вертикальная иерархия, которая идет вниз). Например, когда человек выберет из спорта футбол, то уже погрузятся вопросы про футбол. Подскажите, пожалуйста, как реализовать эту идею? (использовать глобальные переменные, чтобы знать в какой мы сейчас теме(спорт-футбол-чемпионат РФПЛ)?;как построить базу данных?)
  • Вопрос задан
  • 662 просмотра
Решения вопроса 1
devspec
@devspec
Помогло? Отметь решением
Забудьте о глобальных переменных.
Сделайте две таблицы. Первая - дерево (tree).
id   | name           | parent_id
1    | Спорт          | null
2    | Футбол         | 1
3    | Чемпионат РФПЛ | 2

Вторая - данные (data).
id   |   tree_id  | data
1    |   3        | Инфа о чемпионате РФПЛ

Пользователю показывайте инфу из "дерева"и давайте выбрать категорию, когда выберет - показывайте данные, соответствующие категории:
select * from data where tree_id=3
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@FelixDies
А как быстро найти (с минимум запросов ессно) категорию/или ее существование (например: Хоккей) в дереве, зная имя родителя (Спорт: т.е. получить ее id) ? Ведь суб-категория может быть намного глубже и дерево может быть более ветвистое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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