Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационное обеспечение3.Х.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
806.75 Кб
Скачать
      1. Изменение данных

Для изменения значения одного или нескольких полей одной или нескольких строк таблицы используется команда UPDATE. Формат команды:

UPDATE имя_таблицы SET столбец = значение | выражение [, столбец = значение | выражение ] ... [WHERE фраза];

Фраза WHERE используется для задания условий для отбора строк, поля которых должны подвергнуться изменению. Синтаксис фразы такой же, как и в команде SELECT.

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

Далее приведены примеры изменения значения поля «Кол-во_мест» в таблице «МАРКИ».

UPDATE Марки SET Кол-во_мест = Кол-во_мест+10;

UPDATE Марки SET Кол-во_мест = 130 WHERE №Марки = 2;

Первая команда изменяет все строки таблицы, увеличивая количество мест на 10, т.е. до 160 и 80 соответственно.

Вторая устанавливает значение поля «Кол-во_мест», равное 130 для записи со значением поля «№Марки», равным 2.

      1. Удаление данных

Для удаления одной или нескольких строк таблицы используется команда DELETE. Формат команды:

DELETE FROM имя_таблицы [ WHERE фраза ];

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

      1. Ограничения целостности при манипулировании данными

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

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

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

Однако, ограничения внешнего ключа могут быть нарушены и при манипулировании данными родительской таблицы, например, удаление строки в родительской таблице или изменение значения внешнего ключа, при этом в дочерней таблице значение ключа становится некорректным. Для операций, приводящих к нарушениям целостности внешнего ключа, указывают один следующих допустимых вариантов развития событий:

  • Запрет выполнения операции, что приводит к возникновению ошибки и невыполнению операции.

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

  • Каскадирование операции, что приводит в случае удаления строки в родительской таблице к удалению всех ссылающихся на неё строк дочерней таблицы и к изменению значения внешнего ключа всех связанных строк дочерней таблицы при изменении первичного ключа строки родительской таблицы. Таким образом, одна операция удаления или изменения может повлечь за собой каскадное выполнение операций в нескольких таблицах, причем при иерархической связи таблиц могут быть удалены все данные. Однако, все эти операции рассматриваются как единое целое, и если хотя бы в одной из них возникает ошибка, то все операции считаются невыполненными. Это тесно связано с понятием транзакции, широко описанным в литературе[4, 11].