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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2011, 17:52   #1
xbarmaleyx
Пользователь
 
Регистрация: 27.02.2011
Сообщений: 10
По умолчанию Написать запросы

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

Отношения - объекты:
Поставщик (KPOST, NPOST, ADR);
Предприятия (KPRED, NPRED, ADRI);
Предмет (KCE, NCE, CENA, TIP);
Отношения - связи:
Состав изделий (KCE, KCE, KOL);
Поставщик - Предприятие - Изделие (KPOST, KPRED, KCE, KOL1).
Отношение объектов в связях «многие к многим»: (N:M).
Список реквизитов:
KPOST - код поставщика,
NPOST - наименование поставщика,
ADR - город размещения поставщика,
KPRED - код предприятия,
NPRED - наименование предприятия,
ADR1 - город, где размещено предприятие,
KCE - код предмета (изделие, узел или деталь),
NCE - наименование предмета,
CENA - цена,
TIP - тип предмета (если=1, то это сборка, иначе - деталь).
KOL - количество сборочных единиц с кодом КСЕ, входящих в сборку.
Запросы:
а) Получить значения KPOST поставщиков, снабжающих предприятие KPRED=273 комплектующими с ценой CENA>17.
б) Определить количество и наименование NCE комплектующих, входящих в сборочную единицу КСЕ=170.

Вот что получилось:
create table postavshik
(kpost integer,
npost varchar(30),
adr varchar(35));

create table predpr
(kpred integer,
npred varchar(30),
adri varchar(30));

create table predmet
(kce integer,
nce varchar(30),
cena float,
tip integer);
если я правильно понимаю, нужно организовать связь между таблицами?

insert into postavshik (kpost, npost, adr)
values (1, 'Ромашка', 'Москва');

insert into predpr (kpred, npred, adri)
values (2, 'Техоносистема', 'Санкт-Петербург')ж

insert into predmet (kce, nce, cena, tip)
values (001, 'Труба', '250.00', '1');

а) select p.kpost, p.kpred, p.cena
from postavshik p, predpr p, predmet p
where kpost = (kpred=273 and cena>17) -не уверен что правильно
б) не осилил (

Прошу строго не судить, только начал изучать. Спасибо за помощь.
xbarmaleyx вне форума Ответить с цитированием
Старый 27.03.2011, 15:49   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
если я правильно понимаю, нужно организовать связь между таблицами?
Да. Либо отдельная таблица
Код:
LINKS
 PREDMET_ID integer; код предмета из PREDMET
 PREDPR_ID integer; код предприятия из PREDPR
 POSTAV_ID integer; код поставщика из POSTAVSHIK
либо аналогичные поля быть включены(добавлены) в PREDMET.

insert into LINKS (PREDMET_ID, PREDPR_ID, POSTAV_ID)
values ('001',1,2)

а) select [COLOR=p.kpost, p.kpred, p.cena
from postavshik p, predpr p, predmet p
where kpost = (kpred=273 and cena>17) -не уверен что правильно
здесь должны быть РАЗНЫЕ имена (pst, prdp, prdm к примеру )

Код:
а) select pst.kpost, prdr.kpred, prdm.cena
from postavshik pst, predpr prdp, predmet prdm, LINKS
where
-- условия формирования связей между таблицами
( LINKS.predmet_id=prdm.KCE and LINKS.predpr_id=prdr.kpred and LINKS.post_id=pst.kpost )
 and 
-- условия выбора данных
      pst.kpred=273 
and prdm.cena>17
б) Определить количество и наименование NCE комплектующих, входящих в сборочную единицу КСЕ=170.

где-то должно быть поле указывающее что данная деталь(предмет) входит в сборку такую-то (КСE=170).. Еще одна связь.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 27.03.2011 в 15:57.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать sql запросы student223 SQL, базы данных 8 16.05.2012 14:41
запросы Marusiabl SQL, базы данных 1 16.11.2010 09:59
С++. Запросы в БД morindos Помощь студентам 1 24.06.2010 11:42
Запросы ара Помощь студентам 20 13.05.2010 11:54
Запросы к БД xDjarx БД в Delphi 6 14.05.2008 17:04