Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс (заочка) / Лабораторные работы / !Лабораторный практикум ТБД (задание).pdf
Скачиваний:
17
Добавлен:
08.01.2022
Размер:
1.12 Mб
Скачать

ALTER TABLE ARTIST ADD CONSTRAINT BDLimit CHECK (BirthDate BETWEEN 1400 AND 2100):

ALTER TABLE ARTIST ADD CONSTRAINT DDLimit CHECK (DeceasedDate BETWEEN 1400 AND 2100).

Выполним команды обновления:

UPDATE ARTIST SET BirthDate = 1870 WHERE Name = 'Miro': UPDATE ARTIST SET BirthDate = 1270 WHERE Name = 'Tobey':

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

Представления

Важное ограничение SQL-представлений состоит в том, что они могут содержать не более одного многозначного пути.

Определим представление, соединяющее три таблицы, с наложенным условием на столбцы AcquisitionPrice и CustomerID. Этопредставления соединения

онибазируются на соединениях.

 

 

CREATE VIEW ExpensiveArt AS

 

SELECT

Name, Copy, Title

 

FROM ARTIST, WORK, TRANSACTION

WHERE

ARTIST.ArtistID

= WORK.ArtistID AND

WORK.WorkID

=

TRANSACTION.WorkID AND

AcquisitionPrice

>

10000 AND

CustomerID IS NULL;

Вообще говоря, представления, основанные на одной таблице, допускают обновление данных. Если это почему-либо нежелательно, вы можете создать представление только для чтения, добавив выражение WITH READ ONLY в конец определения представления. Так, выражение

CREATE VIEW V1 AS SELECT * FROM ARTIST WITH READ ONLY;

создаст представление, доступное только для чтения.

Иногда для обновления данных и представлении можно использовать SQLоператор UPDATE, но это возможно только в особых обстоятельствах и только

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

Вобщем же случае оператор UPDATE не может использоваться для обновления данных о представлении. Для этих целей потребуется написать

30

специальный триггер, называемый замещающим триггером (триггер INSTEAD OF).

Контрольные задания к л.р. № 3-4

ОБЯЗАТЕЛЬНЫ ДЛЯ ВЫПОЛНЕНИЯ!!!

1.Вывести на экран информацию о таблицах пользователя

2.Вывести на экран информацию о структуре одной из таблиц

3.Вывести в отчет информацию физических атрибутах таблицы Artist

Ввести данные для следующих ситуаций:

4.На склад поступили репродукции картин 2-х русских художниках. Как минимум одно произведение - первого художника и два произведения -

второго. (Прошу обратить внимание, что требуются данные о реальных художниках!)

5.Сначала появился первый покупатель и приобрел картину первого художника. Затем появился другой покупатель и приобрел репродукции второго художника. Сделки были оформлены.

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

7.Последовательно отобразить СОДЕРЖИМОЕ ВСЕХ ТАБЛИЦ!!!

31