|
21 / 21 / 1
Регистрация: 28.12.2009
Сообщений: 195
|
|
Правильный проект БД. Как поступить?24.01.2010, 21:08. Показов 1901. Ответов 6
Метки нет (Все метки)
Здравствуйте, уважаемые знатоки! Бд хранит информацию о керамической плитке. Одна коллекция плиток может быть задействована в нескольких дизайнах помещений. Один дизайн помещения может содержать несколько коллекций в себе. В одной таблице с первичным ключом id_plitka хранится название коллекции (плитки с разным id могут быть в одной коллекции), также хранится в одной ячейке название проектов, в которых участвует плитка, в другой ячейке хранится адрес с картинкой плитки. Так вот, как сделать запрос, чтобы он выдавал проекты в которых участвует коллекция, плитка? Допостуим ищем проекты в которых участвует коллекция. Сортируем таблицу по коллекции. Будет несколько строк. В ячейке где храниться название проектов может хранится несколь имен проектов, причем в разных ячейках они могут повторяться. Как сделать выборку, чтобы имена проектов в которых участвует выбранная коллекция не повторялись? Как выбрать проект и показать плитку в котором он участвует? Я пока планирую создать две таблицы. В одной таблице параметры плитки и участиев проектах, в другой таблице имея проекта (первичный ключ), название плиток и коллекций, которые в нем задействованы. Сколько мне таблиц лучше создать? Как связать? Как правильно выбрать ключи? Наименований плитки будет около 11 000, проектов меньше. Ваши предложения. Заранее спасибо.
0
|
|
| 24.01.2010, 21:08 | |
|
Ответы с готовыми решениями:
6
Правильный ли у меня проект сети? как поступить как поступить |
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
||||||||||||||||
| 25.01.2010, 15:00 | ||||||||||||||||
|
Три таблицы:
1. Коллекции 2. Проекты 3. Связная проекты-коллекции Грубо описывая:
2
|
||||||||||||||||
|
21 / 21 / 1
Регистрация: 28.12.2009
Сообщений: 195
|
|
| 26.01.2010, 13:28 [ТС] | |
|
Спасибо. Понял. Только так. В одной коллекции может быть несколько плиток. В одном проекте может участвовать несколько коллекции и соответственно плиток. Решил сделать немножко по другому. Таблица где хранятся параметры плитки, в том числе столбец с указанием к какой коллекции принадлежит плитка и столбец с указанием проектов в которых плитка участвует. И вторая таблица с название и id проекта, с указанием какая плитка в нем участвует. В одной ячейке мжет хранится несколько значений. И третья таблица для связи проект-плитка. Там id плитки и проектов. Для поиска по коллекции достаточно будет использовать первую таблицу. Если моя идея неправильна, то подправьте меня, пожалуйста. А с синтаксисом проблем нет. Мне главное сейчас как правильно организовать БД. Просто я новичок. Ещё раз спасибо за помощь.
0
|
|
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
||||
| 26.01.2010, 13:45 | ||||
|
Итого: Если нужно добавить еще данные о конкретной плитке, сделайте для них всего одну отдельную таблицу с полями (id, collection, parameter1, parameter2, ...). Поле collection должно содержать id коллекции, в которую входит плитка. При проектировании особенно важно: четко сформулировать, какие выборки вам понадобятся. Например: 1. Количество видов плитки, используемое в конкретном проекте 2. Список коллекций, используемых в проекте 3. Список проектов, где задействована конкретная плитка ...
1
|
||||
|
21 / 21 / 1
Регистрация: 28.12.2009
Сообщений: 195
|
||||||
| 26.01.2010, 14:01 [ТС] | ||||||
|
0
|
||||||
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
||||||||||||
| 26.01.2010, 14:30 | ||||||||||||
|
Выборка проектов, где использована плитка plitka_id:
![]() Да уж, вопросов будет все больше и больше. Я бы посоветовал почитать что-то по базам данных. Именно теорию, а не руководство по MySQL. На моей памяти неплохая теория была и в справочной системе по Access. По крайней мере, основные понятия и отношения в БД были расписаны очень понятно.
2
|
||||||||||||
|
21 / 21 / 1
Регистрация: 28.12.2009
Сообщений: 195
|
|
| 17.02.2010, 17:40 [ТС] | |
|
Три таблицы: 1. Таблица с характеристиками плитки. 2. Таблица с характеристиками проектов. 3. Таблица с id плитки и id проектов. Проблема решена. Всем спасибо.
0
|
|
| 17.02.2010, 17:40 | |
|
Помогаю со студенческими работами здесь
7
Как поступить? Как поступить? как поступить?
Как поступить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|