Проектирование. 380305БИ_Проектирование баз данных_лабораторные_ПоповВБ.docx. Лабораторная работа 1. Интерфейс субд mysql. Предоставление доступа и привилегий. Утилиты, входящие в состав субд цель работы
Скачать 1.15 Mb.
|
II. Использование функций 1. Агрегатные функции. Примеры. а) Выдать общее количество поставщиков. Select count (*) from S Результат: 5 Подготовьте запрос и проверьте полученный результат. б) Выдать общее количество поставщиков, поставляющих в настоящее время детали. Select count ( distinct номер_поставщика ) from SPJ Результат: 4 Подготовьте запрос и проверьте полученный результат. в) Выдать количество поставок для детали P2. Select_count_(*)_from_SPJ_where_номер_детали=P2'>Select count (*) from SPJ where номер_детали='P2' Результат: 5 Подготовьте запрос и проверьте полученный результат. г) Выдать общее количество поставляемых деталей 'P2'. Selectsum (количество) fromSPJwhere номер_детали='P2' Результат: 1000 Подготовьте запрос и проверьте полученный результат. д) Выдать средний, минимальный и максимальный объем поставок для поставщика S1 с соответствующим заголовком. Select avg(количество) average, min(количество) minimum, max(количество) maximum from SPJ where номер_поставщика='S1'
Подготовьте запрос и проверьте полученный результат. 2. Ниже привиден перечень всех функций, используемых в операторе Select Функции select_expression может содержать следующие функции и операторы:
select_expression может также содержать один или большее количество следующих математических функций.
select_expression может также содержать одну или больше следующих строковых функций.
Еще несколько просто полезных функций, которые тоже можно применить в select_expression.
Групповые функции в операторе select: Следующие функции могут быть использованы в предложении GROUP:
Задание: 1. Выполнить проверку запросов из: 1го раздела (2, 6, 7, 9, 12), 2го раздела (а, б, д) 2. Подготовить 3 запроса с использованием различных функций работа с полем дата, со строковыми данными (в том числе групповых). 3. Подготовить и выполнить средствами СУБД MySQL 4 запроса по выборке информации из таблиц базы данных с использованием агрегатных функций.. 4. Подготовить и выполнить средствами СУБД MySQL 2 запроса по модификации информации (вставка, удаление, замещение) из таблиц базы данных для решения нижеприведенных задач. При этом в тех заданиях, где речь идет о создании таблиц, предполагается формировании постоянной таблицы базы данных. Варианты заданий на составление запросов по выборке информации из таблиц базы данных Вариант 1. 1. Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее поставляемое количество деталей. 2. Выдать все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие не являются попарно соразмещенными в одном городе. 3. Выдать номера изделий, для которых детали полностью поставляет поставщик S1. Т.е. поставляемых поставщиком S1 деталей достаточно для полного комплектования изделия. Состав деталей изделия можно оценить на основе базового набора данных таблицы поставка, имея в виду что в базовом наборе данных отражен полный состав всех изделий. 4. Выдать номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью P1 в количестве, большем, чем средний объем поставок детали P1 для этого изделия. Вариант 2. 1. Выдать общее количество деталей P1, поставляемых поставщиком S1. 2. Выдать все пары названий городов, таких, что какой-либо поставщик из первого города поставляет детали для некоторого изделия, изготовляемого во втором городе. 3. Выдать номера изделий, использующих только детали, поставляемые поставщиком S1. 4. Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона, для изделия, изготавливаемого также в Лондоне. Вариант 3. 1. Выдать номера и фамилии поставщиков, поставляющих одну и ту же деталь для всех перечисленных изделий. Перечень изделий согласовать с преподавателем. 2. Выдать общее число изделий (не деталей), для которых поставляет детали поставщик S1. 3. Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо красную деталь. Т.е. необходимо получить такие номера изделий, детали для которой поставляются всеми поставщиками, среди поставляемых деталей которого есть детали красного цвета. 4. Выдать все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие являются попарно соразмещенными в одном городе. Вариант 4. 1. Выдать номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь. Т.е. необходимо выдать полные сведения о всех поставщиках которые поставляют такие детали, которые есть в поставках поставщиков, поставляющих красные детали. 2. Выдать список деталей, поставляющихся для всех изделий, изготавливаемых в Лондоне. 3. Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона. 4. Выдать номера деталей, поставляемых для какого-либо изделия из Лондона. Вариант 5. 1. Выдать номера изделий, для которых детали поставляются по крайней мере одним поставщиком не из того же самого города, что и изделие. 2. Выдать список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно. 3. Выдать номера изделий, использующих, по крайней мере, одну деталь, поставляемую поставщиком S1. Т.е. показать такие изделия, для производства которых пригодились бы детали, поставляемые поставщиком S1. 4. Выдать номера и названия деталей, поставляемых для какого-либо изделия в Лондоне. Варианты заданий на составление запросов по модификации информации из таблиц базы данных Вариант 1. 1. Увеличить на 10 рейтинг всех поставщиков, рейтинг которых в настоящее время меньше, чем рейтинг поставщика S4. 2. Постройте таблицу, содержащую список номеров изделий, которые либо находятся в Лондоне, либо для них поставляются детали каким-нибудь поставщиком из Лондона. Вариант 2. 1. Удалить все изделия, для которых нет поставок деталей. 2. Построить таблицу с номерами поставщиков и парами номеров деталей, таких, что некоторый поставщик поставляет обе указанные детали. При этом пары вида P1 и P2, а также P2 и P1 считать одинаковыми. Вариант 3. 1. Увеличить размер поставки на 10 процентов для всех поставок тех поставщиков, которые поставляют какую-либо красную деталь. 2. Построить таблицу с комбинациями "цвет детали-город, где хранится деталь", исключая дубликаты пар (цвет-город). Вариант 4. 1. Построить таблицу, содержащую список номеров деталей, которые поставляются либо каким-нибудь поставщиком из Лондона, либо для какого-либо изделия в Лондон. 2. Вставить в таблицу S нового поставщика с номером S10 с фамилией Уайт из города Нью-Йорк с неизвестным рейтингом. Вариант 5. 1. Удалить все изделия из Рима и все соответствующие поставки. 2. Построить таблицу с упорядоченным списком всех городов, в которых размещаются по крайней мере один поставщик, деталь или изделие. Контрольные вопросы Что такое коррелированный запрос? Чем отличается коррелированный запрос от некоррелированного? Какие существуют ограничения на формирование коррелированного запроса? Каким образом сохранить результаты запроса в таблице? Какими средствами SQL реализуются следующие операции реляционной алгебры: ограничение, декартово произведение, проекция, пересечение, объединение, разность, соединение? Что такое внешнее соединение? В каких случаях вместо фразы IN можно использовать операцию сравнения? Какие существуют средства группирования в SQL? Как они используются? |