Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование и разработка баз данных. Лаборат...doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3 Мб
Скачать
☆

Внешние соединения

Листинг 33. Левое внешнее соединение

SELECT Название. ФактТрудозатраты

FROM ПРОЕКТ LEFT JOIN НАЗНАЧЕНИЕ

ON ПРОЕКТ.ИдПроекта = НАЗНАЧЕНИЕ.ИдПроекта;

Листинг 34. Правое внешнее соединение

SELECT Название. ФактТрудозатраты

FROM ПРОЕКТ RIGHT JOIN НАЗНАЧЕНИЕ

ON ПРОЕКТ.ИдПроекта = НАЗНАЧЕНИЕ.ИдПроекта;

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

Листинг 35

CREATE VIEW CustomerNameView AS

SELECT Name AS CustomerName

FROM Customer;

Листинг 36

SELECT *

FROM CustomerNameView

ORDER BY CustomerName;

Листинг 37. Отображение вычисляемых столбцов

CREATE VIEW CustomerPhone AS

SELECT Name, ('(' + AreaCode + ')') + PhoneNumber) As Phone

FROM CUSTOMER;

Листинг 38. Обеспечение уровня абстракции между данными, обрабатываемыми приложением и реальными таблицами

Рассмотрим следующее определение представления:

CREATE VIEW CustomerTable1 AS

SELECT *

FROM CUSTOMER;

Если источником данных о клиентах станет другая таблица, например, NEW_CUSTOMER, то переопределяем представление:

CREATE VIEW CustomerTable1 AS

SELECT *

FROM NEW_CUSTOMER;

Листинг 39. Синтаксис обновления

UPDATE CustomerTable1

SET Email = 'NewEmailAdress@somewhere.com'

WHERE CustomerlD = 1000;

2