Удаление существующих данных
Если квартира ликвидируется, необходимо удалить соответствующую строку в таблице FLAT; в случае, когда жители этой квартиры уезжают из Зеленограда, то их строки в таблице PERSON также должны быть удалены вместе с соответствующими строками в таблице HAVE_D; если жители переезжают в другую квартиру Зеленограда, то для них необходимо обновить значения в столбце ADR таблицы PERSON. В предложении… Читать ещё >
Удаление существующих данных (реферат, курсовая, диплом, контрольная)
Наименьшей единицей информации, которую можно удалить из реляционной БД, является строка. Удаление существующей строки из БД происходит, когда объект, представляемый этой строкой, перестает существовать в рассматриваемой предметной области. На примере учебной БД это выглядит следующим образом:
- 1) если житель лишается одного из своих источников дохода, то необходимо удалить строку из таблицы HAVE_D, содержащую номер жителя и идентификатор источника дохода, которого лишился житель;
- 2) если в квартире отключается телефон, то из таблицы TPHONE должна быть удалена строка, соответствующая этому телефону;
- 3) если квартира ликвидируется, необходимо удалить соответствующую строку в таблице FLAT; в случае, когда жители этой квартиры уезжают из Зеленограда, то их строки в таблице PERSON также должны быть удалены вместе с соответствующими строками в таблице HAVE_D; если жители переезжают в другую квартиру Зеленограда, то для них необходимо обновить значения в столбце ADR таблицы PERSON.
Для удаления выбранных строк из одной таблицы используется оператор DELETE (см. рис. 3.2).
В предложении FROM указывается таблица, содержащая удаляемые строки. В предложении WHERE указывается условие, которому должны соответствовать удаляемые строки.
Предположим, что необходимо зафиксировать в БД отключение телефона, установленного в квартире по адресу: Зеленоград, 1001−45:
DELETE FROM TPHONE.
WHERE ADR ='Зеленоград, 1001−45'.
Можно удалить несколько строк одним оператором DELETE, например, когда все жители одной квартиры уезжают из Зеленограда, то этот факт отражается в таблице PERSON удалением строк, соответствующих уезжающим жителям:
DELETE FROM PERSON.
WHERE ADR ='Зеленоград, 1001−45'.
Если предложение WHERE отсутствует в записи оператора DELETE, то такой оператор удаляет из таблицы все строки. Например, оператор DELETE FROM PERSON «опустошит» таблицу PERSON, удалив из нее все строки.
В предложении WHERE условие поиска может содержать вложенный запрос. Например, прежде чем удалять из таблицы PERSON информацию об уезжающих из города жителях некоторой квартиры, необходимо из таблицы HAVE_D удалить все строки, связанные с этими жителями и определяющие источники доходов этих жителей. Такое удаление обеспечивает следующий оператор:
DELETE FROM HAVE_D WHERE N0M IN.
(SELECT N0M FROM PERSON WHERE.
ADR ='Зеленоград, 1001−45').