Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 2
1

Проектирование БД

26.11.2015, 10:27. Показов 510. Ответов 4
Метки нет (Все метки)

Добрый день.
Полноценного опыта проектирования нет. Только учебные проекты.

Суть в следующем: Проектируется база данных, в которой будет осуществляться учет продукции. Мой ступор в том, что у продукции нужно вести учет характеристик, которые у каждого отдельного вида товара различные как по количеству, так и по типу данных.

Для простоты упрощенный пример:

Продукция это металлический шар, деревянный кирпичик и надутый воздушный шарик.

Пока нужно вести учет параметров которые есть у всех, допустим цвет, материал, вес - все просто:

Таблица для хранения видов материала, таблица вариантов цветов и таблица видов продукции и таблица учета продукции с выбором вида продукции, материала, цвета и занесением веса.

Но мне нужно хранить так же информацию для шара - диаметр, для кирпичика - размеры сторон и плотность, для воздушного шарика - давление и "дату надувания".

Как это организовать? В одной таблице учесть все возможные параметры и не заполнять некоторые - не рационально, перечит тому, что учил, да и при появлении нового товара со своими параметрами приводит к реорганизации базы.

Вести учет каждого товара в отдельной таблице? Как тогда организовать общий учет? И при появлении нового товара придется создавать новую таблицу и прописывать новые запросы.

Думал сделать отдельную таблицу со списком параметров по каждому товару, но тогда все параметры должны быть одного типа.

Я в полном недоумении.

Посоветуйте что-нибудь, куда мне двигаться...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2015, 10:27
Ответы с готовыми решениями:

Проектирование БД
Здравствуйте. Нужна помощь в проектировании БД под приложение. Задание такое: Система Приемная...

Проектирование БД
Предыстория: Когда то я написал для себя программу "органайзер" на Qt. Она хранила две таблицы...

Проектирование БД
Здравствуйте! Разрабатываю БД, которая будет хранить информацию о стоматологии. (я новичок, прошу...

Проектирование БД
Две таблицы могут ли иметь две связи между собой ?

4
3192 / 1933 / 686
Регистрация: 02.06.2013
Сообщений: 4,736
26.11.2015, 11:09 2
Цитата Сообщение от Cymric Посмотреть сообщение
Думал сделать отдельную таблицу со списком параметров по каждому товару, но тогда все параметры должны быть одного типа.
Да, примерно так и поступают. Это называется EAV.
Для хранения разных типов данных в одном столбце предназначен тип sql_variant.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 2
26.11.2015, 11:36  [ТС] 3
Я конечно, в SQL-server планирую делать, но в качестве общего развития: а если база не поддерживает аналога sql_varian? Как тогда поступать?

Была еще мысль под каждый тип данных возможных параметров разрабатывать отдельную таблицу, но тогда опять появляется вопрос Как тогда организовать общий учет.
0
3192 / 1933 / 686
Регистрация: 02.06.2013
Сообщений: 4,736
26.11.2015, 12:24 4
Цитата Сообщение от Cymric Посмотреть сообщение
а если база не поддерживает аналога sql_varian? Как тогда поступать?
Хранить в varchar, при использовании конвертировать в нужный тип.
Кстати, sql_variant так же потом придется явно приводить к нужному типу.
0
1518 / 1082 / 152
Регистрация: 23.07.2010
Сообщений: 6,028
27.11.2015, 08:44 5
Цитата Сообщение от invm Посмотреть сообщение
Хранить в varchar,
SAP так и делает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2015, 08:44

Проектирование БД
Никак не нарисую себе правильную модель. Вот у меня есть талцица с данными о товаре (у каждого...

Проектирование БД
Ребята,хочу бд спроектировать для риэлторской фирмы,знаний по бд нету и навыки программирования...

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

Проектирование БД
Добрый день! Лабораторную задали, она такая. Нужно спроектировать БД: в каждой квартире стоит...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.