17238

Представления СУБД MS SQL Server

Лекция

Информатика, кибернетика и программирование

Лекция №3_1 Представления Представление VIEW объект данных который не содержит никаких данных его владельца. Это тип таблицы чье содержание выбирается из других таблиц с помощью выполнения запроса. Поскольку значения в этих таблицах меняются то автоматически их з...

Русский

2013-06-30

40 KB

8 чел.

Лекция №3_1

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

Представление (VIEW)- объект данных, который не содержит никаких данных его владельца. Это- тип таблицы, чье содержание выбирается из других таблиц с помощью выполнения запроса. Поскольку значения в этих таблицах меняются, то автоматически, их значения могут быть показаны представлением.

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

Команда CREATE VIEW

Представление создается командой CREATE VIEW. Она состоит из слов CREATE VIEW (Создать представление), имени представления которое нужно создать, слова AS (Как), и далее запроса, как в следующем примере:

иногда вам нужно снабжать ваши столбцы новыми именами:

  •  когда некоторые столбцы являются выводимыми, и поэтому не имеющими имен.
  •  когда два или более столбцов в объединении, имеют те же имена что в их базовой таблице.

Имена, которые могут стать именами полей, даются в круглых скобках ( ), после имени представления.

CREATE VIEW Londonstaff (имена полей)

AS SELECT *

FROM Salespeople

WHERE city = "London";

Представление может теперь изменяться командами модификации DML, но модификация не будет воздействовать на само представление. Команды будут на самом деле перенаправлены к базовой таблице:

UPDATE Salesown

SET city = "Palo Alto"

WHERE snum = 1004;

Его действие идентично выполнению той же команды в таблице Продавцов. Однако если значение комиссионных продавца будет обработано командой UPDATE

UPDATE Salesown

SET comm = .20

WHERE snum = 1004;

она будет отвергнута, так как поле comm отсутствует в представлении Salesown. Это важное замечание, показывающее, что не все представления могут быть модифицированы.

Виды представлений

Представления могут быть трех видов:

  •  горизонтальные;
  •  вертикальные;
  •  смешанные.

Горизонтальные – это представления, которые ограничивают доступ к некоторым столбцам исходной таблицы и разрешают просматривать все строки.

SELECT city, snum

FROM Salespeople;

Вертикальные – это представления, которые ограничивают доступ к некоторым строкам исходной таблицы и разрешают просмотр всех столбцов.

SELECT *

FROM Salespeople

WHERE city = "London";

Смешанное – это представление, которое ограничивает доступ, как к некоторым столбцам исходной таблицы, так и к некоторым строкам.

SELECT city, snum

FROM Salespeople

WHERE city = "London";

Удаление представлений

Синтаксис удаления представления из базы данных подобен синтаксису удаления базовых таблиц:

DROP VIEW <view name>

Определение модифицируемости представления

Если команды модификации могут выполняться в представлении, представление будет модифицируемым; в противном случае оно предназначено только для чтения при запросе. Выражение "модифицируемое представление" (updating a view), означает возможность выполнения в представлении любой из трех команд модификации DML (Вставить, Изменить и Удалить), которые могут изменять значения.

Использование этого принципа на практике, однако, затруднено. Кроме того, некоторые представления, которые являются модифицируемыми в теории, на самом деле не являются модифицируемыми в SQL. Критерии, по которые определяют, является ли представление модифицируемым или нет, в SQL, следующие:

  •  Оно должно выводиться в одну и только в одну базовую таблицу.
  •  Оно должно содержать первичный ключ этой таблицы (это технически не предписывается стандартом ANSI, но было бы неплохо придерживаться этого).
  •  Оно не должно иметь никаких полей, которые бы являлись агрегатными функциями.
  •  Оно не должно содержать DISTINCT в своем определении.
  •  Оно не должно использовать GROUP BY или HAVING в своем определении.
  •  Оно не должно использовать подзапросы (это - ANSI ограничение которое не предписано для некоторых реализаций)
  •  Оно может быть использовано в другом представлении, но это представление должно также быть модифицируемыми.
  •  Оно не должно использовать константы, строки, или выражения значений (например: comm * 100) среди выбранных полей вывода.
  •  Оно на должно содержать операторов Объединения (UNION) и Объединения всего (UNIOM ALL).
  •  Для INSERT, оно должно содержать любые поля основной таблицы, которые имеют ограничение NOT NULL, если другое ограничение по умолчанию, не определено.
  •  Упорядочение по (ORDER BY) никогда не используется в определении представлений.

Проверка значений помещаемых в представление

Другой вывод о модифицируемости представления тот, что вы можете вводить значения которые "проглатываются" (swallowed) в базовой таблице. Рассмотрим такое представление:

CREATE VIEW Highratings

AS SELECT cnum, rating

FROM Customers

WHERE rating = 300;

Это- представление модифицируемое. Оно просто ограничивает ваш доступ к определенным строкам и столбцам в таблице. Предположим, что вы вставляете (INSERT) следующую строку:

INSERT INTO Highratings

VALUES (2018, 200);

Это - допустима команда INSERT в этом представлении. Строка будет вставлена, с помощью представления Highratings, в таблицу Заказчиков. Однако когда она появится там, она исчезнет из представления, поскольку значение оценки не равно 300. Это - обычна проблема.


 

А также другие работы, которые могут Вас заинтересовать

82116. Правила безпечного поводження з газом та газовими приладами 201 KB
  Правила безпечного поводження з газом та газовими приладами. Ознайомити учнів з правилами безпечного користування побутовими газовими приладами. Вчити дітей діяти у разі виявлення запаху газу. Що зараз майже в кожнім домі Є необхідним безперечно Бо варить їжу всім без втоми Хоч він отруйний небезпечний...
82117. Поведінка учня. Вплив поведінки на здоров’я 110 KB
  Мета: Формувати уявлення про ввічливого учня, про вплив поведінки на власне здоров’я та здоров’я оточуючих людей. Формувати вміння встановлювати причинно-наслідкові зв’язки (між настроєм і суперечкою; добрим вчинком і доброзичливим ставленням); узагальнювати сприйняття, використовувати знання...
82118. Эмоции. Умение контролировать эмоции. Положительные и отрицательные эмоции. Практическая работа: моделирование ситуации преодоления отрицательных эмоций 1.41 MB
  Цель: сформировать представление о положительных и отрицательных эмоциях, развивать умения находить связь между характером человека и его здоровьем, воспитывать желание изменять свой характер в лучшую сторону.
82119. Цінуй життя і здоров’я 48.5 KB
  Мета уроку: учити дітей свідомо ставитися до свого здоровя; вчити дотримуватися здорового способу життя: режиму дня раціонального правильного харчування правил гігієни; розвивати зацікавленість дітей до проведення фізичних вправ і загартовувальних процедур; розвивати мовлення вміння висловлювати свою думку...
82120. Ми – за здоровий спосіб життя 44 KB
  Мета: формувати відповідальну внутрішню позицію щодо свого здоров’я на основі позитивних перспективних мотивів; поглиблювати усвідомлення поняття «здоров’я», його багатогранності, необхідності турботи про нього; розширювати знання про негативний вплив шкідливих звичок...
82121. О здоровом образе жизни 75.5 KB
  Баба готовит колобок имитируя движениями рук процесс замешивания теста. Ведущий: По сусекам помела Горсти две муки нашла Соль добавила песок Славный вышел колобок Пышный да румяный Баба: Погоди ка дед чуток Пусть остынет колобок Ведущий: Непоседе Колобку Стыть бы на окошке Но решил он: Убегу Разомнусь немножко.
82122. Здоровий спосіб життя – це модно 70.5 KB
  Мета: Здійснювати пропаганду здорового способу життя; розширити та закріпити знання про пагубний вплив наркотиків тютюнопаління алкоголю на організм людини. Виховувати у учнів негативне відношення до застосування алкогольних напоїв наркотиків та та тютюнопаління, бажання і вміння вести здоровий спосіб життя...
82123. Зелені друзі 528 KB
  А зараз ми з вами спробуємо порівняти дерево і людину. Для цього ми розділимось на чотири групи кожна отримає запитання на яке дасть повну відповідь: Що спільного між людиною і деревом Чим відрізняються дерево і людина Яке значення дерева в житті людини Яке значення людини в житті дерев...
82124. Земля – наш космічний дім 63.5 KB
  Закріпити і перевірити знання учнів по темі; підвести підсумок пошуковій роботі; висвітлити значення океанів та використання їх багатств людиною; сприяти розвитку пам’яті, спостережливості; виховувати бережливе ставлення до природних багатств.