КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лабораторная работа 1
СОЗДАНИЕ И МОДИФИКАЦИЯ БАЗЫ ДАННЫХ И ТАБЛИЦ Цель работы Создать базу данных, набор таблиц в ней и заполнить таблицы данными для последующей работы. Подготовить и реализовать серию запросов, связанных с выборкой информации и модификацией данных таблиц. Содержание работы и методические указания к ее выполнению 1. Изучить набор команд языка SQL, связанный с созданием базы данных, созданием, модификацией структуры таблиц и их удалением, вставкой, модификацией и удалением записей таблиц: database - выбор существующей базы данных; close databas e - закрытие файлов текущей бызы данных; drop databas e - удаление базы данных; create table - создание таблицы базы данных; alter tabl e - модификация структуры базы данных; drop table - удаление таблицы базы данных; insert - добавление одной или нескольких строк в таблицу; delete - удаление одной или нескольких строк из таблицы; update - модификация одной или нескольких строк таблицы. 2. Создать базу данных. 3. Cоздать четыре таблицы в базе данных. При создании таблиц выполнить следующие условия: - поля номер_поставщика, номер_детали, номер_изделия во всех таблицах имеет символьный тип и длину 6; - поля рейтинг, вес и количество имеют целочисленный тип; - поля фамилия, город (поставщика, детали или изделия), название (детали или изделия) имеют символьный тип nchar и длину 20; - ни для одного поля не предусматривается использование индексов; - для всех полей допускаются значения NULL и значения-дубликаты, кроме поля номер_поставщика из таблицы S, номер детали из таблицы P, номер изделия из таблицы J. Убедиться в успешности выполненных действий. При необходимости исправить ошибки. 4. Выполнить модификацию структуры таблицы SPJ, добавив в SPJ поле с датой поставки. Убедиться в успешности выполненных действий. При необходимости исправить ошибки. 5. Записать и выполнить совокупность запросов для занесения вышеприведенных данных в созданные таблицы insert into имя_таблицы [(поле [,поле]...)] values (константа [,константа]...) 6. Проверить результат заполнения таблиц, написав и выполнив простейший запрос select * from имя_таблицы При наличии ошибок выполнить корректировку, исправив либо удалив ошибочные строки таблиц delete имя_таблицы where предикат update имя_таблицы set поле=выражение [,поле=выражение]... where предикат Указанный предикат должен однозначно специфицировать удаляемые либо модифицируемые строки посредством задания соответствующих условий, которым должны удовлетворять отдельные поля строки. Если посредством значений полей это сделать невозможно, можно прибегнуть к использованию значений скрытого rowid-столбца, представляющих собой внутренние номера записей. Для этого необходимо предварительно получить значения rowid-столбца для занесенных строк select rowid, * from имя_таблицы а затем требуемые значения использовать при формировании условий в операторах удаления либо модификации. 7. Изучить набор команд языка SQL, связанный с созданием запросов, добавлением, модификацией и удалением строк таблицы: select - осуществление запроса по выборке информации из таблиц базы данных; insert - добавление одной или нескольких строк в таблицу; delete - удаление одной или нескольких строк из таблицы; update - модификация одной или нескольких строк таблицы; union - объединение запросов в один запрос. 8. Изучить состав, правила и порядок использования ключевых фраз оператора select: select - описание состава данных, которые следует выбрать по запросу (обязательная фраза); from - описание таблиц, из которых следует выбирать данные (обязательная фраза); where - описание условий поиска и соединения данных при запросе; group by - создание одной строки результата для каждой группы (группой называется множество строк, имеющих одинаковые значения в указанных столбцах); having - наложение одного или более условий на группу; order by - сортировка результата выполнения запроса по одному или нескольким столбцам; into temp - создание временной таблицы, в которую будет осуществлен вывод результатов соответствующего запроса. Порядок следования фраз в команде select должен соответствовать приведенной выше последовательности. 9. Подготовить и выполнить запросы по выборке информации из таблиц базы данных для решения нижеприведенных задач согласно номеру Вашего варианта. 10. Защитить лабораторную работу, ответив на контрольные вопросы.
Таблица поставщиков (S)
Таблица деталей (P)
Таблица изделий (J)
Таблица поставок (SPJ)
Задания Вариант 1
2. Получить общее число изделий, для которых поставляет детали поставщик S1.
Вариант 2
2. Выдать номера деталей, поставляемых каким-либо поставщиком из Лондона.
6. Выбрать изделия, для которых основной поставщик находится в том же городе, что и изделие (Основным считается поставщик, для которого поставки деталей для данного изделия имеют наибольший общий вес. Если таких поставщиков несколько, выбирается поставщик с наибольшим рейтингом. Если и таких поставщиков несколько, выбирается первый по алфавиту). Целевой список – номер и город изделия, номер и город поставщика, общий объем деталей, поставленных данным поставщиком для данного изделия. Вариант 3
3. Выдать номера изделий, для которых детали поставляются по крайней мере одним поставщиком не из того же самого города.
Вариант 4
6. Удалить все изделия, для которых нет поставок деталей. Вариант 5
6. Получить номера изделий, для которых детали полностью поставляет поставщик S1.
Вариант 6
6. Получить номера изделий, для которых средний объем поставки деталей P1 больше наибольшего объема поставки любой детали для изделия J1.
Вариант 7 1. Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее количество деталей. 2. Получить номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью P1 в количестве, большем, чем средний объем поставок детали P1 для этого изделия. 3. Увеличить на 10 рейтинг всех поставщиков, рейтинг которых в настоящее время меньше, чем рейтинг поставщика S4. 4. Постройте таблицу, содержащую список номеров изделий, которые либо находятся в Лондоне, либо для них поставляются детали каким-нибудь поставщиком из Лондона. 5. Выдать список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно. 6. Получить номера изделий, использующих по крайней мере одну деталь, поставляемую поставщиком S5.
Вариант 8 1. Выдать общее количество деталей P1, поставляемых поставщиком S1. 2. Получить все пары названий городов, таких, что какой-либо поставщик из первого города поставляет детали для некоторого изделия, изготовляемого во втором городе. 3. Получить номера деталей, поставляемых каким-либо поставщиком из Лондона, для изделия, изготавливаемого также в Лондоне. 4. Построить таблицу с номерами поставщиков и парами номеров деталей, таких, что некоторый поставщик поставляет обе указанные детали. 5. Выдать цвета деталей, поставляемых поставщиком S6. 6. Получить номера и фамилии поставщиков, поставляющих деталь Р1 для какого-либо изделия в количестве, большем среднего объема поставок детали Р1 для этого изделия.
Вариант 9 1. Выдать номера и фамилии поставщиков, поставляющих одну и ту же деталь для всех изделий. 2. Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо красную деталь. 3. Увеличить размер поставки на 10 процентов для всех поставок тех поставщиков, которые поставляют какую-либо красную деталь. 4. Построить таблицу с комбинациями "цвет детали-город, где хранится деталь", исключая дубликаты пар (цвет-город). 5. Выдать названия изделий, для которых поставляются детали поставщиком S6. 6. Получить номера и названия изделий, для которых поставщик S6 поставляет несколько деталей каждого из поставляемых им типов.
Вариант 10 1. Выдать номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь. 2. Получить полный список деталей для всех изделий, изготавливаемых в Лондоне. 3. Построить таблицу, содержащую список номеров деталей, которые поставляются либо каким-нибудь поставщиком из Лондона, либо для какого-либо изделия в Лондон. 4. Вставить в таблицу S нового поставщика с номером S10 с фамилией Уайт из города Нью-Йорк с неизвестным рейтингом. 5. Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее количество деталей. 6. Получить номера изделий, для которых детали полностью поставляет поставщик S6.
Вариант 11 1. Получить список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно. 2. Выдать номера изделий, использующих по крайней мере одну деталь, поставляемую поставщиком S1. 3. Получить номера и названия деталей, поставляемых для какого-либо изделия в Лондоне. 4. Построить таблицу с упорядоченным списком всех городов, в которых размещаются по крайней мере один поставщик, деталь или изделие. 5. Выдать номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью P1 в количестве, большем, чем средний объем поставок детали P1 для этого изделия. 6. Получить номера изделий, использующих только детали, поставляемые поставщиком S6.
Вариант 12 1. Выдать номера и названия изделий, для которых город является первым в алфавитном списке таких городов. 2. Получить цвета деталей, поставляемых поставщиком S1. 3. Выдать номера и фамилии поставщиков, поставляющих деталь Р1 для какого-либо изделия в количестве, большем среднего объема поставок детали Р1 для этого изделия. 4. Получить полный список деталей для всех изделий. 5. Изменить цвет красных деталей с весом менее 15 фунтов на желтый. 6. Выдать общее число изделий, для которых поставляет детали поставщик S6. 7. Получить номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо красную деталь.
Вариант 13 1. Выдать названия изделий, для которых поставляются детали поставщиком S1. 2. Получить номера деталей, поставляемых для какого-либо изделия поставщиком, находящимся в том же городе, где изготавливается это изделие. 3. Выдать номера и названия изделий, для которых поставщик S1 поставляет несколько деталей каждого из поставляемых им типов. 4. Увеличить на 10 рейтинг тех поставщиков, объем поставки которых выше среднего. 5. Выдать общее количество деталей P1, поставляемых поставщиком S6. 6. Получить номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь.
Вариант 14 1. Получить все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие не являются попарно соразмещенными. 2. Выдать номера изделий, использующих только детали, поставляемые поставщиком S1. 3. Получить все триплеты "номер поставщика, номер детали и номер изделия", такие, что в каждом триплете указанные поставщик, деталь и изделие являются попарно соразмещенными. 4. Получить номера деталей, поставляемых для всех изделий из Лондона. 5. Удалить все изделия из Рима и все соответствующие поставки. 6. Построить таблицу с номерами изделий и городов, где они изготавливаются, такие, что второй буквой названия города является "О". 7. Построить таблицу с упорядоченным списком номеров и фамилиями поставщиков, поставляющих детали для изделия с номером J1.
Вариант 15 1. Получить полный список деталей для всех изделий. 2. Для каждого изделия выбрать основного поставщика (основным считается поставщик, который поставил наибольшее количество деталей для данного изделия. Если таких поставщиков несколько, выбирается поставщик с наибольшим рейтингом. Если таких поставщиков несколько, выбирается первый по алфавиту.) Вывести номер изделия, номер поставщика, имя поставщика, рейтинг поставщика и общий объем деталей, поставленных данным поставщиком для данного изделия. 3. Получить номера и названия деталей, поставляемых для какого-либо изделия в Лондоне. 4. Получить номера изделий, использующих по крайней мере одну деталь, поставляемую поставщиком S6. 5. Выдать номера изделий, детали для которых поставляет каждый поставщик, поставляющий какую-либо красную деталь. 6. Выбрать поставщиков, которые поставили какую-либо деталь в объеме большем, чем поставщик с максимальным рейтингом. Вывести номер поставщика, номер детали, общий объем поставок данной детали данным поставщиком, номер поставщика с максимальным рейтингом, общий объем поставок данной детали поставщиком с максимальным рейтингом, количество городов, в которые были выполнены поставки.
Вариант 16 1. Получить номера и названия деталей, поставляемых для какого-либо изделия в Лондоне. 2. Для каждого изделия выбрать потенциальных поставщиков. Потенциальным считается поставщик не сделавший ни одной поставки деталей для данного изделия, но поставляющий для других изделий детали, необходимые для данного изделия. 3. Для всех возможных сочетаний “номер изделия, цвет детали “ вывести номер изделия, название изделия, цвет детали, общий вес поставленных деталей данного цвета в фунтах (в виде <вес в фунтах = 999>) и в граммах (в виде <вес в граммах = 999>). Если поставок деталей какого-либо цвета для какого-либо изделия не было – в результирующем наборе ‘ нет пос тавок ‘ 4. Получить номера и названия изделий, для которых поставщик S6 поставляет несколько деталей каждого из поставляемых им типов. 5. Получить список номеров поставщиков, поставивших для одного и того же изделия все детали, изготавливаемые в городе, в котором не проживают поставщики с минимальным и максимальным рейтингом. 6. Для каждого изделия определить поставщиков, поставляющих более ¼ от максимального общего объема поставок для изделий из Лондона.
Вариант 17 1. Получить номера изделий, для которых детали полностью поставляет поставщик S1. 2. Получить список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно. 3. Выбрать все пары поставщиков, поставляющие одинаковые детали для одного и того же изделия. Вывести номер изделия, номер детали, номер поставщика1, общий объем поставки данной детали для данного изделия поставщика1, номер поставщика2, общий объем поставки данной детали для данного изделия поставщика2 4. Выдать номера и фамилии поставщиков, поставляющих одну и ту же деталь для всех изделий. 5. Выбрать все пары деталей такие, что обе детали имеют одинаковый цвет, изготавливаются в разных городах, но поставляются в один город. Вывести номер детали1, наименование детали1, номер детали2, наименование детали2, цвет, город изделия, объем поставки детали1, объем поставки детали2 6. Для каждого поставщика определить количество изделий, для которых этот поставщик является основным (Основным считается поставщик, имеющий наибольший рейтинг. Если таких поставщиков несколько, выбирается поставщик, выполнивший для данного изделия наибольшее число поставок. Если таких поставщиков несколько, выбирается первый по алфавиту). Вывести всю информацию о поставщике.
Вариант 18 1. Построить таблицу с номерами изделий и городов, где они изготавливаются, такие, что второй буквой названия города является "О". 2. Получить номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь. 3. Для каждой поставляемой для некоторого изделия детали выдать ее номер, номер изделия и соответствующее общее количество деталей. 4. Получить номера изделий, для которых детали полностью поставляет поставщик S6. 5. Выдать названия изделий, для которых поставляются детали поставщиком S6. 6. Построить таблицу с номерами поставщиков и парами номеров деталей, таких, что некоторый поставщик поставляет обе указанные детали. Вариант 19 1. Для каждого поставщика определить количество изделий, для которых этот поставщик является основным (основным считается поставщик, который поставил наибольшее количество деталей для данного изделия. Если таких поставщиков несколько, выбирается поставщик с наибольшим рейтингом. Если таких поставщиков несколько, выбирается первый по алфавиту.). Вывести всю информацию о поставщике. 2. Выбрать изделия, для которых основной поставщик находится в другом городе (Основным считается поставщик, для которого поставки деталей для данного изделия имеют наибольший общий вес. Если таких поставщиков несколько, выбирается поставщик с наибольшим рейтингом. Если и таких поставщиков несколько, выбирается первый по алфавиту). Целевой список – номер и город изделия, номер и город поставщика, общий объем деталей, поставленных данным поставщиком для данного изделия. 3. Получить полный список деталей для всех изделий. 4. Увеличить размер поставки на 10 процентов для всех поставок тех поставщиков, которые поставляют какую-либо красную деталь. 5. Постройте таблицу, содержащую список номеров изделий, которые либо находятся в Лондоне, либо для них поставляются детали каким-нибудь поставщиком из Лондона. 6. Для каждой пары “номер изделия, номер детали “ вывести номер изделия, номер детали, общий объем поставок данной детали для данного изделия, % общего объема поставок данной детали для данного изделия от общего объема поставок всех деталей для данного изделия, название и город изделия, название и город детали
Дата добавления: 2015-05-10; Просмотров: 3786; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |