В чем разница между SQL, PL-SQL и T-SQL? - PullRequest
330 голосов
/ 25 июня 2009

В чем разница между SQL, PL-SQL и T-SQL?

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

Ответы [ 6 ]

345 голосов
/ 25 июня 2009
  • SQL - это язык запросов для работы с множествами.

    Он более или менее стандартизирован и используется практически во всех системах управления реляционными базами данных: SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix и т. Д.

  • PL/SQL - собственный процедурный язык, используемый Oracle

  • PL/pgSQL - это процедурный язык, используемый PostgreSQL

  • TSQL - это собственный процедурный язык, используемый Microsoft в SQL Server.

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

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

97 голосов
/ 26 февраля 2015

SQL

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

Подробно Язык структурированных запросов - это язык программирования специального назначения, предназначенный для управления данными, хранящимися в системе управления реляционными базами данных (RDBMS), или для обработки потоков в системе управления реляционными данными (RDSMS) .

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

PL / SQL

PL / SQL представляет собой комбинацию SQL наряду с процедурными функциями языков программирования. Он был разработан корпорацией Oracle

Особенности PL / SQL

  • полностью переносимая, высокопроизводительная обработка транзакций язык.
  • обеспечивает встроенное интерпретированное и независимое от ОС программирование окружающая среда.
  • вызывается напрямую из интерфейса командной строки SQL * Plus.
  • Прямой вызов также может быть сделан из вызовов на внешнем языке программирования в базу данных.
  • Общий синтаксис основан на синтаксисе программирования ADA и Pascal. язык.
  • Помимо Oracle, он доступен в базе данных TimeTen в памяти и IBM DB2.

T-SQL

Сокращение от Transaction-SQL , расширенной формы SQL, которая добавляет объявленные переменные, управление транзакциями, обработку ошибок и исключений и обработку строк в SQL

Язык структурированных запросов или SQL - это язык программирования, ориентированный на управление реляционными базами данных. SQL имеет свои собственные ограничения , что побудило гиганта программного обеспечения Microsoft строить поверх SQL со своими собственными расширениями для расширения функциональности SQL . Microsoft добавила код в SQL и назвала его Transact-SQL или T-SQL. Помните, что T-SQL является частной собственностью и находится под контролем Microsoft, а SQL, хотя и разработан IBM, уже является открытым форматом.

T-SQL добавляет ряд функций, которые недоступны в SQL.

Это включает в себя элементы процедурного программирования и локальную переменную для обеспечения более гибкого управления потоком приложения. Ряд функций также был добавлен в T-SQL, чтобы сделать его более мощным; функции для математических операций, строковых операций, обработки даты и времени и тому подобное. Эти дополнения заставляют T-SQL соответствовать тесту на полноту по Тьюрингу, который определяет универсальность вычислительного языка. SQL не является полным по Тьюрингу и очень ограничен в возможностях.

Другим существенным отличием между T-SQL и SQL являются изменения, внесенные в команды DELETE и UPDATE, которые уже доступны в SQL. В T-SQL команды DELETE и UPDATE позволяют включить предложение FROM, которое позволяет использовать JOIN. Это упрощает фильтрацию записей, позволяя легко выбирать записи, которые соответствуют определенным критериям, в отличие от SQL, где это может быть немного сложнее.

Выбор между T-SQL и SQL остается за пользователем. Тем не менее, использование T-SQL все же лучше, когда вы имеете дело с установками Microsoft SQL Server. Это связано с тем, что T-SQL также принадлежит Microsoft, и совместное использование этих двух компонентов обеспечивает максимальную совместимость. SQL предпочитают люди с несколькими бэкэндами.

Ссылки Википедия , Учебные очки : Www.differencebetween.com

43 голосов
/ 25 июня 2009
  • SQL язык для общения с база данных. Это позволяет вам выбирать данные, мутировать и создавать объекты базы данных (например, таблицы, представления и т. д.), изменить настройки базы данных.
  • PL-SQL процедурный язык программирования (со встроенным SQL)
  • T-SQL (процедурные) расширения для используемого SQL по SQL Server
29 голосов
/ 08 мая 2015

1. SQL или язык структурированных запросов был разработан IBM для их продукта "System R".

Позже ANSI сделал его как Стандарт , на котором основаны все языки запросов, и расширил его, создав собственные костюмы для языков баз данных. Первым стандартом был SQL-86 , а последним был SQL: 2011

2. T-SQL или Transact-SQL был разработан Sybase , а позднее является совладельцем Microsoft SQL Server.

3. PL / SQL или процедурный язык / SQL был Oracle База данных, известная в то время как «Программное обеспечение для отношений».

Я задокументировал это в своем блоге .

7 голосов
/ 27 декабря 2013

Язык структурированных запросов - SQL: стандарт ANSI, используемый почти всеми поставщиками SGBD по всему миру. По сути, SQL - это язык, используемый для определения данных и управления ими [DDL и DML].

PL / SQL - это язык, созданный Oracle Universe. PL / SQL объединяет процедурные инструкции программирования и позволяет создавать программы, работающие непосредственно по сценарию базы данных.

T-SQL - это шаблоны SQL для выравнивания продуктов Microsoft с некоторыми особенностями. Так что не стесняйтесь проверять свои пределы.

1 голос
/ 28 ноября 2017

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

Microsoft использует T-SQL для реализации стандарта SQL для взаимодействия с данными, тогда как Oracle использует PL / SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...