0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
1 | |
Структура БД для доски объявлений16.01.2013, 12:36. Показов 14329. Ответов 42
Метки нет (Все метки)
Доброго времени суток. Как организовать бд для доски объявлений например как avito? Где объявление привязывается к региону и к категории.
0
|
16.01.2013, 12:36 | |
Ответы с готовыми решениями:
42
Этапы создания доски объявлений Посоветуйте к кому обратиться за разработкой крупной доски объявлений Как переделать программу-клиент для доски объявлений? Нужен готовый php-сайт(шаблон), для доски объявлений |
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
|
|
16.01.2013, 21:59 | 2 |
Прежде всего отталкивайся не от БД, а просчитай архитектуру в голове, или на бумаге.
Грубо говоря: Таблица ads: id | region | owner_id | timestamp | category | text Таблица regions: id | region_name_en | region_name_ru Таблица users: id | name | surname | address | etc Таблица categories: id | category_name_en | category_name_ru
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
16.01.2013, 22:50 [ТС] | 3 |
Просто не могу понять как связать таблицы например для категорий.
Есть категория Транспорт->под категория Новые авто->Audi->модель(тип кузова, год, пробег и т.д). Т.е надо создавать отдельные таблицы, если да как как их объединять? Так же и для регионов Россия->Моск. обл.->...
0
|
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
|
|
16.01.2013, 23:00 | 4 |
Лучше всего будет по одной таблице под каждый уровень категорий. Или ввести дополнительное поле, например "type", тогда получится такая штука:
1| Транспорт | category 2| Новые авто | subcategory 3| Недвижимость | category 4| Квартиры | subcategory 5| Дома | subcategory Таблица ads: 1|5|1|16012013|2|Продаю ВАЗ 2106 где: 1 - id обьявления. 5 - id региона, которому соответствует например Москва 1 - id usera, например Иван Петров. 16012013 - дата 2 - id категории (и пофиг что это субкатегория, выбор категорий - другое окно, главное его id) Выборка будет делаться легко: select * from ads where region='5' and category='2'; Выведет все из таблицы ads, из региона Москвы, и категории "Новые авто", которая является субкатегорией "Авто". Как то так.
1
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
16.01.2013, 23:27 | 5 |
Вот только что за поле subcategory?
Луче уж тогда назвать parent_id и хранить в нём id родительской категории для вложенных категорий, и нулл или 0 для корневых.
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
17.01.2013, 00:00 [ТС] | 6 |
Вот прикинул как должна будет выглядеть бд, если что то не правильно прошу поправить.
таблица category: id |name_en|name_ru|parent_id| таблица in_category: id |name_en|name_ru| таблица items: id | name | email | phone | title | cena | text | id_regions | category_id | user_id | password | datepud |
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 00:01 | 7 |
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
17.01.2013, 00:18 [ТС] | 8 |
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 00:38 | 9 |
Подкатегории в той же таблице что и категории, для этого и нужно поле parent_id
1
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|||||||||||||||||||||||||||||
17.01.2013, 13:56 [ТС] | 10 | ||||||||||||||||||||||||||||
Значит так?
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 14:08 | 11 |
Зачем нетбуки и телефоны Вы вложили в новые авто?
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
17.01.2013, 14:29 [ТС] | 12 |
Я думал у всех категорий id_parent должен быть 0. А у под категорий там (1,1,1),(2,2,2),(3,3,3)... и все ссылаются на родительский "0", иначе как связать категории с под..
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 14:35 | 13 |
Верно.
Но у нетбуков какой у вас парент ид? = 2 а у какой категории ИД = 2? у новые авто А значит что нетбуки вложены в новые авто
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
17.01.2013, 15:15 [ТС] | 14 |
Ааа... вроде догнал
5 |noutbuki|ноутбуки|4| 6 |telefony|телефоны|4| Вот правильней?
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 15:19 | 15 |
Да.
1
|
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
|
|
17.01.2013, 15:44 | 16 |
Да, ты таки прав, НО если человек задает такие вопросы, врядли он осилит концепцию родительских обьектов.
Да и для понимания, как должно работать, у него должно быть как можно больше видно на ладони ))
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 15:50 | 17 |
Уж проще чем этой схемы я думаю нет.
я же не предлагаю ему nested set юзать, что в случае с категориями было бы лучше. Ну и вроде бы он понял суть
0
|
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 37
|
|
17.01.2013, 15:53 [ТС] | 18 |
А для регионов такая же схема будет?
0
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
17.01.2013, 15:56 | 19 |
Да как хотите.
Если так же делать, то при выборе по всему региону, вам придётся выбирать вложенные нас пункты. И уже для них выбирать записи. Это будет немного сложнее запрос, чем разбить регионы и нас пункты на две разные таблицы, и связь сделать отдельно для региона и отдельно для нас пункта. Решать Вам
0
|
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
|
|
17.01.2013, 16:01 | 20 |
Да, Popigrup, вынос категорий и подкатегорий в две таблицы - проще, запрос короче, выглядит нагляднее, лучше редактируется.
Но масштабируемость трудоемкая, например, если подкатегорий будет не один уровень, а десять Я в своих проектах делал через parent_id.
0
|
17.01.2013, 16:01 | |
17.01.2013, 16:01 | |
Помогаю со студенческими работами здесь
20
Хочу найти скрипт доски объявлений на пхп такой : Структура бд доски объявлений Движок для доски объявлений CMS для доски объявлений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Интеграция Arduino и ChatGPT: Практическое руководство
InfoMaster 16.01.2025
В современную эпоху технологических инноваций интеграция искусственного интеллекта с микроконтроллерами открывает принципиально новые возможности для создания умных устройств и автоматизированных. . .
|
Как создать робота, управляемого ChatGPT
InfoMaster 16.01.2025
Концепция проекта
В современную эпоху искусственный интеллект и робототехника становятся все более доступными для энтузиастов и разработчиков. Создание роботизированной руки, управляемой ChatGPT,. . .
|
Как создать ChatGPT бота в Telegram на Python
InfoMaster 16.01.2025
В современном мире технологии искусственного интеллекта становятся все более доступными для разработчиков, открывая новые возможности для создания умных и интерактивных приложений. Одним из самых. . .
|
Машинное обучение с помощью Python
InfoMaster 16.01.2025
Машинное обучение стало неотъемлемой частью современных технологий, позволяя компьютерам учиться на основе данных и принимать решения без явного программирования. В сочетании с языком. . .
|
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP
В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
|
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
|
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
|
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|