Apa perbedaan antara SQL, PL-SQL dan T-SQL?

360

Apa perbedaan antara SQL, PL-SQL dan T-SQL?

Adakah yang bisa menjelaskan perbedaan di antara ketiganya, dan memberikan skenario di mana masing-masing akan digunakan secara relevan?

Goober
sumber
1
Bahasa kueri yang digunakan Microsoft SQL Server adalah varian dari Structured Query Language, standar ANSI-SQL. Varian SQL Server disebut Transact-SQL.
SQL adalah bahasa yang berorientasi data untuk memilih dan memanipulasi set data. PL / SQL adalah bahasa prosedural untuk membuat aplikasi
SQL adalah bahasa query terstruktur PL / SQL adalah bahasa prosedural yang diperluas ke sql dikembangkan oleh oracle T-SQL dikembangkan oleh microsoft

Jawaban:

379
  • SQL adalah bahasa query untuk beroperasi pada set.

    Ini kurang lebih terstandarisasi, dan digunakan oleh hampir semua sistem manajemen basis data relasional: SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix, dll.

  • PL/SQL adalah bahasa prosedural berpemilik yang digunakan oleh Oracle

  • PL/pgSQL adalah bahasa prosedural yang digunakan oleh PostgreSQL

  • TSQL adalah bahasa prosedural berpemilik yang digunakan oleh Microsoft dalam SQL Server.

Bahasa prosedural dirancang untuk memperluas kemampuan SQL sambil dapat berintegrasi dengan baik dengan SQL. Beberapa fitur seperti variabel lokal dan pemrosesan string / data ditambahkan. Fitur-fitur ini membuat bahasa Turing-lengkap.

Mereka juga digunakan untuk menulis prosedur tersimpan: potongan kode yang berada di server untuk mengelola aturan bisnis yang rumit yang sulit atau tidak mungkin untuk dikelola dengan operasi berbasis set murni.

Quassnoi
sumber
14
TSQL juga digunakan oleh Sybase; setidaknya di Oracle, prosedur PL / SQL dapat melakukan lebih dari sekadar mengelola "aturan bisnis"; Prosedur PL / SQL dapat mengakses situs web, mengirim email dll.
Erich Kitzmueller
3
PL / SQL tidak hanya ada di database, misalnya Formulir Oracle berisi implementasi sisi klien dari PL / SQL.
Erich Kitzmueller
2
Perhatikan bahwa setiap database memiliki implementasi SQL sendiri (T-SQL dan PL / SQL menjadi dua yang lebih umum), standar ANSII SQL sering digunakan ketika beberapa backend digunakan, tetapi tidak semua database menggunakan semua fitur ANSII SQL. Dan implementasi spesifik database SQl cenderung menjadi yang melakukan yang terbaik untuk database itu - setelah semua mereka harus memberi Anda alasan untuk menggunakan database mereka, kan?
HLGEM
2
Koreksi: SQL adalah bahasa untuk beroperasi pada tabel yang SQL sendiri memberikan definisi. SQL Standard menghindari kata-kata 'set' dan 'relation' dan turunannya. Tabel SQL tidak disetel.
oneday ketika
1
Tentunya akan menyenangkan jika memiliki bahasa prosedural sql yang dapat digunakan di server oracle dan sql.
RayLoveless
113

SQL

SQL digunakan untuk berkomunikasi dengan database, itu adalah bahasa standar untuk sistem manajemen basis data relasional.

Secara terperinci Structured Query Language adalah bahasa pemrograman tujuan khusus yang dirancang untuk mengelola data yang disimpan dalam sistem manajemen basis data relasional (RDBMS), atau untuk pemrosesan aliran dalam sistem manajemen aliran data relasional (RDSMS).

Awalnya didasarkan pada aljabar relasional dan kalkulus relasional tuple, SQL terdiri dari bahasa definisi data dan bahasa manipulasi data. Ruang lingkup SQL termasuk memasukkan data, permintaan, memperbarui dan menghapus, pembuatan skema dan modifikasi, dan kontrol akses data. Meskipun SQL sering digambarkan sebagai, dan sebagian besar adalah, bahasa deklaratif (4GL), itu juga termasuk elemen prosedural.

PL / SQL

PL / SQL adalah kombinasi dari SQL bersama dengan fitur prosedural dari bahasa pemrograman. Ini dikembangkan oleh Oracle Corporation

Spesialisasi PL / SQL

  • benar-benar portabel, bahasa pemrosesan transaksi berkinerja tinggi.
  • menyediakan lingkungan pemrograman independen yang ditafsirkan dan OS.
  • langsung dipanggil dari antarmuka baris perintah SQL * Plus.
  • Panggilan langsung juga dapat dilakukan dari panggilan bahasa pemrograman eksternal ke basis data.
  • sintaksis umum didasarkan pada ADA dan bahasa pemrograman Pascal.
  • Selain dari Oracle, ini tersedia dalam database in-memory TimesTen dan IBM DB2.

T-SQL

Kependekan dari Transaction-SQL , bentuk diperluas dari SQL yang menambahkan variabel yang dideklarasikan, kontrol transaksi, kesalahan dan penanganan pengecualian dan pemrosesan baris ke SQL

Structured Query Language atau SQL adalah bahasa pemrograman yang berfokus pada pengelolaan basis data relasional. SQL memiliki keterbatasannya sendiri yang mendorong raksasa perangkat lunak Microsoft untuk membangun di atas SQL dengan ekstensi mereka sendiri untuk meningkatkan fungsionalitas SQL . Microsoft menambahkan kode ke SQL dan menyebutnya Transact-SQL atau T-SQL. Perlu diingat bahwa T-SQL adalah hak milik dan berada di bawah kendali Microsoft sementara SQL, meskipun dikembangkan oleh IBM, sudah merupakan format terbuka.

T-SQL menambahkan sejumlah fitur yang tidak tersedia di SQL.

Ini termasuk elemen pemrograman prosedural dan variabel lokal untuk memberikan kontrol yang lebih fleksibel tentang bagaimana aplikasi mengalir. Sejumlah fungsi juga ditambahkan ke T-SQL untuk membuatnya lebih kuat; fungsi untuk operasi matematika, operasi string, pemrosesan tanggal dan waktu, dan sejenisnya. Penambahan ini membuat T-SQL mematuhi uji kelengkapan Turing, tes yang menentukan universalitas bahasa komputasi. SQL tidak lengkap dan Turing sangat terbatas dalam ruang lingkup apa yang dapat dilakukannya.

Perbedaan signifikan lainnya antara T-SQL dan SQL adalah perubahan yang dilakukan pada perintah DELETE dan UPDATE yang sudah tersedia dalam SQL. Dengan T-SQL, perintah DELETE dan UPDATE memungkinkan masuknya klausa FROM yang memungkinkan penggunaan JOINs. Ini menyederhanakan penyaringan catatan untuk dengan mudah memilih entri yang cocok dengan kriteria tertentu tidak seperti dengan SQL di mana ia bisa sedikit lebih rumit.

Memilih antara T-SQL dan SQL adalah terserah pengguna. Tetap saja, menggunakan T-SQL masih lebih baik ketika Anda berurusan dengan instalasi Microsoft SQL Server. Ini karena T-SQL juga dari Microsoft, dan menggunakan keduanya bersama-sama memaksimalkan kompatibilitas. SQL lebih disukai oleh orang-orang yang memiliki banyak backend.

Referensi , Wikipedea, Poin Tutorial: www.differencebetween.com

Arunprasanth KV
sumber
4
IMO yang saat ini merupakan jawaban terbaik (namun, jawaban dan posting blog manoj layak dibaca juga).
salcoin
1
Bukankah T-SQL dibeli dari Sybase bersama dengan kode database yang mereka beli untuk membuat versi SQL server pertama? Setidaknya T-SQL juga bekerja pada Sybase jadi saya pikir ada beberapa 'kode umum'
phil_w
Sebenarnya, Microsoft dan Sybase bersama-sama mengembangkan SQL Server untuk OS2. Jadi, kedua perusahaan bekerja bersama dalam mengembangkan T-SQL. Itu sebabnya kedua database dapat menggunakan T-SQL meskipun ada perbedaan yang signifikan antara dua varian T-SQL.
alaniane
44
  • SQLbahasa untuk berbicara ke database. Ini memungkinkan Anda memilih data, bermutasi dan membuat objek basis data (seperti tabel, tampilan, dll.), Mengubah pengaturan basis data.
  • PL-SQL bahasa pemrograman prosedural (dengan embedded SQL)
  • T-SQL ekstensi (prosedural) untuk SQL yang digunakan oleh SQL Server
diederikh
sumber
Harus SPL (Lang Prosedur Tersimpan), PL terlalu umum (yaitu, C).
samis
32

1. SQL atau Structured Query Language dikembangkan oleh IBM untuk produk mereka "System R".

Kemudian ANSI menjadikannya sebagai Standar yang menjadi dasar semua Bahasa Kueri dan telah memperpanjang ini untuk membuat setelan Bahasa Kueri DataBase mereka sendiri. Standar pertama adalah SQL-86 dan yang terbaru adalah SQL: 2011

2. T-SQL atau Transact-SQL dikembangkan oleh Sybase dan kemudian dimiliki bersama oleh Microsoft SQL Server.

3. PL / SQL atau Bahasa Prosedural / SQL adalah Oracle Database, yang dikenal sebagai "Relation Software" saat itu.

Saya telah mendokumentasikan ini di posting blog saya .

Manoj Pandey
sumber
2
Jawaban ini lebih menyeluruh daripada jawaban yang disetujui, dan posting blog adalah bacaan yang bagus.
salcoin
7

Structured Query Language - SQL: adalah standar ANSI yang digunakan oleh hampir semua vendor SGBD di seluruh dunia. Pada dasarnya, SQL adalah bahasa yang digunakan untuk mendefinisikan dan memanipulasi data [DDL dan DML].

PL / SQL adalah bahasa yang dibuat oleh Oracle universe. PL / SQL menggabungkan instruksi prosedural pemrograman dan memungkinkan pembuatan program yang beroperasi langsung pada skenario basis data.

T-SQL adalah produk Microsoft yang meluruskan pola SQL, dengan beberapa kekhasan. Jadi, jangan ragu untuk menguji batas Anda.

Jayron Soares
sumber
1

SQL adalah standar dan ada banyak vendor database seperti Microsoft, Oracle yang mengimplementasikan standar ini menggunakan bahasa milik mereka sendiri.

Microsoft menggunakan T-SQL untuk mengimplementasikan standar SQL untuk berinteraksi dengan data sedangkan oracle menggunakan PL / SQL.

Viku
sumber