Qual è la differenza tra SQL, PL-SQL e T-SQL?

Qual è la differenza tra SQL, PL-SQL e T-SQL?

Qualcuno può spiegare quali sono le differenze tra questi tre e fornire scenari in cui ciascuno sarebbe utilizzato in modo pertinente?

  • SQL è un linguaggio di query per operare su insiemi.

    È più o meno standardizzato e utilizzato da quasi tutti i sistemi di gestione dei database relazionali: SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix, ecc.

  • PL/SQL è un linguaggio procedurale proprietario utilizzato da Oracle

  • PL/pgSQL è un linguaggio procedurale utilizzato da PostgreSQL

  • TSQL è un linguaggio procedurale proprietario utilizzato da Microsoft in SQL Server.

I linguaggi procedurali sono progettati per estendere le capacità di SQL pur essendo in grado di integrarsi bene con SQL. Sono state aggiunte diverse funzionalità come variabili locali e elaborazione stringa / dati. Queste caratteristiche rendono il linguaggio Turing completo.

Sono anche usati per scrivere stored procedure: pezzi di codice che risiedono sul server per gestire regole aziendali complesse che sono difficili o impossibili da gestire con operazioni basate su set puro.

SQL

SQL è usato per comunicare con un database, è la lingua standard per i sistemi di gestione dei database relazionali.

In dettaglio Structured Query Language è un linguaggio di programmazione per scopi speciali progettato per gestire i dati contenuti in un sistema di gestione di database relazionali (RDBMS) o per l’elaborazione di flussi in un sistema di gestione del stream di dati relazionale (RDSMS).

Originariamente basato sull’algebra relazionale e sul calcolo relazionale tuple, SQL è costituito da un linguaggio di definizione dei dati e un linguaggio di manipolazione dei dati. L’ambito di SQL include inserimento dati, query, aggiornamento ed eliminazione, creazione e modifica dello schema e controllo dell’accesso ai dati. Sebbene SQL sia spesso descritto come, e in larga misura, un linguaggio dichiarativo (4GL), include anche elementi procedurali.

PL / SQL

PL / SQL è una combinazione di SQL insieme alle caratteristiche procedurali dei linguaggi di programmazione. È stato sviluppato da Oracle Corporation

Specialità di PL / SQL

  • linguaggio di elaborazione delle transazioni completamente portatile e ad alte prestazioni.
  • fornisce un ambiente di programmazione indipendente interpretato e indipendente dal sistema operativo.
  • direttamente chiamato dall’interfaccia SQL * Plus della riga di comando.
  • La chiamata diretta può anche essere effettuata da chiamate di linguaggio di programmazione esterne al database.
  • la syntax generale si basa su quella del linguaggio di programmazione ADA e Pascal.
  • Oltre a Oracle, è disponibile nel database in memoria TimesTen e IBM DB2.

T-SQL

Abbreviazione di Transaction-SQL , una forma estesa di SQL che aggiunge variabili dichiarate, controllo delle transazioni, gestione degli errori e delle eccezioni e elaborazione delle righe a SQL

Structured Query Language o SQL è un linguaggio di programmazione incentrato sulla gestione dei database relazionali. SQL ha le sue limitazioni che hanno spinto il gigante del software Microsoft a build su SQL con le proprie estensioni per migliorare la funzionalità di SQL . Microsoft ha aggiunto il codice a SQL e lo ha chiamato Transact-SQL o T-SQL. Tieni presente che T-SQL è proprietario ed è sotto il controllo di Microsoft mentre SQL, sebbene sviluppato da IBM, è già un formato aperto.

T-SQL aggiunge una serie di funzionalità che non sono disponibili in SQL.

Ciò include elementi di programmazione procedurali e una variabile locale per fornire un controllo più flessibile del stream dell’applicazione. Un numero di funzioni sono state aggiunte a T-SQL per renderlo più potente; funzioni per operazioni matematiche, operazioni su stringhe, elaborazione di data e ora e simili. Queste aggiunte rendono T-SQL conforms al test di completezza di Turing, un test che determina l’universalità di un linguaggio informatico. SQL non è completo di Turing ed è molto limitato nella portata di ciò che può fare.

Un’altra differenza significativa tra T-SQL e SQL sono le modifiche apportate ai comandi DELETE e UPDATE che sono già disponibili in SQL. Con T-SQL, i comandi DELETE e UPDATE consentono entrambi l’inclusione di una clausola FROM che consente l’utilizzo di JOIN. Questo semplifica il filtraggio dei record per individuare facilmente le voci che corrispondono a determinati criteri, diversamente da SQL dove può essere un po ‘più complicato.

La scelta tra T-SQL e SQL dipende interamente dall’utente. Tuttavia, l’utilizzo di T-SQL è ancora migliore quando si ha a che fare con installazioni di Microsoft SQL Server. Questo perché T-SQL è anche di Microsoft, e l’utilizzo di entrambi insieme massimizza la compatibilità. SQL è preferito da persone che hanno più back-end.

Riferimenti , Wikipedea, punti dell’esercitazione: http://www.differencebetween.com

  • SQL una lingua per parlare con il database. Ti consente di selezionare dati, muta e creare oggetti di database (come tabelle, viste, ecc.), Modificare le impostazioni del database.
  • PL-SQL un linguaggio di programmazione procedurale (con SQL incorporato)
  • Estensioni T-SQL (procedurali) per SQL utilizzate da SQL Server

1. SQL o Structured Query Language è stato sviluppato da IBM per il loro prodotto “System R”.

In seguito, ANSI lo ha reso uno standard su cui sono basate tutte le lingue di query e lo ha esteso per creare i propri semi di linguaggio di query di DataBase. Il primo standard era SQL-86 e l’ultimo è SQL: 2011

2. T-SQL o Transact-SQL è stato sviluppato da Sybase e in seguito è di proprietà di Microsoft SQL Server.

3. Il linguaggio PL / SQL o procedurale / SQL era il database Oracle , noto come “software di relazione” in quel momento.

L’ho documentato nel mio post sul blog .

Structured Query Language – SQL: è uno standard ANSI utilizzato da quasi tutti i fornitori di SGBD in tutto il mondo. Fondamentalmente, SQL è un linguaggio utilizzato per definire e manipolare i dati [DDL e DML].

PL / SQL è un linguaggio creato dall’universo Oracle. PL / SQL combina le istruzioni procedurali di programmazione e consente la creazione di programmi che operano direttamente sullo scenario del database.

T-SQL è il modello Microsoft che allinea i modelli SQL, con alcune peculiarità. Quindi, sentiti libero di testare i tuoi limiti.

SQL è uno standard e ci sono molti fornitori di database come Microsoft, Oracle che implementa questo standard utilizzando il proprio linguaggio proprietario.

Microsoft utilizza T-SQL per implementare lo standard SQL per interagire con i dati, mentre oracle utilizza PL / SQL.