1 / 1 / 2
Регистрация: 11.07.2014
Сообщений: 16

Какую структуру хранения данных выбрать?

13.07.2014, 09:21. Показов 1557. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как правильно организовать хранение данных для следующего случая.
Предположим есть таблица объявлений(ид, текст объявления, ид_города)(ид_города - город, где находиться объявление) и таблица городов(ид, город). Вопрос следующий, допустим пользователь, при добавлении объявления, хочет выбрать несколько городов для объявления, как правильно организовать структуру в таком случае. Мне на ум приходит только в столбце "таблица объявлений.ид_города" хранить ид городов через точку или запятую, но в этом случае нарушается атомарность БД. Ещё должна быть возможность поиска объявлений по городам(ну в предложенном мною варианте можно искать с помощью LIKE).
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.07.2014, 09:21
Ответы с готовыми решениями:

При создании базы данных на PHP my Admin какую выбрать сравнение ?
можете описать подробно именно какую и почему ? потому их там очень много я думаю это не просто так или оставить просто по умолчанию ?

Какую web-технологию выбрать
Всем привет. Прилетела тут ко мне задача написать приложение на Java которое управлялось бы с web-страницы. Т.е. на сервере работает...

Какую базу данных выбрать для локального хранения
Здравствуйте. Хочу написать свое первое приложение для андроид подскажите ответ на пару вопросов. Приложение будет проверять машины на...

2
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
13.07.2014, 10:31
Лучший ответ Сообщение было отмечено alexforce2 как решение

Решение

у вас обычная связь "многие ко многим" (в одном городе могут быть несколько объявлений и одно объявление может быть в нескольких городах). вам не ид города надо в таблицу объявлений запихивать, а делать отдельную связующую таблицу (id города, id объявления). и выборка будет происходить в два джоина, а не в один.
см например, http://habrahabr.ru/post/193380/

Не по теме:

Цитата Сообщение от alexforce2 Посмотреть сообщение
нарушается атомарность БД
не атомарность, а нормализация. ну и в каком-то роде, согласованность. в субд атомарность -- это про транзакции, можете в вики почитать)

0
1 / 1 / 2
Регистрация: 11.07.2014
Сообщений: 16
13.07.2014, 17:14  [ТС]
Цитата Сообщение от NEbO Посмотреть сообщение
делать отдельную связующую таблицу (id города, id объявления)
У меня была такая мысль тоже, но я, почему-то, засомневался, теперь сомнения пропали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.07.2014, 17:14
Помогаю со студенческими работами здесь

Необходимо выбрать структуру (список, К-Ч дерево и т.д) для хранения данных
Решил описать задачку здесь, может кому тоже интересно будет, такие не каждый день на выдумывание хитрых алгоритмов дают, это не скучная...

Какую выбрать структуру данных ?
Массив пар <string, unsigned long>. В массиве всегда постоянное число элементов (8), поля string изначально заполнены (уникальными...

Какую структуру данных выбрать для многосвязного многоугольника
Приветствую всех! Собственно, нужно выбрать какую-то структуру данных для представления многосвязного многоугольника . Т.е. имеется...

Какую структуру программы выбрать?
Задача: приложение под Windows, одна форма. Необходимо отмерять время (точности 0.1 с хватит), но в процессе тикания таймера отвлекаться на...

Хранение координат - какую выбрать структуру
в программе считываются координаты типа double, заранее число пар координат не известно, какую структуру данных использовать для их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском https:/ / vkvideo. ru/ video-231374465_456239020 На английском https:/ / www. youtube. com/ watch?v=oskqtCrWns0 Исходники примера:
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru