Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ограничения на использование представлений

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

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

Горизонтальный срез таблицы.

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

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

 

ПРИМЕР

 

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

 

CREATE VIEW ReadersView

AS

SELECT ReaderCardNumber, FamilyName, Name, Patronymic, Job, Post

FROM Readers

 

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

Таблица 13.1.

FamilyNamе Name Patronymic ReaderCardNumber Job Post
Иванов Петр Иванович   ДГУ, каф. ЭВТ Ассистент
Федорец Ирина Олеговна   ДГУ, АХЧ Вахтер
Ильин Иван Петрович   ДГУ, каф. физики Доцент
Суренко Дмитрий Павлович   ДГУ, каф. геофизики Ст. преподаватель
Коршунова Наталья Юрьевна   ДГУ, каф. геоинформа-тики Ассистент
Носенко Олег Владимирович   ДГУ, ИКК Инженер

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

 

ПРИМЕР

 

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

 

CREATE VIEW AllBookAfter1984

AS

SELECT *

FROM Books

WHERE IssueYear >= ’01.01.1984’

 

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

Таблица 13.2.

Code Name AuthorCode IssueYear Drawing UDK Cipher Note
  Автоматизация производственных процессов на обогатительной фабрике     «Недра» NULL 622.7-52/Т Blob
  Асимтотические методы оптимального управления     «Автомат» NULL 681.513.5:/А Blob
  Методы оптимизации стохастических систем     «Матстат» NULL 681.513.5:/К BLOB
  Автоматизированные системы управления технологическим процессом обогащения руды     «Автомат» NULL 622.7-52/П Blob

Представление данных формируется как вертикально-горизонтальный срез таблицы когда оператор 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
Автоматизация производственных процессов на обогатительной фабрике   «Недра» 622.7-52/Т
Асимптотические методы оптимального управления   «Автомат» 681.513.5:/А
Методы оптимизации стохастических систем   «Матстат» 681.513.5:/К
Автоматизированные системы управления технологическим процессом обогащения руды   «Автомат» 622.7-52/П

Представление данных формируется как подмножество строк и столбцов, когда в операторе 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
  Ильин Иван Синтез оптимальных автоматических систем   12.99 02.09.2004 16.09.2004 11.12.2004
  Суренко Дмитрий Автоматизированные системы управления технологическим процессом обогащения руды   10.1 30.10.2004 13.11.2004 10.01.2005

Стандарт ISO включает несколько важных ограничений на создание и использование представлений, хотя в этом отношении между разными диалектами языка SQL существуют определенные отличия.

· Если столбец в представлении создается с использованием обобщающей функции, то этот столбец может указываться в предложениях SELECT и ORDER BY тех запросов, в которых осуществляется доступ к данному представлению. В частности, подобный столбец не может использоваться в предложении WHERE, а также не может быть аргументом в обобщающей функции любого из запросов, обращающихся к данному представлению.

· Сгруппированное представление никогда не должно соединяться с таблицами базы данных или другими представлениями.

<== предыдущая лекция | следующая лекция ==>
Способы формирования представлений данных | Обновление данных в представлениях
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 224; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.