Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по серверам.doc
Скачиваний:
1
Добавлен:
02.01.2020
Размер:
748.54 Кб
Скачать

Values(‘31.03.03’,’согласен’,3000,4)

В INSERT можно использовать подзапросы.

Например, вставить в таблицу РROРERTY_VITEBSK данные только о проданных объектах:

INSERT INTO РROРERTY_VITEBSK

SELECT *

FROM РROРERTY

WHERE City =’Витебск’ AND РROРERTY_No = ANY(SELECT РROРERTY _No FROM VIEWING

WHERE Comments =’согласен’);

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

Запрос на обновление реализуется с помощью оператора UPDATE. Оператор служит для изменения значений полей на основе заданного условия отбора.

Синтаксис запроса:

UPDATE имя_таблицы

SET имя_поля=выражение

WHERE условие_отбора

Например, снизить цены на квартиры, в которых не установлены телефоны на 1%:

UPDATE PROPERTY

SET Selling_Price= Selling_Price*0.99

WHERE Ptel=’-’;

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

Например, снизить цену в 2 раза на те объекты собственности, у которых поле Comments таблицы VIEWING содержит значение ’требует ремонта’:

UPDATE PROPERTY

SET Selling_Price= Selling_Price/2;

WHERE Property_no= (SELECT Property_no

FROM VIEWING

WHERE Comments =’требует ремонта’);

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

  1. Какие предложения может включать в себя инструкция SELECT?

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

  3. В чем заключаются отличия между разделами HAVING и WHERE?

  4. Какое предложение инструкции SELECT используется для сортировки данных?

  5. Какие предложения инструкции SELECT могут включать подчиненные запросы?

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

  7. Какой оператор служит для создания новой таблицы из набора результатов?

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

  9. Назовите все виды запросов на модификацию данных.

  10. Какие варианты оператора INSERT вам известны?

  1. Создание представлений

Механизм представлений является мощным средством СУБД, позволяющим скрыть реальную структуру БД от некоторых пользователей за счет определения его собственного представления БД. Представление дает возможность пользователю работать только с теми данными, которые ему нужны, и скрыть служебные данные, которые ему неинтересны (например, шифры).

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

Итак, представление - это фактически тот же запрос, который выполняется всякий раз, когда представление участвует в какой-либо команде. Когда СУБД встречает в команде ссылку на представление, она отыскивает его определение, хранящееся в БД. После этого происходит преобразование пользовательской команды в ее эквивалент к исходной таблице. Следовательно, у пользователя создается впечатление, что он работает с реально существующей таблицей.