powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильная ли структура БД?
8 сообщений из 8, страница 1 из 1
Правильная ли структура БД?
    #37597519
PeterXa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли я все делаю?
Итак, есть Поставщик товара, Линия товаров, Описание товара и собственно товар.

Таблица Поставщик товара:
- id
- id Линии товара
- имя поставщика
- описание

Таблица Линия товаров:
- id
- название
- описание

Таблица Описание товара:
- id
- id Линии товара
- название товара
- описание товара
- вес
- габариты
- есть ли на складе

Таблица Товар:
- id
- id Поставщика товара
- id Описание товара
- цена
- …

Вроде бы все ок, но смущает один момент. Теоретически Товар может ссылаться на Описание товара, которое не из той Линии товаров, к которой относится Поставщик товаров. Понятно, что это можно контролировать при добавлении товара. Итак, вопрос – правильно ли я сделал структуру БД? Возможно, есть какие-то варианты, в которых этой проблемы не будет. Спасибо заранее.
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37597654
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PeterXaВроде бы все ок, но смущает один момент. Теоретически Товар может ссылаться на Описание товара, которое не из той Линии товаров, к которой относится Поставщик товаров.
Пора заносить в FAQ.

Этот момент решается прописыванием составных внешних ключей. В Вашем случае - в описание товара вносится поле "id поставщика" и прописывается ключ оттуда на поставщика по паре полей "ид поставщика, ид линии".

Это если не считать того странного момента, что у Вас линия включается в себя нескольких поставщиков. Обычно вроде наоборот - некоторые товары поставщика объединяются в линию.
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37597735
PeterXa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softmaster, спасибо!
Разобрался - топик можно закрывать.
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37598228
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/28/2011 05:49 PM, PeterXa wrote:

> Таблица Поставщик товара:
> - id
> - id Линии товара
> - имя поставщика
> - описание

Тут скорее всего ошибка, линии товара тут не должно быть.
Один поставщик почти наверняка может поставлять товары нескольких линий
товара. Правда, конечно, что такое "линия товара" я понимаю
смутно, видимо, это какое-то измерение классификации товара.
Тогда линия должна быть атрибутом товара. (как и сделано ниже).

>
> Таблица Линия товаров:
> - id
> - название
> - описание
>
> Таблица Описание товара:
> - id
> - id Линии товара
> - название товара
> - описание товара
> - вес
> - габариты
> - есть ли на складе

Это просто таблица товара.
Поле "есть ли на складе" лучше
выкинуть, и заменить его таблицей состава
склада. Там будет "сколько", и по этому
"сколько" можно будет всегда сказать, есть
товар на ДАННОМ складе или нет. Складов наверняка
может быть не один.

> Таблица Товар:
> - id
> - id Поставщика товара
> - id Описание товара
> - цена
> - …
>

ЭТо -- не товар, это -- прайс-лист поставщика.
Оно конечно, можно называеть как угодно, хоть горшком,
только в печь не ставить, но всё же зачем самому себя и коллег
обманывать ?

Первый ID избыточен.


> Вроде бы все ок, но смущает один момент. Теоретически Товар может ссылаться на
> Описание товара, которое не из той Линии товаров, к которой относится Поставщик
> товаров. Понятно, что это можно контролировать при добавлении товара.

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


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37598230
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/28/2011 06:41 PM, softwarer wrote:

> Этот момент решается прописыванием составных внешних ключей. В Вашем случае - в
> описание товара вносится поле "id поставщика" и прописывается ключ оттуда на
> поставщика по паре полей "ид поставщика, ид линии".

Хочеш сказать, что товар может поставляться только одним поставщиком ?
Как-то сомнительно.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37598232
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivХочеш сказать, что товар может поставляться только одним поставщиком
Смотря что понимать под поставщиком - вендора или дистрибьютора. Если второе, должна быть "многие ко многим", которой не наблюдается. Поэтому предполагаю первое.
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37598643
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/29/2011 02:08 AM, softwarer wrote:

> Смотря что понимать под поставщиком - вендора или дистрибьютора. Если второе,
> должна быть "многие ко многим", которой не наблюдается. Поэтому предполагаю первое.

А что, вендоров много не может быть ?



Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Правильная ли структура БД?
    #37598664
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА что, вендоров много не может быть ?
А сколько вендоров поставляют товар "Microsoft Windows"? "HP Proliant DL380"? Да хотя бы "молоко "Домик в деревне""?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильная ли структура БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]