![]() |
|
Модераторы: LSD |
![]()
|
|
| EugenyPavlenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Добрый день.
Мне нужно сделать доску объявлений. Как мне быть с таблицами для хранения товаров? Например если раздел "машины" то там будут колонки: объем двигателя, расход и т.д если например "телефизоры", то: размер диагонали, частота и т.д Это получается для каждого раздела мне создавать отдельную таблицу? А если раздело 50, то получится 50 таблиц? Или есть другой выход? Это нормально если будет 50 таблиц? Или это сильно нагрузить сервер? Заранее спасибо. Это сообщение отредактировал(а) Dzuchara - 28.12.2007, 23:12 |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: нет Всего: 65 |
Приветствую.
Все зависит от того какие данные на товар должны храниться. Потом есть такое понятие как нормализация. Она выполняется при проектировании БД. Если данные которые надо хранить для описания товара одинаковы для нескольких товаров, то можно создать общую таблицу и добавить в нее поле характеризующее тип товара. Например: имеем поставщиков и клиентов. Те и другие имеют одинаковые характеристики: название, адрес, счет в банке и т.д. Но одни поставщики, а другие клиенты. Добавляем к полям название, адрес, ... и так далее еще поле тип, в котрое заносим одну букву п или к. А саму таблицу назовем Контакты. Логика понятна. А насчет сервера не волнуйся, бывают БД и поболее. Сервер справиться. Это сообщение отредактировал(а) thomas - 28.12.2007, 23:20 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: нет Всего: 29 |
Сделайте одну таблицу и храните всю информацию о товаре в одной ячейке.
Добавлено через 2 минуты и 5 секунд Согласен с thomas. В качестве селекторов используйте общие для всех товаров поля. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 5 Всего: 260 |
все свойства можно разбить на несколько категорий:
по типу данных:
разные типы полей хранить отдельно(7 вариантов максимум - для ссылочного типа не надо предусматривать возможность выбора из фиксированного списка), чтоб можно было реализовать разные индексы(для текстового поля, вводимого вручную - полнотекстовый поиск; для значения, выбираемых из списка - индекс по числовому полю). запросы будут сложным набором join-ов, но в общем случае сортировка и небольшая фильтрация(по значениям одного/двух полей) должна, как мне кажется идти быстрее. ну, и структура гибка, как черт - почти любой вариант данных о самом разном товаре можно в эту структуру "уложить"(допускаю исключения, но в голову не приходят как-то). первой разделение по типу пригодится не только для разделения числовых/строковых индексов, но и для того, чтоб предусмотреть или уьрать возможность сортировки по тому или иному полю - например, сортировка по ссылкее на сайт изготовителя не нужна. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
конечно... Таблица характеристик товара в объявлении: ID записи (pri key) ID объявления (ext key в таблицу объявлений) ID характеристики (ext key в таблицу характеристик) значение Возможно, что такая таблица будет хранить не данные по каждому объявлению, а данные по категории объявлений Таблица характеристик категории объявлении: ID записи (pri key) Наименование категории Номер колонки Наименование характеристики есть еще варианты -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| EugenyPavlenko |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
thomas,
вся проблема в том, что полей очень много, не хотелось бы их всех в одну таблицу.... Wolf1994, в этом случае затрудняется обработка и поиск. Всем огромное спасибо! Я проанализирую и выберу лучший вариант. |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: нет Всего: 65 |
Dzuchara,
А я и не предлагал все поля в одну таблицу помещать. Если есть товары с одинаковыми характеристиками, но разных типов, то для них можно создать одну таблицу, в которую поместить поле характеризующее тип товара. А если характеристики товаров разные, то нужно делать отдельные таблицы на каждый товар. Даже при большом количестве таблиц при разумном их проектировании можно создать компактную и быструю базу. Главное в таком случае подобрать правильные типы для хранения данных и их размер. Посмотреть возможность индексации полей. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |