lab_bd_2
.pdfФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Ордена Трудового Красного Знамени федеральное государственное образовательное
бюджетное учреждение высшего образования «Московский технический университет связи и информатики»
Кафедра «Интеллектуальные системы в управлении и автоматизации»
Лабораторная работа № 2
Студента 3 курса заочного отделения группа 2БВМ15025 Студент Иванюк П. Г.
Научный руководитель (преподаватель)
Безумнов Д. Н.
Оценка _________________
Дата, подпись научного руководителя.
Москва 2018
1
Цель: Создание таблиц и формирование запросов в СУРБД ORACLE
Задачи: Построить таблицы, заполнить их информацией, сформировать по 2 запроса следующих типов:
выборка всех данных
запрос с условием
запрос с использованием синонимов
с использованием подзапроса
с использованием сортировки
с использованием группировки
с использованием конкатенации
выборка неповторяющихся записей
с использованием агрегатных функций
с использованием NOT
с использованием WHERE
Запросы сохранить в виде представлений.
Ход выполнения
1. Создание Таблиц
CREATE TABLE ZAKUPKAD (KODDZ int NOT NULL, KODZ int, KOLVO int, PRICED int, DATA date;
CREATE TABLE ZAVOD (KODZ int NOT NULL, NAMEZ varchar(100), ADRESS varchar(100), FIOR varchar(50);
ALTER TABLE ZAKUPKAD ADD CONSTRAINT KodzPK PRIMARY KEY (KODZ);
ALTER TABLE ZAVOD ADD CONSTRAINT KodzFK FOREIGN KEY(KODZ) REFERENCES ZAVOD ON DELETE CASCADE;
2
2. Построение сложных запросов Пример 1:
Выбрать все записи из таблицы Закупка детали:
Пример 2:
Выбрать данные из полей «Название завода», «Адрес» и «ФИО руководителя» по заводу с кодом 2:
Пример 3:
Выбрать из таблицы Закупка деталей информацию по деталям, купленным у завода с кодом
2, подставив вместо кода название:
3
Пример 4:
Закупались ли детали у заводов с кодом 2 и 3? select * from zavod where kodz=2 and kodz=3;
Пример 5:
Закупались ли детали у заводов с кодом 2 или 3? select * from zavod where kodz=2 or kodz=3;
Пример 6:
Есть ли в таблице завод, в названии которого присутствует слово «лак»? select * from zavod where namez like ‘%лак%’ or namez like ‘%Лак%’;
4
Пример 7:
Выбрать информацию по деталям, которые закупались в одну из дат:
Пример 8:
Выбрать информацию по деталям, которые закупались между датами:
Пример 9:
Выбрать информацию по заводам, у которых поле «телефон» пустое:
Пример 10:
Выбрать информацию по заводам, у которых поле «телефон» заполнено:
5
Пример 11:
Запрос, приведенный в примере № 3 можно записать короче:
Пример 12:
Создать синоним для таблицы Закупка деталей для пользователя студент:
Пример 13:
Выбрать детали, которые покупались у заводов, в названии которых есть слово «лак»
Пример 14. Сортировка:
Выбрать все записи из таблицы Закупка деталей и отсортировать по коду детали:
Пример 15. Группировка:
Посчитать сколько раз покупали ту или иную деталь:
Пример 16. Конкатенация (объединение):
Вывести данные из примера №2, используя возможности конкатенации:
Пример 17. Синонимы столбцов, ввод собственного текста:
Вывести в качестве имени поля собственные названия столбцов.
Пример 18. Выборка неповторяющихся (уникальных) записей:
Сделать выборку данных из всех полей таблицы Закупка деталей, исключая повторяющиеся записи:
8
Пример 19. Применение NOT:
Выбрать информацию по заводам, у которых поле «телефон» не пустое:
Пример 20. Применение агрегатных функций:
9
Пример 21. Having:
Пример 22. Создание представлений.
Выводы Построены две таблицы, затем они были заполнены произвольной информацией.
Сформированы следующие запросы:
Запрос на выборку всех данных, запрос с условием, запрос с использованием синонимов, запрос с использованием подзапроса, запрос с использованием сортировки, запрос с использованием группировки, запрос с использованием конкатенации, запрос выборка неповторяющихся записей, запрос с использованием агрегатных функций, запрос с использованием NOT, запрос с использованием
WHERE.
10