Лаб_03

advertisement
Лабораторная работа № 3
Тема: Язык PL/SQL. Последовательности. Процедуры и функции.
!!! Номер варианта работы определяется по последней цифре номера списка студентов в
журнале группы
Задание:
Вариант 0.
1. Напишите сценарий, в котором создается таблица Продажи. В таблице должны
быть столбцы: идентификатор строки, название автокорпорации, название
модели автомобиля, год продажи и число проданных машин. Таблицу заполняйте
при помощи команд Insert. Для формирования значений идентификаторов строк
используйте последовательность.
2. Создайте процедуру, которая формирует новую таблицу-матрицу из таблицы
Продажи. В строках таблицы должны находиться автокорпорации, в столбцах –
годы продаж, на пересечении строк и столбцов – общее число проданных машин.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
создается последовательность для добавления записей в таблицу Продажи.
Вариант 1.
1. Напишите сценарий, в котором создается таблица Специальности. В таблице
должны быть столбцы: идентификатор строки, название специальности, город и
размер средней зарплаты по этой специальности. Таблицу заполняйте при
помощи команд Insert. Для формирования значений идентификаторов строк
используйте последовательность.
2. Создайте процедуру, которая формирует новую таблицу-матрицу из таблицы
Специальности. В строках таблицы должны находиться названия специальности,
в столбцах – города, на пересечении строк и столбцов - зарплаты по
специальности.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
создается таблица-матрица из задания 2.
Вариант 2.
1. Напишите сценарий, в котором создается таблица Кредиты. В таблице должны
быть столбцы: идентификатор строки, название банка, вид кредита и процент, под
который выдается кредит. Таблицу заполняйте при помощи команд Insert. Для
формирования
значений
идентификаторов
строк
используйте
последовательность.
2. Создайте процедуру, которая формирует новую таблицу-матрицу из таблицы
Кредиты. В строках таблицы должны находиться виды кредитов, в столбцах –
названия банков, на пересечении строк и столбцов – проценты по кредитам.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
создается таблица Кредиты.
Вариант 3.
1. Напишите сценарий, в котором создается таблица Квартиры. В таблице должны
быть столбцы: идентификатор строки, тип квартиры (по числу комнат), год,
среднерыночная стоимость квартиры. Таблицу заполняйте при помощи команд
Insert. Для формирования значений идентификаторов строк используйте
последовательность.
2. Создайте процедуру, которая формирует новую таблицу-матрицу из таблицы
Квартиры. В строках таблицы должны находиться типы квартир, в столбцах –
годы, на пересечении строк и столбцов – стоимость квартиры в данном году.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
удаляется последовательность, созданная для добавления записей в таблицу
Квартиры.
Вариант 4.
1. Напишите сценарий, в котором создается таблица Иностранный_язык. В
таблице должны быть столбцы: идентификатор строки, название фирмы по
обучению языку, курс (год, ступень) обучения, стоимость обучения на данном
курсе. Таблицу заполняйте при помощи команд Insert. Для формирования
значений идентификаторов строк используйте последовательность.
2. Создайте процедуру, которая формирует новую таблицу-матрицу из таблицы
Иностранный_язык. В строках таблицы должны находиться название фирмы, в
столбцах – курс обучения, на пересечении строк и столбцов – стоимость обучения
на данном курсе.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
создается последовательность для добавления записей в
таблицу
Иностранный_язык.
Вариант 5.
1. Создайте процедуру, которая дополняет таблицу BUS учебной базы данных
таким образом, чтобы в ней оказались отчеты всех агентств за каждый квартал.
Для формирования значений идентификаторов строк отчетов используйте
последовательность.
2. Создайте процедуру, которая формирует новую, итоговую таблицу из таблицы
BUS. Таблица должна содержать для каждого агентства суммы его квартальных
отчетов, общую сумму для агентства и общую итоговую сумму за год. При
заполнении таблицы используйте подзапрос с применением функции ROLLUP.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
создается итоговая таблица из задания 2
Вариант 6.
1. Создайте процедуру, которая дополняет таблицу BUS учебной базы данных
таким образом, чтобы в ней оказались отчеты для всех туров за каждый квартал.
Для формирования значений идентификаторов строк отчетов используйте
последовательность.
2. Создайте процедуру, которая формирует новую, итоговую таблицу из таблицы
BUS. Таблица должна содержать по каждому туру суммы квартальных отчетов,
общую сумму для тура и общую итоговую сумму за год. При заполнении таблицы
используйте подзапрос с применением функции ROLLUP.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
удаляется итоговая таблица из задания 2.
Вариант 7.
1. Напишите сценарий, в котором создается таблица Продажи. В таблице должны
быть столбцы: идентификатор строки, название модели компьютера, год и сумма
(в рублях) продаж компьютеров данной модели. Таблицу заполняйте при помощи
команд Insert. Для формирования значений идентификаторов строк используйте
последовательность.
2. Создайте процедуру, которая формирует новую, итоговую таблицу из таблицы
Продажи. Таблица должна содержать по каждому типу компьютера суммы
кодовых продаж, общую сумму для соответствующего типа и общую итоговую
сумму за год. При заполнении таблицы используйте подзапрос с применением
функции ROLLUP.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
удаляется последовательность, созданная для добавления записей в таблицу
Продажи.
Вариант 8.
1. Напишите сценарий, в котором создается таблица Оценки. В таблице должны
быть столбцы: идентификатор строки, название дисциплины, номер курса и
оценка на экзамене. Таблицу заполняйте при помощи команд Insert. Для
формирования
значений
идентификаторов
строк
используйте
последовательность.
2. Создайте процедуру, которая формирует новую, итоговую таблицу из таблицы
Оценки. Таблица должна содержать по каждому курсу средние баллы по
дисциплине (может совпадать с оценкой за экзамен), средний балл за курс и
общий итоговый средний балл за весь период обучения. При заполнении таблицы
используйте подзапрос с применением функции ROLLUP.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
создается таблица Оценки.
Вариант 9.
1. Напишите сценарий, в котором создается таблица Обучение. В таблице
должны быть столбцы: идентификатор строки, номер курса, номер семестра и
оплата за семестр при платном обучении. Таблицу заполняйте при помощи
команд Insert. Для формирования значений идентификаторов строк используйте
последовательность.
2. Создайте процедуру, которая формирует новую, итоговую таблицу из таблицы
Обучение. Таблица должна содержать по каждому курсу стоимость обучения за
семестр, сумму за год и общая итоговая сумма за весь период обучения. При
заполнении таблицы используйте подзапрос с применением функции ROLLUP.
3. Напишите процедуру, в которой, используя внутренний динамический SQL,
удаляется итоговая таблица из задания 2.
Download