СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Табличные объекты в Microsoft SQL Server

Категория: Информатика

Нажмите, чтобы узнать подробности

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

Просмотр содержимого документа
«Табличные объекты в Microsoft SQL Server»

Табличные объекты  в Microsoft SQL Server

Табличные объекты в Microsoft SQL Server

Табличные переменные  Табличные переменные позволяют сохранить содержимое целой таблицы. Формальный синтаксис определения подобной переменной во многом похож на создание таблицы:  DECLARE @табличная_переменная TABLE  (столбец_1 тип_данных [атрибуты_столбца],  столбец_2 тип_данных [атрибуты_столбца] ....)  [ атрибуты_таблицы] Например: DECLARE @ABrends TABLE (ProductId INT,  ProductName NVARCHAR(20))

Табличные переменные

Табличные переменные позволяют сохранить содержимое целой таблицы. Формальный синтаксис определения подобной переменной во многом похож на создание таблицы:

  • DECLARE @табличная_переменная TABLE
  • (столбец_1 тип_данных
  • [атрибуты_столбца],  столбец_2 тип_данных
  • [атрибуты_столбца] ....)
  • [ атрибуты_таблицы]

Например:

DECLARE @ABrends TABLE (ProductId INT,  ProductName

NVARCHAR(20))

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

В данном случае переменная @ABrends будет

содержать два столбца.

В дальнейшем можно работать с этой переменной как с

обычной таблицей, то есть добавлять данные, изменять,

удалять и извлекать их.

 Но такие переменные не полностью эквивалентны таблицам. Они живут в пределах одного пакета, после завершения работы которого они удаляются. То есть они носят временный характер, и физически их данные нигде не хранятся на жестком диске.   Временные и производные таблицы  Кроме табличных переменных можно определить временные таблицы. Такие таблицы могут быть полезны для хранения табличных данных внутри сложного комплексного скрипта.  Временные таблицы существуют на протяжении сессии базы данных. Если такая таблица создается в редакторе запросов в SQL Server Management Studio, то таблица будет существовать пока открыт редактор запросов. Таким образом, к временной таблице можно обращаться из разных скриптов внутри редактора запросов.

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

Временные и производные таблицы

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

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

 После создания все временные таблицы сохраняются в таблице  tempdb , которая имеется по умолчанию в MS SQL Server.  Если необходимо удалить таблицу до завершения сессии базы данных, то для этой таблицы следует выполнить команду  DROP TABLE .  Название временной таблицы начинается со знака решетки #.  Если используется один знак #, то создается локальная таблица, которая доступна в течение текущей сессии. Если используются два знака ##, то создается глобальная временная таблица. В отличие от локальной глобальная временная таблица доступна всем открытым сессиям базы данных.

После создания все временные таблицы сохраняются в таблице  tempdb , которая имеется по умолчанию в MS SQL Server.

Если необходимо удалить таблицу до завершения сессии базы данных, то для этой таблицы следует выполнить команду  DROP TABLE .

Название временной таблицы начинается со знака решетки #.

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

Например, создадим локальную временную таблицу:

Например, создадим локальную временную таблицу:

 С этой таблицей можно работать как и с обычной таблицей - получать данные, добавлять, изменять и удалять их. Только после закрытия редактора запросов эта таблица перестанет существовать.  Подобные таблицы удобны для каких-то временных  промежуточных данных.  Например, пусть есть три таблицы:

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

Подобные таблицы удобны для каких-то временных промежуточных данных.

Например, пусть есть три таблицы:

 Выведем во временную таблицу промежуточные данные из таблицы Orders:

Выведем во временную таблицу промежуточные данные из таблицы Orders:

 Здесь c начала извлекаются данные во временную таблицу #OrdersSummary. Причем так как данные в нее извлекаются с помощью выражения SELECT INTO, то предварительно таблицу не надо создавать. И эта таблица будет содержать id товара, общее количество проданного товара и на какую сумму был продан товар.  Затем эта таблица может использоваться в выражениях INNER JOIN.

Здесь c начала извлекаются данные во временную таблицу #OrdersSummary. Причем так как данные в нее извлекаются с помощью выражения SELECT INTO, то предварительно таблицу не надо создавать. И эта таблица будет содержать id товара, общее количество проданного товара и на какую сумму был продан товар.

Затем эта таблица может использоваться в выражениях INNER JOIN.

Так же определяются глобальные временные таблицы. Их имя начинается с двух знаков ##:

Так же определяются глобальные временные таблицы. Их имя начинается с двух знаков ##:

Производные таблицы  Кроме временных таблиц MS SQL Server позволяет создавать производные таблицы, которые по производительности являются более эффективными, чем временные. Производная таблица задается с помощью ключевого слова  WITH :

Производные таблицы

Кроме временных таблиц MS SQL Server позволяет создавать производные таблицы, которые по производительности являются более эффективными, чем временные. Производная таблица задается с помощью ключевого слова  WITH :

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

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