Лабораторные работы по курсу "Введение в базы данных" (1-й семестр).
ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ ЗАДАНИЕ!
Лабораторные работы заключаются в изучении языка SQL. Работы выполняются в SQL Plus под управлением системы Oracle (версии не ниже 9i).
В заданиях используются следующие обозначения типов данных:
N – числовой тип (значение "Дес." при этом указывает количество знаков после запятой);
C – символьный тип (char или varchar в зависимости от длины и семантики поля);
D – тип "дата".
Номер варианта лабораторных работ равен номеру студента по списку группы. Сдача лабораторной работы заключается в демонстрации созданных отношений и запросов.
Если лабораторные работы (1-4) сдаются по почте, то файлы должны включать не только решение, но и само задание. В противном случае задание не принимается.
-
Лабораторная работа №1 заключается в создании и заполнении отношений БД по одному из вариантов. Обратите внимание: не для всех отношений указаны ключевые поля. Если они не указаны, их нужно добавить!
-
Во второй лабораторной работе производится выборка данных из созданных отношений. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.
-
Третья лабораторная работа посвящена работе с представлениями. Для созданных представлений необходимо проверить с помощью запросов UPDATE и INSERT, являются ли они обновляемыми, и объяснить полученный результат.
-
Лабораторная работа №4 заключается в изучении основных и дополнительных операций реляционной алгебры (РА). Необходимо написать на языке SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации операций РА недостаточно отношений, созданных во время выполнения работы №1, то следует создать дополнительные отношения.
-
Лабораторная работа №5 посвящена оптимизации запросов и работе с индексами. Общее для всех вариантов задание на л.р. №5 приведено в конце данного документа.
-
Лабораторная работа №6 посвящена изучению механизма транзакций. С помощью различных операторов SQL (DDL, DML) определить ситуации автоматической фиксации транзакций. Запустить два окна SQL Plus и определить, какой уровень изоляции транзакций установлен. Проиллюстрировать работу с командами SAVEPOINT, COMMIT и ROLLBACK.
Задания на лабораторные работы Вариант 1.
Л. р. №1. Создание и заполнение отношений БД отдела кадров.
1. Отношение "Отделы" (поля "Идентификатор", "Название отдела").
3. Отношение "Должности" (поля "Название должности", "Оклад").
2. Отношение "Штатное расписание" (поля "Отдел", "Должность", "Количество ставок на отдел").
4. Отношение "Сотрудники":
Содержимое поля
|
Тип
|
Длина
|
Дес.
|
Примечание
|
Табельный номер
|
N
|
6
|
0
|
первичный ключ
|
ФИО
|
C
|
50
|
|
обязательное поле
|
Паспортные данные
|
С
|
100
|
|
обязательное поле
|
Пол
|
C
|
1
|
|
значения – 'м' и 'ж', по умолчанию – 'ж'
|
Дата рождения
|
D
|
|
|
обязательное поле
|
Образование
|
C
|
20
|
|
|
Отдел
|
N
|
3
|
0
|
составной внешний ключ к таблице "Штатное расписание"
|
Должность
|
C
|
30
|
|
Количество ставок
|
N
|
3
|
1
|
Кратно 0.25, изменяется от 0.25 до 1.5
|
Дата приёма на работу
|
D
|
|
|
обязательное поле
|
Адрес
|
С
|
100
|
|
|
Примечание: не для всех отношений указаны ключевые поля. Если они не указаны, их нужно добавить!
Л.р. №2. Выборка данных. Один из запросов надо написать двумя способами и объяснить, какой из вариантов будет работать быстрее и почему.
Создать упорядоченные списки:
-
сотрудников с указанием названия отдела, должности и оклада;
-
самых молодых сотрудников в каждом отделе;
-
отделов, в которых меньше пяти сотрудников;
-
сотрудников пенсионного возраста, занимающих менее одной ставки.
Для каждого отдела посчитать количество сотрудников с разным образованием.
Л.р. №3. Работа с представлениями. Для созданных представлений необходимо проверить с помощью запросов UPDATE и INSERT, являются ли они обновляемыми, и объяснить полученный результат.
-
Представление "Сотрудники 2-го отдела".
-
Представление "Образовательный уровень сотрудников" (с указанием количества людей с высшим, средним и другими уровнями образования), по отделам, с учетом пола: отдел – вид образования – количество мужчин – количество женщин.
-
Представление "Вакансии": номер отдела – должность – количество вакантных ставок.
Л.р. №4. Изучение операций реляционной алгебры. Необходимо написать на языке SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации операций РА недостаточно отношений, созданных во время выполнения работы №1, то следует создать дополнительные отношения.
Л.р. №5. Оптимизация запросов и работа с индексами. Общее для всех вариантов задание приведено в конце данного документа.
Л.р. №6. Изучение механизма транзакций. С помощью различных операторов SQL (DDL, DML) определить ситуации автоматической фиксации транзакций. Запустить два окна SQL Plus и определить, какой уровень изоляции транзакций установлен. Проиллюстрировать работу с командами SAVEPOINT, COMMIT и ROLLBACK.
|