Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
 Составить sql-запрос, прошу помощи.  [new]
vlad20295
Member

Откуда:
Сообщений: 1
Возник такой вопрос, нужно составить SQL-запрос по отношениям структуры базы данных поставщиков и деталей.
Дана структура базы данных поставщиков и деталей:
Поставщики (Номер_пост, Назв_пост, Тел, Город_пост);
Детали (Номер_дет, Назв_дет, Цвет, Вес, Город_изгот_дет);
Проекты (Номер_пр, Назв_пр, Город_пр);
Поставки (Номер_пост, Номер_дет, Номер_пр, Количество
-
Используя эти отношения, нужно составить SQL-запрос, выводящий информацию о названии поставщиков, которые выполнили менее 10 поставок.
Очень прошу помочь, пожалуйста, не будьте равнодушны, срочно нужно сдать работу, а изучать язык не хватает времени.
29 июн 20, 11:32    [22158915]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50472
Тогда изучи только ключевые слова select, group by, having, count.
29 июн 20, 14:02    [22159056]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47616
Мда... учащимся всегда не хватает времени. Закон эпохи.

А мне хватало. В студенчестве мои друзья в ПТ вечером шли на бульвар пить
светлое пиво на лавочках и тискать своих подруг за сиськи.

А я - шел в библиотеку. Вот такой вот я был ботан.
29 июн 20, 22:38    [22159293]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 18539
mayton,

В библиотеку не ходил ни разу. Ходил в компьютерный класс, где и пропадал часами и днями. Даже некоторые занятия поручали вести.
30 июн 20, 09:51    [22159463]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1392
mayton,

Нам в шагаре препод выдал электронный учебник по sql. Я его прочитал, вот собственно и всё. Что там знать? Sql хороший строгий язык. Множества понимаешь, декартово произведение понимаешь, всё, sql даётся легко и просто. Главное не натягивать его на всё подряд и не извращаться со всякими иерархиями, рекурсией и прочим развратом типа 3-я запись после двух до этого и одной после или выбрать все строки, где ячейки с единицей образуют букву Ы.
30 июн 20, 11:36    [22159531]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47616
crutchmaster, твой пост - шикарен. Я-бы его включил в учебники. Хех.

Но если почитать практические вопросы которые лезут у прикладников - там не проблема
в самом SQL. А как я себе вижу - проблема бесконечных вопросах интеграций (ORM, mappings),
проблема понимания транзакций (90% кодеров не различают READ COMM/SERIALIZ.) и
не знают когда и зачем их применять. Забывают дать фиксацию коммита или отката
в секции Exception вследствие чего приложение подвисает на заблокированном пуле БД.

И самый главный бич - перформанс. Это мой конек. И я могу говорить о перформанса БД
часами. Его вообще никто не знает и им никто не занимается в разрезе конкретной БД
особенно если она стоит под ORM технологиями.

Вот как-то так. А ты говоришь - слон декартово произведение. Ха...
30 июн 20, 11:44    [22159544]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1392
mayton,

Так все проблемы, кмк и начинаются, из за всякого orm, злоупотреблением транзакциями и прочими вещами. Тут один перец использует транзакцию, как сессию. В веб морду заходит юзер платить, создаёт предварительный платеж, ему что-то посчиталось, выдало, после этого он нажимает "Всё, ок" и транзакция фиксируется. Я хз, как он её откатывет, если сессия порвётся. Поди стоит какой-то очередной джоб, который раз в 5 минут делает роллбек. И такое у них везде. Я сильно в бд не лезу, но мне физически плохо от такого каждый раз.

Сообщение было отредактировано: 30 июн 20, 12:36
30 июн 20, 12:37    [22159599]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1392
mayton,

Надо еще про нормальные формы добавить, но я там сам плаваю в теории и сходу не скажу, что такое нф2. Впрочем они логически вытекают из сути реляционной модели и если её понимаешь, то там и так всё понятно.
И без этого нехрен в базы лезть. Советы с форума и SO не помогут, когда всё пойдёт по бороде.

Сообщение было отредактировано: 30 июн 20, 12:51
30 июн 20, 12:46    [22159606]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20492
crutchmaster
Что там знать? Sql хороший строгий язык. Множества понимаешь, декартово произведение понимаешь, всё, sql даётся легко и просто.
Мало. Пока не научишься думать множествами, а не итерациями, ни фига не получится. Кстати, именно поэтому программисту-процедурнику тяжко даётся вход в SQL, по крайней мере поначалу... такие подзапросы наворачивают - жуть!
30 июн 20, 12:57    [22159614]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47616
Поздапросы - не запрещены. Пускай делает. Более того. В реляционной алгебре гарантируется что
результат любой выборки - может быть обработан еще раз выборкой. И можно рекурсивно
определять одни бизнес правила через другие и т.д.
+
С этой точки зрения SQL - идеально
тестабелен для поиска ошибок в данных. Обычно любой бизнес пользователь просто
делая SELECT FROM (SELECT ...) e.t.c. и быстро находит что надо. А какой объем дейтсвий
надо было-бы сделать для какой-то нереляционной системы чтоб найти кривизну - чорт
его знает. В большинстве случаев стоимость такого поиска была бы в десятки раз больше
и надо было-бы привлекать девелопера к поиску.

И вообще для SQL очень слабо прослеживается зависимость оптимальности execution plan от внешнего
вида запроса. Тут уже каждая DBMS по своему вносит свою экспертизу знаний. Но внешне очень
многословные SQL queries могут работать быстро. И наоборт внешне простые - могут очень долго
не отдавать первую строку выборки.
30 июн 20, 13:49    [22159656]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20492
mayton
Поздапросы - не запрещены. Пускай делает.
Когда вместо вменяемого JOIN наверчены коррелированные подзапросы (обычно в списке вывода) - это ни разу не "пускай делает".

Да, бывает, что такой способ разумнее - но так редко...

Сообщение было отредактировано: 30 июн 20, 14:05
30 июн 20, 14:06    [22159671]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
mayton
Member

Откуда: loopback
Сообщений: 47616
Если есть логика UI-билдера который билдит SQL-тело автоматически исходя из фильтров
то ему чисто организационно удобнее делать позрапросы вместо JOIN.

Но каждый случай надо рассматривать отдельно. Я готов согласиться если увижу что
execution plan плохой именно из-за позрапроса.
30 июн 20, 14:09    [22159679]     Ответить | Цитировать Сообщить модератору
 Re: Составить sql-запрос, прошу помощи.  [new]
ИВП
Member

Откуда:
Сообщений: 372
Вот и подмогли разгильдяю-двоечнику ((((((((((((((((((((((((
30 июн 20, 20:51    [22159964]     Ответить | Цитировать Сообщить модератору
Все форумы / Вопрос-Ответ Ответить