Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Декомпозиция без потерь или как сделать ограничение целостности / 8 сообщений из 8, страница 1 из 1
17.05.2012, 19:09
    #37799765
maybe_this_login_is_not_busy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
Здравствуйте. Посоветуйте как решить проблему или где почитать.

Есть следующая структура таблиц (условно), которая прикреплена во вложении.

У продавца есть перечень товаров, каждый товар относится только к одной категории, но товаров одной категории у продавца несколько.

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

Декомпозицию правильно провести не удалось.

Если я не понятно изложил могу переформулировать.
...
Рейтинг: 0 / 0
17.05.2012, 20:36
    #37799848
rifle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
А почему не хотите добавить в таблицу DealerToGoods признак IsDefault?
...
Рейтинг: 0 / 0
18.05.2012, 08:47
    #37800186
maybe_this_login_is_not_busy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
авторА почему не хотите добавить в таблицу DealerToGoods признак IsDefault?
Хотя бы потому, что можно будет назначить 2 товара из одной категории по умолчанию для одного продавца. Конечно можно проверять триггером или процедурой, но в том то и вопрос, что хочеться обеспечить целостность архитектурно а не программно.
...
Рейтинг: 0 / 0
18.05.2012, 11:16
    #37800489
Декомпозиция без потерь или как сделать ограничение целостности
Составной ключ у товара (ид_категории, ид_товара) может решить данную проблему с помощью ограничений целостноти, но стоит ли вводить составной ключ ради этого - это еще нужно подумать
...
Рейтинг: 0 / 0
18.05.2012, 12:29
    #37800690
maybe_this_login_is_not_busy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
>Составной ключ у товара (ид_категории, ид_товара) может решить данную проблему с помощью ограничений целостноти, но стоит ли вводить составной ключ ради этого - это еще нужно подумать

вы хотите сделать так?
...
Рейтинг: 0 / 0
18.05.2012, 12:31
    #37800704
maybe_this_login_is_not_busy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
Извиняюсь за неудачное оформление
...
Рейтинг: 0 / 0
18.05.2012, 13:03
    #37800811
Ы
Ы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
maybe_this_login_is_not_busy,

DefaultDealerToGoods должно быть представлением, выбирающим ровно один товар из каждой категории.
...
Рейтинг: 0 / 0
18.05.2012, 14:12
    #37801001
maybe_this_login_is_not_busy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Декомпозиция без потерь или как сделать ограничение целостности
авторDefaultDealerToGoods должно быть представлением, выбирающим ровно один товар из каждой категории.
Так нужно же хранить информацию о товарах по умолчанию для каждого продавца, а не просто их выбирать, не составлять же километровый запрос из селектов для каждого продавца в представлении.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Декомпозиция без потерь или как сделать ограничение целостности / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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