![]() |
![]() |
Scorp_Freeman |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 68 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Пытаюсь построить БД состоящую из 4 таблиц: Заказчик, Заказы, Производитель и Изделия.
Как я представляю себе эту базу я изобразил на схеме. Полей там будет побольше, что в принцыпе пока маловажно) Только вот проблемка что я могу связать Фирму и Изделия( ведь не все фирмы могут производить весь ассортимент... Далее мне из базы надо будет написать след. запросы: Подсчитать на какую сумму Заказчик1 заказал изделий Изделие1 фирмы Фирма1; Какие изделия производит Фирма1. Проблемно для меня определиться со структурой БД ( Добавлено через 12 мин. Или может быть в "Заказах" знать о производитель не особо важно.... тогда я думал можеттак(прикрепил)... Но тогда все изделия имеют одинаковую цену не зависящую от производителя Эскизы прикрепленных изображений ![]() ![]() |
![]() ![]() |
hardcase |
![]()
Сообщение
#2
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Только вот проблемка что я могу связать Фирму и Изделия( ведь не все фирмы могут производить весь ассортимент... Это связь многие-ко-многим. Реализуется через промежуточную таблицу (таблица маппинга изделий на фирмы) - Vendor_Products. В этой таблице всего 2 поля: Product_id и Vendor_id. Оба поля представляют собой первичный ключ. Чтобы получить все продукты выпускаемые фирмой с id = 15 достаточно выполнить простой внешний джойн: Код SELECT p.Product_id, p.Title FROM Vendor_Products AS vp LEFT OUTER JOIN Products AS p ON vp.Vendor_id = 15 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 3:34 |