Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2013, 17:26   #1
Atoris
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 32
По умолчанию Проектирование БД магазина

Привет. Нужно спроектировать базу данных для магазина музыкальных инструментов.

Если смотреть на пример БД Northwind, то в ней все товары числятся в таблице Products, у каждого товара есть своя категория, описание которой производится в таблице Category.

Мне же нужно, чтобы в зависимости от категории товара, у товара было разное кол-во полей для описания.

Как это можно реализовать ?
Atoris вне форума Ответить с цитированием
Старый 16.06.2013, 17:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
у товара было разное кол-во полей для описания.
А разве в примере кол-во полей разное?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.06.2013, 19:25   #3
Atoris
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А разве в примере кол-во полей разное?
одинаковое, а мне нужно разное.например, для категории гитар нужны поля: год, цвет, кол-во струн, стиль, продюсер.... А для категории аксессуаров(медиатор) нужны другие поля.
Строки столбца одной таблицы могут ссылаться на конкретные строки столбца в другой таблице. А для того, что мне хотелось бы, получается нужно создавать для каждой категории товаров отдельную таблицу, и в итоговой таблице всех товаров строки конкретного столбца должны ссылаться на разные таблицы. Есть предчувствие, что такое невозможно. Как тогда организовать структуру БД?
Atoris вне форума Ответить с цитированием
Старый 16.06.2013, 19:28   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Такие задачи решаются иерархическими СУБД )
Не тот инструмент ты значит выбрал. Cashe или Lotus тебе в помошь а не Сиквел.
Либо же делай разные таблицы для разных групп товаров, или храни их атрибутику в BLOB полях.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2013, 17:43   #5
Atoris
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Такие задачи решаются иерархическими СУБД )
Не тот инструмент ты значит выбрал. Cashe или Lotus тебе в помошь а не Сиквел.
Либо же делай разные таблицы для разных групп товаров, или храни их атрибутику в BLOB полях.
Спасибо, буду разбираться
Atoris вне форума Ответить с цитированием
Старый 07.12.2014, 20:54   #6
xatabich
Пользователь
 
Аватар для xatabich
 
Регистрация: 29.07.2013
Сообщений: 56
По умолчанию

А если попытаться хранить характеристики товара не горизонтально а вертикально т.е. -- Id + Prodact + Category_id -- вторая таблица
-- Id + Prodact_id + Name_Property + Property_znachenie --

Category

1 клавишные
2 струнные

Prodact
1 пианино 1
2 гитара 2


Prodact_property


получается
1 2 Цвет гитары белая
2 2 Струны никеливые

Последний раз редактировалось xatabich; 07.12.2014 в 20:58.
xatabich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проектирование БД Morgusha SQL, базы данных 1 03.06.2012 10:22
Проектирование БД для инт. магазина ? pompiduskus SQL, базы данных 7 12.04.2012 17:01
Проектирование БД. lovetolaugh БД в Delphi 3 15.06.2011 22:08
проектирование бд NieL Помощь студентам 1 28.04.2011 18:04
Проектирование JKING Помощь студентам 0 02.05.2010 17:56