HTML Diff
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