0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Теоретическое отступление</a></li>
1
<ul><li><a>Теоретическое отступление</a></li>
2
<li><a>Несколько слов про TSQL</a></li>
2
<li><a>Несколько слов про TSQL</a></li>
3
<li><a>Тезисно о разнице</a></li>
3
<li><a>Тезисно о разнице</a></li>
4
</ul><p><strong>SQL</strong>(structured query language) - известнейший декларативный язык программирования, используемый при создании, модификации и управлении данными в реляционных БД.<strong>T-SQL</strong>- это расширенная версия SQL, и ее особенность заключается в том, что она предназначена для работы с сервером от Microsoft. Речь идет о базе данных<strong>MS SQL</strong>-<strong>Microsoft SQL Server</strong>. Вдобавок к этому, процедурное расширение с именем<strong>T-SQL</strong>характеризуется совместимостью с БД компании<strong>Sybase</strong>(Sybase ASE, Adaptive Server Enterprise).</p>
4
</ul><p><strong>SQL</strong>(structured query language) - известнейший декларативный язык программирования, используемый при создании, модификации и управлении данными в реляционных БД.<strong>T-SQL</strong>- это расширенная версия SQL, и ее особенность заключается в том, что она предназначена для работы с сервером от Microsoft. Речь идет о базе данных<strong>MS SQL</strong>-<strong>Microsoft SQL Server</strong>. Вдобавок к этому, процедурное расширение с именем<strong>T-SQL</strong>характеризуется совместимостью с БД компании<strong>Sybase</strong>(Sybase ASE, Adaptive Server Enterprise).</p>
5
<p>Но прежде чем продолжить, вспомним некоторые основы.</p>
5
<p>Но прежде чем продолжить, вспомним некоторые основы.</p>
6
<h2>Теоретическое отступление</h2>
6
<h2>Теоретическое отступление</h2>
7
<p>База данных представляет собой<strong>структуру</strong>, где данные имеют<strong>связи</strong>между собой. Для управления такими данными используют специализированное программное обеспечение -<strong>СУБД</strong>(системы управления базами данных). Когда говорят о базах реляционного типа (<strong>RDBMS</strong>), то подразумевают, что данные и связи между данными организованы с помощью<strong>таблиц</strong>. Кроме непосредственных данных, в таких таблицах есть идентификаторы (id), а также первичные и вторичные ключи, которые имеют связи с идентификаторами.</p>
7
<p>База данных представляет собой<strong>структуру</strong>, где данные имеют<strong>связи</strong>между собой. Для управления такими данными используют специализированное программное обеспечение -<strong>СУБД</strong>(системы управления базами данных). Когда говорят о базах реляционного типа (<strong>RDBMS</strong>), то подразумевают, что данные и связи между данными организованы с помощью<strong>таблиц</strong>. Кроме непосредственных данных, в таких таблицах есть идентификаторы (id), а также первичные и вторичные ключи, которые имеют связи с идентификаторами.</p>
8
<p>Работа СУБД предполагает выполнение определенных операций (создание, удаление, обновление и т. п.). Чтобы выполнение этих операций стало возможным, разработчики БД используют<strong>язык структурированных запросов SQL</strong>. Это язык стандарта ANSI/ISO, помогающий хранить данные и манипулировать ими в рамках какой-нибудь СУБД (MySQL, MSSQL, Oracle Database, IBM DB2 и пр.).</p>
8
<p>Работа СУБД предполагает выполнение определенных операций (создание, удаление, обновление и т. п.). Чтобы выполнение этих операций стало возможным, разработчики БД используют<strong>язык структурированных запросов SQL</strong>. Это язык стандарта ANSI/ISO, помогающий хранить данные и манипулировать ими в рамках какой-нибудь СУБД (MySQL, MSSQL, Oracle Database, IBM DB2 и пр.).</p>
9
<p>Таким образом,<strong>SQL - стандартный язык запросов к реляционным базам данных</strong>.</p>
9
<p>Таким образом,<strong>SQL - стандартный язык запросов к реляционным базам данных</strong>.</p>
10
Пример реляционной БД: таблицы со связями и идентификаторами<p>Выделяют 3 вида SQL-команд:</p>
10
Пример реляционной БД: таблицы со связями и идентификаторами<p>Выделяют 3 вида SQL-команд:</p>
11
<ol><li><strong>DDL (Data Definition Language)</strong>. Команды для изменения структуры БД и связанных объектов: ALTER, CREATE, DROP.</li>
11
<ol><li><strong>DDL (Data Definition Language)</strong>. Команды для изменения структуры БД и связанных объектов: ALTER, CREATE, DROP.</li>
12
<li><strong>DML (Data Manipulation Language)</strong>. Для управления данными (для вставки, просмотра и выборки, обновления, удаления и пр.): INSERT, SELECT, UPDATE, DELETE.</li>
12
<li><strong>DML (Data Manipulation Language)</strong>. Для управления данными (для вставки, просмотра и выборки, обновления, удаления и пр.): INSERT, SELECT, UPDATE, DELETE.</li>
13
<li><strong>DCL (Data Control Language)</strong>. Для управления пользователями: GRANT, REVOKE.</li>
13
<li><strong>DCL (Data Control Language)</strong>. Для управления пользователями: GRANT, REVOKE.</li>
14
</ol><h2>Несколько слов про TSQL</h2>
14
</ol><h2>Несколько слов про TSQL</h2>
15
<p>В указанных выше пояснениях определили, что SQL - это язык запросов для большинства RDBMS-продуктов. Да, совместимость (compatibility) - это хорошо, но совместимости много не бывает. Именно поэтому некоторые поставщики СУБД создали<strong>собственные аналоги языков структурированных запросов</strong>(languages), а если быть точнее -<strong>расширили имеющееся решение</strong>, но уже с учетом потребностей своего продукта. Как раз таким аналогом и является<strong>процедурное расширение Transact Structure Query Language (TSQL)</strong>. Это не что иное, как специализированная версия, заточенная под MS SQL Server (2012, 2016 и пр., версия неважна).</p>
15
<p>В указанных выше пояснениях определили, что SQL - это язык запросов для большинства RDBMS-продуктов. Да, совместимость (compatibility) - это хорошо, но совместимости много не бывает. Именно поэтому некоторые поставщики СУБД создали<strong>собственные аналоги языков структурированных запросов</strong>(languages), а если быть точнее -<strong>расширили имеющееся решение</strong>, но уже с учетом потребностей своего продукта. Как раз таким аналогом и является<strong>процедурное расширение Transact Structure Query Language (TSQL)</strong>. Это не что иное, как специализированная версия, заточенная под MS SQL Server (2012, 2016 и пр., версия неважна).</p>
16
<p>Используя TSQL-операторы, разработчик может писать запросы и выполнять нужные операции над таблицами, объединять их, добавлять ограничения, писать хранимые процедуры и индексы, осуществлять транзакции и многое другое. Язык TSQL поддерживает разные полезные функции, многие из которых присутствуют и в версии-первоисточнике. К примеру,<em>агрегатные функции</em>, которые выполняют вычисления на наборе значений. Либо<em>оконные функции</em>и инструкцию OVER (OVER определяет окно для использования оконной функции). Оконные функции не меняют выборку, как GROUP BY, а лишь добавляют дополнительную информацию о ней. Если же вспомнить JOIN, то, несмотря на одинаковую производительность конструкций JOIN и OVER, последняя предоставляет больше свободы, чем жесткий JOIN.</p>
16
<p>Используя TSQL-операторы, разработчик может писать запросы и выполнять нужные операции над таблицами, объединять их, добавлять ограничения, писать хранимые процедуры и индексы, осуществлять транзакции и многое другое. Язык TSQL поддерживает разные полезные функции, многие из которых присутствуют и в версии-первоисточнике. К примеру,<em>агрегатные функции</em>, которые выполняют вычисления на наборе значений. Либо<em>оконные функции</em>и инструкцию OVER (OVER определяет окно для использования оконной функции). Оконные функции не меняют выборку, как GROUP BY, а лишь добавляют дополнительную информацию о ней. Если же вспомнить JOIN, то, несмотря на одинаковую производительность конструкций JOIN и OVER, последняя предоставляет больше свободы, чем жесткий JOIN.</p>
17
<p>Как бы там не было, есть и<strong>отличия</strong>, так как в TSQL добавили:</p>
17
<p>Как бы там не было, есть и<strong>отличия</strong>, так как в TSQL добавили:</p>
18
<p>- управляющие операторы;</p>
18
<p>- управляющие операторы;</p>
19
<p>- поддержку аутентификации Microsoft Windows;</p>
19
<p>- поддержку аутентификации Microsoft Windows;</p>
20
<p>- глобальные и локальные переменные;</p>
20
<p>- глобальные и локальные переменные;</p>
21
<p>- дополнительные функции, предназначенные для обработки дат, строк и пр.</p>
21
<p>- дополнительные функции, предназначенные для обработки дат, строк и пр.</p>
22
<h2>Тезисно о разнице</h2>
22
<h2>Тезисно о разнице</h2>
23
<p>Для закрепления материала смотрите таблицу ниже, где собраны основные тезисы.</p>
23
<p>Для закрепления материала смотрите таблицу ниже, где собраны основные тезисы.</p>
24
<strong>SQL</strong><strong>TSQL</strong>Специфичный для предметной области язык, используется для управления данными в СУБД.Запатентованная версия SQL от Microsoft, созданная специально для СУБД MS SQL Server в качестве аналога.Язык структурированных запросов (queries).Transact-язык структурированных запросов.Разработан IBM.Разработан Microsoft.Можно встраивать SQL в TSQL.TSQL в SQL встраивать нельзя.Помогает обрабатывать и анализировать данные посредством простых запросов.Помогает добавлять бизнес-логику в приложения.<p>Очень надеемся, что после прочтения статьи вы четко уясните разницу между этими двумя аббревиатурами. Если же хотите получить действительно продвинутые знания, связанные с управлением БД, добро пожаловать на специализированный курс OTUS!</p>
24
<strong>SQL</strong><strong>TSQL</strong>Специфичный для предметной области язык, используется для управления данными в СУБД.Запатентованная версия SQL от Microsoft, созданная специально для СУБД MS SQL Server в качестве аналога.Язык структурированных запросов (queries).Transact-язык структурированных запросов.Разработан IBM.Разработан Microsoft.Можно встраивать SQL в TSQL.TSQL в SQL встраивать нельзя.Помогает обрабатывать и анализировать данные посредством простых запросов.Помогает добавлять бизнес-логику в приложения.<p>Очень надеемся, что после прочтения статьи вы четко уясните разницу между этими двумя аббревиатурами. Если же хотите получить действительно продвинутые знания, связанные с управлением БД, добро пожаловать на специализированный курс OTUS!</p>
25
<a></a><p><em><a>Источник</a></em></p>
25
<a></a><p><em><a>Источник</a></em></p>
26
26