Запросы на добавление, обновление

И удаление данных

Цель работы: формирование умений и навыков проектирования запросов на добавление, обновление и удаление.

Краткие теоретические сведения

Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид:

INSERT INTO<имя таблицы>VALUES (<значение 1>,<значение 2>, …, <значение N>);

При такой записи указанные в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы.

Если в какое-либо поле необходимо вставить NULL-значе-ние, то оно вводится как обычное значение.

С помощью команды INSERT можно извлечь данные из одной таблицы и поместить их в другую, причем обе таблицы должны существовать и иметь одинаковые схемы отношений.

Удаление строк из таблицы осуществляется командой DELETE:

DELETE FROM<название таблицы>;

Для удаления из таблицы нескольких строк, удовлетворяющих некоторому условию, можно воспользоваться предложением WHERE.

Команда UPDATE позволяет изменять, т. е. обновлять значения некоторых или всех полей в существующей строке или строках таблицы.

Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде UPDATE можно использовать предикат, указываемый в предложении WHERE.

Команда UPDATE позволяет изменять не только один, но и множество столбцов.

В предложении SET можно использовать выражения, указывающие способ изменения значения поля, в которые могут входить значения изменяемого и других полей.

Практическая часть

Порядок выполнения работы

1. Открыть БД, разработанную в лабораторной работе 7.

2. В соответствии с вариантом необходимо разработать запросы с использованием команд манипулирования данными.

Вариант 1

База данных регистрации происшествий

Запрос 1. Вставить в таблицу, содержащую информацию о происшествиях, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер происшествия, дата сообщения об этом происшествии, текст сообщения о происшествии, Ф.И.О. и должность сотрудника, прибывшего на происшествие, описание происшествия, сведения о принятых по происшествию мерах. Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. В результате реконструкции отдела происшествий, всех сотрудников города Бобруйска перевели в город Логойск (улицу, дом и квартиру оставили без изменений). Написать запрос для изменения данных.

Запрос 4. Для всех сотрудников, которые побывали на происшествиях с 1.01.2004 г. по 1.04.2004 г. и имеющих звание старший лейтенант, изменить звание на капитан.

Запрос 5. Удалить из таблицы сообщений все сообщения, по которым никаких действий произведено не было.

Запрос 6. Удалить все данные о происшествиях, по которым свидетелем проходил Иванов Иван Иванович 1956 года рождения.

Вариант 2

База данных фирмы, проводящей аукционы

Запрос 1. Добавить в таблицу, содержащую информацию о ценностях, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер лота, название ценности, первоначальная стоимость, название владельца ценности, дата и описание аукциона, на котором данная ценность выставлялась. Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. В целях выплаты долга владелец ценностей Петров Иван Федорович передал все свои ценности Козликову Дмитрию Васильевичу. Написать запрос, изменяющий владельца ценностей.

Запрос 4. Для всех ценностей, которые будут выставлены на аукционе 22.06.2004 г., увеличить начальную стоимость на 15 %.

Запрос 5. Удалить информацию об аукционах, которые уже были проведены.

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

Вариант 3

База данных рыболовной фирмы

Запрос 1. Добавить в таблицу, содержащую информацию о катерах, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер выхода на лов, дата и время выхода на лов, название катера, регистрационный номер катера, дата постройки катера, фамилия капитана этого катера, а также суммарный улов с этого выхода. Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. В связи с переоформлением документации катеру с номером 123 был выдан новый номер – 456. Изменить все данные о выходе на лов с участием данного катера.

Запрос 4. В связи с неблагоприятными погодными условиями владельцы рыболовной фирмы уменьшили план улова рыбы на 23 %. Написать запрос на изменение требуемых данных.

Запрос 5. Удалить всю информацию о посещении банки с номером 15.

Запрос 6. В результате шторма был разрушен катер с номером 24. Удалить из таблицы выходов на лов все данные о выходах данного катера.

Вариант 4

База данных городской думы

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

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер заседания комиссии, дата и место заседания комиссии, описание комиссии, Ф.И.О. и адрес председателя комиссии. Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. Изменить место проведения заседания комиссии, председателем которой является Трофимов Валерий Иванович.

Запрос 4. В результате цепочки случайных событий место Петренко Кирилла Сергеевича занял его брат Петренко Василий Сергеевич. Создать запрос, производящий данную замену (все остальные характеристики – по собственному усмотрению).

Запрос 5. Удалить все данные о членах городской думы, которые не состоят ни в одной комиссии.

Запрос 6. В результате перестановок в городской думе была распущена комиссия с номером 13. Удалить всю информацию о заседаниях данной комиссии.

Вариант 5

База данных медицинской фирмы

Запрос 1. Добавить в таблицу, содержащую информацию о пациентах, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер посещения, дата посещения, номер карточки пациента, Ф.И.О. и адрес пациента, Ф.И.О. доктора, диагноз, поставленный в результате посещения. Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. В результате сокращения фирмы врач-терапевт Левша Алиса Федоровна передала всех своих пациентов врачу-терапевту Косточкиной Марине Владимировне. Создать запрос на изменение данных о посещении этого врача.

Запрос 4. Для пациентов, которые проходили обследование у врача Мороз Анны Евгеньевны и имеют диагноз гастрит, изменить диагноз на острый гастрит.

Запрос 5. Удалить всю информацию о посещениях пациента Востриковой Нины Сергеевны.

Запрос 6. Удалить из таблицы с посещениями всю информацию о посещениях врачей-хирургов.

Вариант 6

База данных тотализатора

Запрос 1. Добавить в таблицу, содержащую информацию об участниках соревнований, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер паспорта человека, сделавшего ставку, дата проведения соревнований, название соревнования и место проведения соревнования, Ф.И.О., звание участника и рейтинг наездника (гонщика). Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. Вместо жокея Иванова Арнольда Маратовича во всех соревнованиях будет участвовать жокей Петров Аркадий Иванович. Создать запрос на изменение информации в таблице соревнований.

Запрос 4. В ходе щедрого жеста устроителей соревнований, которые будут проходить 12.06.2004 г., все ставки были увеличены на 12 %. Создать запрос на изменение данных.

Запрос 5. Удалить всю информацию о ставках на соревнования, которые уже прошли за неделю до текущей даты.

Запрос 6. В результате того, что у лошади Белочки обнаружили допинг, удалить всю информацию о соревнованиях, в которых участвовала данная лошадь.

Вариант 7

База данных фирмы, обслуживающей конференции

Запрос 1. Добавить в таблицу, содержащую информацию о докладчиках, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер докладчика, Ф.И.О. докладчика, дата и место проведения конференции, тема доклада. Написать запрос, который выбирает из таблиц БД необходимую информацию и добавляет в новую таблицу.

Запрос 3. Изменить место проведения конференции, которая будет проходить 23.05.2004 г.

Запрос 4. Поднять вступительный взнос на участие в конференциях на 30 %.

Запрос 5. Удалить всю информацию о конференциях, которые уже прошли.

Запрос 6. В результате того, что Иванов Иван Иванович снял свою кандидатуру с участия в конференции, удалить всю информацию о заявках на доклад этого участника.

Вариант 8

Летопись острова Санта-Белинда

Запрос 1. Добавить в таблицу, содержащую информацию о жителях острова, новую запись. В запросе на добавление записи задать все значения полей.

Запрос 2. Создать новую таблицу, содержащую следующие поля: номер предпринимателя, описание дела предпринимателя, его Ф.И.О. и адрес. Написать запрос, который выбирает из таблиц базы данных необходимую информацию и добавляет в новую таблицу.

Запрос 3. В результате наводнения жители улицы Приморской, проживающие в домах с номерами 1–12, погибли. Изменить соответствующие записи в таблице жителей острова.

Запрос 4. В результате того, что предприниматель с номером 15 разорился, он передал всех своих рабочих предпринимателю с номером 34.

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

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

Контрольные вопросы

1. Назовите команды манипулирования данными.

2. Как изменится синтаксис команды Insert, если не указаны все значения атрибутов таблицы?

3. Приведите синтаксис команд Deleteи UPDate.

Лабораторная работа 11

Администрирование БД

Наши рекомендации