Self-Learning – видеокурсы и книги по IT

Приветствую Вас на сайте Self-Learning.ru! Сегодня мы с Вами рассмотрим такое понятие, как GUID, Вы узнаете, что это такое, как GUID реализован в Microsoft SQL Server и какие инструменты нам предоставляет язык T-SQL для работы с GUID.

Скриншот 1

Что такое GUID

GUID – это глобальный уникальный идентификатор.

В Microsoft SQL Server GUID реализован в виде 16-байтового типа данных UNIQUEIDENTIFIER. Значения, которые хранит данный тип данных, глобально уникальны для всех таблиц, баз данных и серверов.

В каких ситуациях нам может пригодиться такой идентификатор? Например, когда у нас есть несколько баз данных, которые хранят схожую информацию, однако все данные должны быть четко идентифицированы, даже в случае объединения всех данных из всех баз данных в один набор. Если мы будем использовать обычные целочисленные идентификаторы, такую уникальность (без дополнительных манипуляций) мы обеспечить не сможем, а вот если использовать GUID, то такая уникальность обеспечена.

Как создать GUID в Microsoft SQL Server

Сгенерировать новое значение GUID и инициализировать столбец или переменную с типом UNIQUEIDENTIFIER в SQL Server можно с помощью функции NEWID. Однако кроме этого можно сформировать GUID путем преобразования строки xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где каждый x – это шестнадцатеричная цифра (0–9 или A–F).

Заметка! Что такое T-SQL. Подробное описание для начинающих.

Инициализируем переменную с типом UNIQUEIDENTIFIER функцией NEWID

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


DECLARE @Var UNIQUEIDENTIFIER;

SET @Var = NEWID();

SELECT @Var AS GUID;

Скриншот 2

Инициализируем переменную с типом UNIQUEIDENTIFIER путем преобразования строки

В данном случае мы вручную сформировали текстовую строку, т.е. GUID, и присвоили это значение переменной с типом данных UNIQUEIDENTIFIER.


DECLARE @Var UNIQUEIDENTIFIER;

SET @Var = '8F9619FF-7B16-D012-B45D-90C04FC064F9';

SELECT @Var AS GUID;

Скриншот 3

Создаем столбец с типом данных UNIQUEIDENTIFIER

А теперь давайте представим, что нам необходимо, чтобы наши товары, допустим, записи в таблице Goods, имели глобально уникальный идентификатор.

Для этого мы для столбца идентификатора укажем тип данных UNIQUEIDENTIFIER и зададим значение по умолчанию, в нашем случае вызов функции NEWID.

Таким образом, всякий раз, когда новая запись вставляется в таблицу Goods, по умолчанию функция NEWID генерирует уникальное значение для столбца ProductId, т.е. GUID.

При добавлении записей в инструкции INSERT мы просто указываем ключевое слово DEFAULT в качестве значения для первого столбца, который предназначен для идентификатора. В этом случае в этот столбец по умолчанию будет вставлено значение GUID.


CREATE TABLE Goods
 (
     ProductId UNIQUEIDENTIFIER NOT NULL PRIMARY KEY DEFAULT NEWID(),
     ProductName VARCHAR (50) NOT NULL
 );

GO

INSERT INTO Goods (ProductId, ProductName)
   VALUES (DEFAULT, 'Системный блок'),
          (DEFAULT, 'Клавиатура'),
          (DEFAULT, 'Монитор');

GO

SELECT ProductId, ProductName
FROM Goods;

Скриншот 4

Совет эксперта
Виталий Трунин
Основатель проекта Self-Learning.ru. Программист T-SQL.
Задать вопрос
Для комплексного изучения языка T-SQL, рекомендую пройти онлайн-курсы по T-SQL, на которых используется последовательная методика обучения и рассматриваются все конструкции языка T-SQL.

На сегодня это все, надеюсь, статья была Вам интересна и полезна, до новых встреч!

Теги: # #
Понравилась статья? Поделитесь с друзьями:
Share on VK
VK
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on Tumblr
Tumblr
Share on Reddit
Reddit
Email this to someone
email

Авторские онлайн-курсы по T-SQL

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх