Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 09 Лекция 1 (13).doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
130.05 Кб
Скачать

13.3.3. Вертикально-горизонтальный срез таблицы.

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

ПРИМЕР

Предоставить пользователям базы данных «БИБЛИОТЕКА» сведения о книгах, изданных после 1984 года. В представление данных включить название книги, год, место издания и шифр.

CREATE VIEW BookAfter1984

AS

SELECT Name, IssueYaer, Drawing, Cipher

FROM Books

WHERE IssueYear >= ’01.01.1984’

В результате получим виртуальную таблицу 13.3.

Таблица 13.3.

Name

IssueYear

Drawing

Cipher

Автоматизация производственных процессов на обогатительной фабрике

1985

«Недра»

622.7-52/Т

Асимптотические методы оптимального управления

1987

«Автомат»

681.513.5:/А

Методы оптимизации стохастических систем

1987

«Матстат»

681.513.5:/К

Автоматизированные системы управления технологическим процессом обогащения руды

1987

«Автомат»

622.7-52/П

13.3.4. Подмножество строк и столбцов соединения разных таблиц.

Представление данных формируется как подмножество строк и столбцов, когда в операторе SELECT используется внутренние или внешние соединения таблиц.

ПРИМЕР

Предоставить пользователям базы данных «БИБЛИОТЕКА» информацию о том, кто и какие книги возвращал в библиотеку не вовремя. Представление данных должно содержать: номер читательского билета, фамилию и имя читателя, название, инвентарный номер и стоимость книги, дату выдачи, возврата и фактического возврата книги.

CREATE VIEW Debtors

(ReaderCardNumber, ReaderFamilyName, ReaderName, BookName,

BookInventoryNumber, BookCost, IssueDate, ReturnDate, FactReturnDate)

AS

SELECT R.ReaderCardNumber, R.FamilyName, R.Name,

B.Name, I.InventoryNumber, I.Cost,

G.IssueDate, G.ReturnDate, G.FactReturnDate

FROM Readers R, Books B, BookInventoryNumbers I, BookGiveOutRecord G

WHERE G.ReturnDate < G.FactReturnDate AND

G.ReaderCode = R.Code AND

G.InventoryCode = I.Code AND

I.BookCode = B.Code

В результате получим виртуальную таблицу 13.4.

Таблица 13.4.

ReaderCardNumber

ReaderFamilyName

ReaderName

BookName

BookInventoryNumber

BookCost

IssueDate

ReturnDate

FactReturnDate

1345

Ильин

Иван

Синтез оптимальных автоматических систем

4512890

12.99

02.09.2004

16.09.2004

11.12.2004

543

Суренко

Дмитрий

Автоматизированные системы управления технологическим процессом обогащения руды

4632112

10.1

30.10.2004

13.11.2004

10.01.2005