logo
Ответы Госы_3

39. Изменение содержимого базы данных средствами языка sql.

Для изменения содержимого базы данных SQL предусматривает три операции INSERT (вставка строк в таблице), DELETE (удаление строк из таблицы) и UPDATE (обновление значений в существующих строках таблиц).

Операция вставки INSERT может быть единичной или групповой.Для единичной вставки необходимо явным образом определить значение колонок новой строки. Если указан неполный перечень колонок таблицы. то что остались колонки получают неопределенное значение (NULL).

Операция групповой вставки предусматривает добавление строк в таблицу с некоторой другой таблицы, отмеченной явно или с помощью SELECT -пропозиції.

Операция удаления DELETE групповая, тобтозастосовується ко всем строкам таблицы, которая удовлетворяет необходимым условиям. В отличие от запис-орієнтованих словно манипулирование данными, SQL не использует понятия текущей строки в таблице, допуская. что любая строка может быть однозначно идентифицирована в таблице с помощью значения первичного ключа. Если условие отсутствует, то удаляются все строки таблицы. Условие может использовать функцию проверки вхождения значения в некоторую другую таблицу, заданную с помощью SELECT -конструкції.

Операция обновления значений в строках таблицы UPDATE также групповая. Условие определяет, к каким строкам нужно применить операцию обновления. В условия, аналогично DELETE, можно использовать SELECT -конструкції.

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

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

Такого рода ограничения целостности определяются при создании отдельных таблиц и определении структуры базы данных.

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

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