Файл: Дисциплина мдк. 02. 02 Технология разработки и защиты баз данных Преподаватель.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 55

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Дисциплина:МДК.02.02 Технология разработки и защиты баз данныхПреподаватель: Бондаренко Д.Р.Курс: 3 Группа: 1ПКС-20Специальность: Программирование в компьютерных системахДата: 27.04.2023Время проведения: Вид занятия практическоеИнтернет-ресурсы: https://rykovodstvo.ru/exspl/106817/index.html?page=14ЗАДАНИЕ: Составить отчет о проделанной работе и ответить на вопросы.Лабораторная работа №23Тема: Внесение изменений в базу данныхЦель: Научиться вносить изменения в базу данных, используя команды INSERT, UPDATE, DELETE.Методические рекомендации.Подзапросы в операторе INSERTПодзапросы могут использоваться и с операторами языка манипуляций данными (DML). Первым из таких операторов мы рассмотрим оператор INSERT. Оператор INSERT использует данные, возвращаемые подзапросом, для помещения их в другую таблицу. Избранные в подзапросе данные можно модифицировать с помощью символьных или числовых функций, а также функций дат и времени.Базовый синтаксис соответствующего оператора должен быть следующим. INSERT INTO имя_таблицы [(столбец1 [, столбец2])] SELECT [* | столбец1 [, столбец2]]FROM таблица1 [, таблица2][WHERE значение ОПЕРАЦИЯ значение]Пример использования оператора INSERT с подзапросом.INSERT INTO RICH_EMPLOYEESSELECT E.EMP_ID, E.LAST_NAME, E.FIRST_NAME EP.PAY_RATE FROM EMPLOYEE_TBL E, EMPLOYEE_PAY_TBL EPWHERE E.EMP_ID = EP.EMP_ID AND EP.PAY_RATE> (SELECT PAY_RATEFROM EMPLOYEE_PAY_TBL WHERE E.EMP_ID = '220984332');2 строки созданы.Этот оператор INSERT вставляет значения EMP_ID, LAST_NAME, FIRST_NAME и PAY_RATE в таблицу RICH_EMPLOYEES для всех служащих, норма оплаты труда которых превышает норму оплаты труда служащего с табельным номером 220984332.Подзапросы в операторе UPDATEПодзапросы можно использовать в операторе UPDATE. С помощью оператораUPDATE с подзапросом можно обновлять данные как одного, так и нескольких столбцов сразу.Базовый синтаксис оператора следующий.UPDATE таблицаSET имя_столбца [, имя_столбца] =(SELECT имя_столбца [, имя_столбца]FROM таблица[WHERE])Рассмотрим примеры, разъясняющие использование оператора UPDATE с подзапросом. Сначала рассмотрим запрос, возвращающий табельные номера служащих из Индианаполиса.
SELECT EMP_ID FROM EMPLOYEE_TBLWHERE CITY = 'INDIANAPOLIS';Этот запрос будет использован как подзапрос в следующем операторе UPDATE. Вот этот операторUPDATE с подзапросом.UPDATE EMPLOYEE_PAY_TBLSET PAY_RATE = PAY_RATE * 1.1 WHERE EMP_ID IN (SELECT EMP_IDFROM EMPLOYEE_TBLWHERE CITY = 'INDIANAPOLIS');4 строки обновленные.Здесь следует обратить внимание на то, что подзапрос возвращает несколько строк данных. Учитывая то, что ожидается получить от подзапроса несколько строк, используется ключевое слово IN, что позволяет сравнить данное значение со списком значений. При использовании для сравнения знака равенства было бы возвращено сообщение об ошибке.Подзапросы в операторе DELETEПодзапросы можно использовать в операторе DELETE. Базовый синтаксис оператора следующий.DELETE FROM имя_таблицы [WHERE ОПЕРАЦИЯ [значение] (SELECT имя_столбцаFROM имя_таблицы[WHERE])В следующем примере из таблицы EMPLOYEE_PAY_TBL удаляется запись с информацией о служащего по имени BRANDON GLASS. Табельный номер этого служащего не известен, но можно создать подзапрос, который найдет этот номер в таблице EMPLOYEE_TBL по значениям столбцов с именами (FIRST_NAME) и фамилиями (LAST_NAME) служащих.DELETE FROM EMPLOYEE_PAY_TBL WHERE EMP_ID = (SELECT EMP_IDFROM EMPLOYEE_PAY_TBLWHERE LAST_NAME = 'GLASS "AND FIRST_NAME =' BRAHDON ');1 строка обновлен.Не забывайте использовать в операторах UPDATE и DELETE ключевое слово WHERE. Если последнее не использовать, будут обновлены или удалены данные всех столбцов.Индивидуальное заданиеВариант 1Составьте запросы, используя таблицы PREDMET, STUDENTS, TEACHERS, USP1. Вставьте информацию о среднем балле каждого студента, информацию вывести в виде новой таблицы.2. Удалите информацию о преподавателях, в фамилии которых есть буква «а».3. Удалите информацию о предметах, которые изучаются на первом курсе.4. Удалите информацию о студентах, получивших оценку 3 по любому предмету.5. Измените стипендию студенту на 185 с кодом 3415.6. Назначьте стипендию 250 руб. студентам не получающим стипендию.7. Увеличьте размер стипендии на 50% студентам, у которых есть оценки не менее

, чем по двум предметам.

Вариант 2

Составьте запросы, используя таблицы PREDMET, STUDENTS, TEACHERS, USP

1. Вставьте информацию о среднем количестве часов по каждому предмету, информацию вывести в виде новой таблицы.

2. Удалите информацию о преподавателях, в фамилии которых есть буква «р».

3. Удалите информацию о предметах, изучаемых на втором курсе.

4. Удалите информацию о студентах, получивших оценку 4 по любому предмету.

5. Измените стипендию студенту на 0 с кодом 3415 и 3413.

6. Назначьте стипендию 400 руб. студентам которые не получают стипендию.

7. Увеличьте размер стипендии на 15% студентам, у которых есть 5 из любого предмета.

Вариант 3

Составьте запросы, используя таблицы PREDMET, STUDENTS, TEACHERS, USP

1. Вставьте информацию о среднем балле каждого студента, информацию вывести в виде новой таблицы.

2. Удалите информацию о преподавателях, в фамилии которых есть буква «а».

3. Удалите информацию о предметах, которые не изучаются на первом курсе.

4. Удалите информацию о студентах, получивших оценку 5 по любому предмету.

5. Измените стипендию студенту на 185 с кодом 3412.

6. Назначьте стипендию 250 руб. студентам не получающим стипендию.

7. Увеличьте размер стипендии на 5% студентам, у которых есть оценки не менее, чем по трем предметам.