Классика баз данных - статьи

       

в таблицу служащих нового сотрудника




Рис. 38. Простая модификация

Вставка, зависящая от выборки. Вставить в таблицу служащих нового сотрудника отдела игрушек c именем Генри (Henry), менеджером которого является Ли (Lee), а зарплата такая же, как у служащего с именем Льюис (Lewis). Эта операция представлена на рис. 39. Это пример вставки, зависящей от выборки, поскольку система должна сначала произвести произвести запрос к базе данных для нахождения зарплаты Льюиса, а затем скопировать полученное значение для Генри. Хотя последовательность строк при формулировании операции несущественна, в ней присутствует неявное упорядочение выполнения – вставку нельзя завершить до выполнения запроса.



Рис. 39. Вставка, зависящая от выборки

Удаление, зависящее от выборки. Удалить всех служащих, работающих в отделе продажи ручек. Эта операция показана на рис. 40. Заполнение поля NAME, SAL, MGR элементами примера здесь не требуется, хотя и не запрещается.



Рис. 40. Удаление, зависящее от выборки

Модификации, зависящие от выборки. Часто требуется модифицировать некоторое поле на основе его предыдущего значения. Это делается неявным образом. Пример: повысить зарплаты служащих отдела игрушек на 10 процентов. Эта операция показана на рис. 41. Выражение в поле SAL в строке, содержащей U. задает новое значение зарплаты; вторая строка специфицирует выборку прежнего значения. Операцию можно переформулировать следующим образом: выбрать запись со значением TOY в поле DEPT, найти значение поля зарплаты S1 и изменить его на новое, равное 1,1*S1.



Рис. 41. Модификации, зависящие от выборки

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


Содержание  Назад  Вперед