Меню
Разработки
Разработки  /  Прочее  /  Презентации  /  Прочее  /  Представления в Microsoft SQL Server

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

Данный методический материал предназначен подготовки и проведения уроков при изучении дисциплины МДК.11.01 "Технология разработки и защиты баз данных" по теме "Представления в Microsoft SQL Server"
19.11.2021

Содержимое разработки

Представления и табличные объекты

Представления и табличные объекты

 Представления или Views представляют виртуальные таблицы. Но в отличии от обычных стандартных таблиц в базе данных представления содержат запросы, которые динамически извлекают используемые данные.  Представления дают нам ряд преимуществ. Они упрощают комплексные SQL-операции. Они защищают данные, так как представления могут дать доступ к части таблицы, а не ко всей таблице. Представления также позволяют возвращать отформатированные значения из таблиц в нужной и удобной форме.  Для создания представления используется команда  CREATE VIEW , которая имеет следующую форму:

Представления или Views представляют виртуальные таблицы. Но в отличии от обычных стандартных таблиц в базе данных представления содержат запросы, которые динамически извлекают используемые данные.

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

Для создания представления используется команда  CREATE VIEW , которая имеет следующую форму:

CREATE VIEW название_представления [(столбец_1, столбец_2, ....)] AS выражение_SELECT  Например, пусть есть три связанных таблицы:
  • CREATE VIEW название_представления [(столбец_1, столбец_2, ....)]
  • AS выражение_SELECT

Например, пусть есть три связанных таблицы:

Теперь добавим в базу данных, в которой содержатся данные таблицы, следующее представление

Теперь добавим в базу данных, в которой содержатся данные таблицы, следующее представление

 То есть данное представление фактически будет возвращать сводные данные из трех таблиц. И после его создания мы сможем его увидеть в узле Views у выбранной базы данных в SQL Server Management Studio:

То есть данное представление фактически будет возвращать сводные данные из трех таблиц. И после его создания мы сможем его увидеть в узле Views у выбранной базы данных в SQL Server Management Studio:

 При создании представлений представления, как и таблицы, должны иметь уникальные имена в рамках той же базы данных.  Представления могут иметь не более 1024 столбцов и могут обращаться не более чем к 256 таблицам.  Также можно создавать представления на основе других представлений. Такие представления еще называют вложенными ( nested views ). Однако уровень вложенности не может быть больще 32-х.  Команда  SELECT , используемая в представлении, не может включать выражения  INTO  или  ORDER BY  (за исключением тех случаев, когда также применяется выражение  TOP  или  OFFSET ). Если же необходима сортировка данных в представлении, то выражение ORDER BY применяется в команде SELECT , которая извлекает данные из представления.  Также при создании представления можно определить набор его столбцов:

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

Представления могут иметь не более 1024 столбцов и могут обращаться не более чем к 256 таблицам.

Также можно создавать представления на основе других представлений. Такие представления еще называют вложенными ( nested views ). Однако уровень вложенности не может быть больще 32-х.

Команда  SELECT , используемая в представлении, не может включать выражения  INTO  или  ORDER BY  (за исключением тех случаев, когда также применяется выражение  TOP  или  OFFSET ). Если же необходима сортировка данных в представлении, то выражение ORDER BY применяется в команде SELECT , которая извлекает данные из представления.

Также при создании представления можно определить набор его столбцов:

Изменение представления  Для изменения представления используется команда  ALTER VIEW . Эта команда имеет практически тот же самый синтаксис, что и  CREATE VIEW : ALTER VIEW название_представления [(столбец_1, столбец_2, ....)] 2. AS выражение_SELECT  Например, изменим выше созданное представление OrdersProductsCustomers:

Изменение представления

Для изменения представления используется команда  ALTER VIEW . Эта команда имеет практически тот же самый синтаксис, что и  CREATE VIEW :

  • ALTER VIEW название_представления [(столбец_1, столбец_2, ....)]

2. AS выражение_SELECT

Например, изменим выше созданное представление OrdersProductsCustomers:

Удаление представления  Для удаления представления вызывается команда  DROP VIEW :  DROP VIEW OrdersProductsCustomers  При удалении таблиц также следует удалить и  представления, которые используют эти таблицы . Обновляемое представление Представления могут быть обновляемыми. В таких представлениях можно изменить или удалить строки или добавить в них новые строки. При создании подобных представлений есть ограничения. В частности, команда SELECT при создании обновляемого представления не может содержать:

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

Для удаления представления вызывается команда  DROP VIEW :

DROP VIEW OrdersProductsCustomers

При удалении таблиц также следует удалить и

представления, которые используют эти таблицы .

Обновляемое представление

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

представлениях можно изменить или удалить строки или

добавить в них новые строки.

При создании подобных представлений есть ограничения.

В частности, команда SELECT при создании обновляемого

представления не может содержать:

TOP DISTINCT UNION JOIN агрегатные функции типа  COUNT  или  MAX GROUP BY  и  HAVING подзапросы производные столбцы или столбцы, которые вычисляются на основании нескольких значений обращения одновременно к нескольким таблицам  Это касается именно обновляемого представления. Например, для создания обычного представления мы можем использовать в команде SELECT оператор JOIN, однако такое представление не будет обновляемым.
  • TOP
  • DISTINCT
  • UNION
  • JOIN
  • агрегатные функции типа  COUNT  или  MAX
  • GROUP BY  и  HAVING
  • подзапросы
  • производные столбцы или столбцы, которые вычисляются на основании нескольких значений
  • обращения одновременно к нескольким таблицам

Это касается именно обновляемого представления. Например, для создания обычного представления мы можем использовать в команде SELECT оператор JOIN, однако такое представление не будет обновляемым.

Пусть дана таблица: CREATE TABLE Products (  Id INT IDENTITY PRIMARY KEY,      ProductName NVARCHAR(30) NOT NULL,     Manufacturer NVARCHAR(20) NOT NULL,     ProductCount INT DEFAULT 0,     Price MONEY NOT NULL ) Создадим обновляемое представление:  CREATE VIEW ProductView AS SELECT ProductName AS Product, Manufacturer, Price FROM Products

Пусть дана таблица:

  • CREATE TABLE Products
  • Id INT IDENTITY PRIMARY KEY,   
  •   ProductName NVARCHAR(30) NOT NULL,    
  • Manufacturer NVARCHAR(20) NOT NULL,    
  • ProductCount INT DEFAULT 0,    
  • Price MONEY NOT NULL
  • )

Создадим обновляемое представление:

  • CREATE VIEW ProductView
  • AS SELECT ProductName AS Product, Manufacturer, Price
  • FROM Products
 При добавлении фактически будет добавлен объект в таблицу Products, которую использует представление ProductView. И поэтому надо учитывать, что если в этой таблице есть какие-либо столбцы, в которые представление не добавляет данные, но которые не допускают значение NULL или не поддерживают значение по умолчанию, то добавление завершится с ошибкой.  Обновление строки представления: UPDATE ProductView SET Price= 15000 WHERE Product='Nokia 8‘ Удаление строки в представлении: DELETE FROM ProductView WHERE Product='Nokia 8‘ Обновление и удаление также затрагивают ту таблицу, которую использует представление.

При добавлении фактически будет добавлен объект в таблицу Products, которую использует представление ProductView. И поэтому надо учитывать, что если в этой таблице есть какие-либо столбцы, в которые представление не добавляет данные, но которые не допускают значение NULL или не поддерживают значение по умолчанию, то добавление завершится с ошибкой.

Обновление строки представления:

  • UPDATE ProductView
  • SET Price= 15000 WHERE Product='Nokia 8‘

Удаление строки в представлении:

DELETE FROM ProductView WHERE Product='Nokia 8‘

Обновление и удаление также затрагивают ту таблицу,

которую использует представление.

-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Представления в Microsoft SQL Server (194.5 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт