Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 19 Представлення даних в реляційній моде...docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
31.16 Кб
Скачать

3.3. Вертикально-горизонтальний зріз таблиці.

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

ПРИКЛАД

Надати користувачам бази даних «БІБЛІОТЕКА» відомості про книжки, виданих після 1984 року. У подання даних, назва книги, рік, місце видання і шифр.

CREATE VIEW BookAfter1984

AS

SELECT Name, IssueYaer, Drawing, Cipher

FROM Books

WHERE IssueYear> = '01 .01.1984 '

В результаті отримаємо віртуальну таблицю 3.3.

Name

IssueYear

Drawing

Cipher

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

1985

«Недра»

622.7-52/Т

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

1987

«Автомат»

681.513.5:/А

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

1987

«Матстат»

681.513.5:/К

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

1987

«Автомат»

622.7-52/П

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.

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

6