Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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

Каталог

В языке SQL существует аналог того, что принято называть каталогов – информационная схема. Здесь это понятие имеет свой специфический смысл. Нестрого говоря, каталог в языке SQL состоит из дескрипторов (метаданных) для отдельной базы данных, а схема состоит из дескрипторов той части базы данных, которая принадлежит отдельному пользователю. Другими словами, в системе может быть любое число каталогов (по одному для каждой базы данных), каждый из которых делится на произвольное число схем. Однако каждый каталог должен содержать ровно схему с именем INFORMATION_SHEMA (информационная схема), которая, с точки зрения пользователя, и является схемой, выполняющей функции обычного каталога.

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

Приведем некоторые из наиболее важных представлений информационной схемы:

SCHEMA (схемы) DOMAINS (домены) TABLES (таблицы)
VIEWS (представления) COLUMNS (столбцы) DOMAIN_CONSTRAINTS (ограничения для домена)
TABLE_CONSTRAINTS (ограничения для таблицы) REFERENTIAL_CONSTRAINTS (ссылочные ограничения) ASSERTIONS (утверждения)

Следует отметить, что представление TABLES содержит информацию обо всех именованных таблицах, как базовых таблицах, так и представлениях, а представление VIEWS только информацию о представлениях.

Приведем примеры определения представления на языке SQL.

CREATE VIEW GOOD_SUPPLIER

AS SELECT SN, STATUS, CITY

FROM S

WHERE STATUS > 15.

Соответственно, пример SQL-запроса к этому представлению может выглядеть следующим образом:

SELECT SN, STATUS

FROM GOOD_SUPPLIER

WHERE CITY=’Москва’

Подставив вместо ссылки на имя представления его определение, получим выражение, которое будет подобно приведенному ниже (здесь стоит обратить внимание на вложенный подзапрос в предложении FROM):

SELECT GOOD_SUPPLIER.SN, GOOD_SUPPLIER.STATUS

FROM (SELECT SN, STATUS, CITY

FROM S

WHERE STATUS > 15) AS GOOD_SUPPLIER

WHERE GOOD_SUPPLIER.CITY = ’Москва’

Это выражение может быть затем упрощено, например, следующим образом:

SELECT SN, STATUS

FROM S

WHERE STATUS > 15 AND CITY = ’Москва’

В последнем случае показан текст запроса, который будет выполняться фактически.

В качестве второго примера приведем операцию удаления.

DELETE

FROM GOOD_SUPPLIER

WHERE CITY=’Москва’

Запрос на удаление, который будет выполняться на самом деле, выглядит следующим образом:

DELETE

FROM S

WHERE STATUS > 15 AND CITY=’Москва’

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


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


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



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




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