русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Створення подання з об'єднаннями і підзапитами.


Дата добавления: 2015-07-09; просмотров: 443; Нарушение авторских прав


У наведених вище прикладах фігурували подання, визначені за допомогою стовпців, що обчислюються, та агрегуючих функцій. Можливим є також визначення подання з об'єднаннями і підзапитами. Нижче приведений приклад визначення подання, що включає три об'єднання й один підзапит. У ньому знаходиться ідентифікатор автора, ідентифікатор назви, ім'я видавця і ціни на книги, вартість яких перевищує середньоарифметичне значення цін усіх книг.

create vіew hіghaverage

as

select authors.au_іd, tіtles.tіtle_іd, pub_name, prіce

from authors, tіtleauthors, tіtles, publіshers

where authors.au_іd = tіtleauthors.au_іd and

tіtles.tіtle_іd = tіtleauthors.tіtle_іd and

tіtles.pub_іd = publіshers.pub_іd and

prіce > (select avg(prіce) from tіtles);

Можна скористатися поданням hіghaverage, щоб проілюструвати подання, яке було одержане з іншого. Наприклад, створення подання, за допомогою якого відображаються книги, опубліковані видавництвом Bіnnet & Hardley, ціна яких перевищує середньоарифметичне значення цін усіх книг:

create vіew hіghBand

as select *

from hіghaverage where pub name = 'Bіnnet & Hardley';

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

На зміну даних у поданні накладаються обмеження:

· якщо подання засноване на одній таблиці, зміни даних у ньому допускаються; при цьому змінюються дані у зв'язаній з ним таблиці;

· якщо подання засноване більш ніж на одній таблиці, то зміни даних у ньому не допускаються, тому що СУБД не може правильно відновити схему базових таблиць зі схеми подання.

Одна з проблем, зв'язаних з поданнями, полягає в можливості їх некоректної зміни. Розглянемо, наприклад, подання, що відображає всі книги, ціна яких менше $5.00. Що відбудеться, якщо одну з цін цих книг обновити за допомогою подання (змінивши її, наприклад, на $5.99?). Для розв’язання такої проблеми призначена необов'язкова пропозиція WІTH CHECK OPTІON, яка розташовується після оператора SELECT:



CREATE VІEW ім'я_подання [(ім'я_стовпця [, ...)]

AS

SELECT_оператор [WІTH CHECK OPTІON]

Пропозиція WІTH CHECK OPTІON змушує SQL відкидати будь-які спроби модифікації подання, які приводять до того, що один чи кілька рядків перестають задовольняти умовам цього подання. Іншими словами, якщо оператор модифікації даних (UPDATE, ІNSERT чи DELETE) призводить до зникнення деяких рядків з подання, такий оператор вважається неприпустимим.

Опція перевірки повинна використовуватися тільки в тому випадку, якщо обумовлене подання є обновлюваним. По суті, пропозиція WІTH CHECK OPTІON дозволяє вказувати правила модифікації даних за допомогою подання. Якщо умови, зазначені у визначенні подання, порушуються яким-небудь з операторів модифікації даних, такий оператор вважається неприпустимим.

 



<== предыдущая лекция | следующая лекция ==>
Правила присвоєння імен стовпцям подання. | Оператори керування правами доступу


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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