web-dev-qa-db-fra.com

Quelle est la différence entre SQL, PL-SQL et T-SQL?

Quelle est la différence entre SQL, PL-SQL et T-SQL?

Quelqu'un peut-il expliquer les différences entre ces trois facteurs et proposer des scénarios dans lesquels chacun serait utilisé de manière pertinente?

337
Goober
  • SQL est un langage de requête permettant de manipuler des ensembles.

    Il est plus ou moins standardisé et utilisé par presque tous les systèmes de gestion de bases de données relationnelles: SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix, etc.

  • PL/SQL est un langage de procédure propriétaire utilisé par Oracle

  • PL/pgSQL est un langage procédural utilisé par PostgreSQL

  • TSQL est un langage procédural propriétaire utilisé par Microsoft dans SQL Server.

Les langages procéduraux sont conçus pour étendre les capacités de SQL tout en s'intégrant bien avec SQL. Plusieurs fonctionnalités telles que les variables locales et le traitement des chaînes/données sont ajoutées. Ces fonctionnalités rendent le langage Turing-complet.

Ils sont également utilisés pour écrire des procédures stockées: des morceaux de code résidant sur le serveur permettant de gérer des règles métier complexes difficiles à gérer avec des opérations basées sur des ensembles.

352
Quassnoi

SQL

SQL est utilisé pour communiquer avec une base de données, c'est le langage standard pour les systèmes de gestion de base de données relationnelle.

En détail Structured Query Language est un langage de programmation spécial conçu pour gérer les données contenues dans un système de gestion de base de données relationnelle (SGBDR) ou pour le traitement de flux dans un système de gestion de flux de données relationnelles (RDSMS).

Initialement basé sur l'algèbre relationnelle et le calcul relationnel Tuple, SQL consiste en un langage de définition de données et un langage de manipulation de données. La portée de SQL inclut l'insertion de données, la requête, la mise à jour et la suppression, la création et la modification de schéma et le contrôle d'accès aux données. Bien que SQL soit souvent décrit comme un langage déclaratif (4GL), il inclut également des éléments procéduraux.

PL/SQL

( PL/SQL est une combinaison de SQL et des fonctionnalités procédurales des langages de programmation. Il a été développé par Oracle Corporation.

Spécialités de PL/SQL

  • langage de traitement des transactions entièrement portable et performant.
  • fournit un environnement de programmation intégré interprété et indépendant du système d'exploitation.
  • être appelé directement à partir de l'interface SQL * Plus en ligne de commande.
  • Il est également possible d’appeler directement des bases de données externes à partir d’appels en langage de programmation.
  • la syntaxe générale est basée sur celle des langages de programmation ADA et Pascal.
  • Outre Oracle, il est disponible dans la base de données en mémoire TimesTen et dans IBM DB2.

T-SQL

abréviation de Transaction-SQL, une forme étendue de SQL qui ajoute des variables déclarées, le contrôle des transactions, le traitement des erreurs et des exceptions et le traitement des lignes en SQL

Le langage de requête structuré ou SQL est un langage de programmation qui se concentre sur la gestion de bases de données relationnelles. SQL a ses propres limitations ce qui a motivé le géant du logiciel Microsoft construit sur SQL avec leurs propres extensions pour améliorer les fonctionnalités de SQL. Microsoft a ajouté du code à SQL et l'a appelé Transact-SQL ou T-SQL. N'oubliez pas que T-SQL est une propriété exclusive et est sous le contrôle de Microsoft, tandis que SQL, bien que développé par IBM, est déjà un format ouvert.

T-SQL ajoute un certain nombre de fonctionnalités qui ne sont pas disponibles en SQL.

Cela inclut des éléments de programmation procédurale et une variable locale pour permettre un contrôle plus souple du déroulement de l'application. Un certain nombre de fonctions ont également été ajoutées à T-SQL pour le rendre plus puissant. fonctions pour les opérations mathématiques, les opérations sur les chaînes, le traitement de la date et de l'heure, etc. Ces ajouts permettent à T-SQL de se conformer au test de complétude de Turing, un test qui détermine l'universalité d'un langage informatique. Le langage SQL n’est pas complet et sa portée est très limitée.

Une autre différence importante entre T-SQL et SQL réside dans les modifications apportées aux commandes DELETE et UPDATE déjà disponibles dans SQL. Avec T-SQL, les commandes DELETE et UPDATE permettent l’inclusion d’une clause FROM permettant l’utilisation de JOIN. Cela simplifie le filtrage des enregistrements afin de sélectionner facilement les entrées correspondant à certains critères, contrairement à SQL où cela peut être un peu plus compliqué.

Le choix entre T-SQL et SQL dépend de l'utilisateur. Néanmoins, l'utilisation de T-SQL est toujours préférable pour les installations de Microsoft SQL Server. Cela est dû au fait que T-SQL provient également de Microsoft et que l’utilisation conjointe des deux optimise la compatibilité. SQL est préféré par les personnes qui ont plusieurs backends.

Références, Wikipédia, points de tutoriel: www.differencebetween.com

101
Arunprasanth K V
  • SQL un langage pour parler à la base de données. Il vous permet de sélectionner des données, de modifier et de créer des objets de base de données (tels que des tables, des vues, etc.) et de modifier les paramètres de la base de données.
  • PL-SQL un langage de programmation procédural (avec Embedded SQL)
  • T-SQL extensions (procédurales) pour SQL utilisées par SQL Server
43
diederikh

1. Le langage SQL ou Structured Query Language a été développé par IBM pour leur produit "System R".

Plus tard ANSI l'a fait en tant que Standard sur lequel toutes les langues de requête sont basés sur et ont étendu cela pour créer leurs propres combinaisons de langage de requête DataBase. Le premier standard était SQL-86 et le dernier en date était SQL: 2011

2. T-SQL ou Transact-SQL a été développé par Sybase et plus tard copropriété de Microsoft SQL Server.

3. PL/SQL ou langage procédural/SQL était la base de données Oracle , connue sous le nom de "logiciel de relation".

Je l'ai documenté dans mon article de blog .

29
Manoj Pandey

Langage de requête structuré - SQL: norme ANSI utilisée par presque tous les fournisseurs de SGBD du monde entier. Fondamentalement, SQL est un langage utilisé pour définir et manipuler des données [DDL et DML].

PL/SQL est un langage créé par l'univers Oracle. PL/SQL combine des instructions de procédure de programmation et permet la création de programmes fonctionnant directement sur un scénario de base de données.

T-SQL est le produit Microsoft aligner les modèles SQL, avec certaines particularités. Alors, n'hésitez pas à tester vos limites.

7
Jayron Soares

SQL est une norme et de nombreux fournisseurs de bases de données, tels que Microsoft et Oracle, implémentent cette norme à l'aide de leur propre langage propriétaire.

Microsoft utilise T-SQL pour implémenter le standard SQL afin d'interagir avec les données, tandis qu'Oracle utilise PL/SQL.

1
Kenta