Тип данных GUID в Microsoft SQL Server (UNIQUEIDENTIFIER)

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

Тип данных GUID в Microsoft SQL Server (UNIQUEIDENTIFIER)

Что такое 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;

Скриншот 1

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

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

   
   DECLARE @Var UNIQUEIDENTIFIER;
   SET @Var = '8F9619FF-7B16-D012-B45D-90C04FC064F9'; 
   SELECT @Var AS GUID;

Скриншот 2

Заметка! Типы данных в T-SQL (Microsoft SQL Server).

Создаем столбец с типом данных 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;

Скриншот 3

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

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

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.