Berikut adalah ikhtisar singkat tentang perbedaan antara SQL dan T-SQL (Transact-SQL). Tidak begitu banyak perbedaan seperti itu, tetapi lebih merupakan penjelasan tentang T-SQL dan posisinya dalam kaitannya dengan SQL.
Jika Anda telah melakukan pengembangan atau administrasi database, Anda mungkin akrab dengan SQL. SQL, yang merupakan singkatan dari Structured Query Language, adalah bahasa query standar untuk bekerja dengan database. Sebagian besar sistem manajemen basis data relasional utama seperti MySQL, Oracle, SQL Server, PostgreSQL, dll mendukung SQL dalam satu atau lain cara.
Namun, sementara standar SQL memberikan spesifikasi yang jelas, ini juga memungkinkan vendor database untuk menambahkan ekstensi mereka sendiri. Hal ini memungkinkan vendor untuk menyediakan fitur dan fungsionalitas tambahan bagi pelanggan mereka yang mungkin tidak ditawarkan oleh pesaing mereka.
Di sinilah T-SQL masuk.
Apa itu Transact-SQL?
Transact-SQL, sering disingkat T-SQL atau bahkan TSQL, adalah ekstensi milik Microsoft dan Sybase untuk SQL. Transact-SQL memperluas standar SQL untuk menyertakan fitur tambahan yang tidak disertakan dalam standar SQL.
Meskipun Transact-SQL (dan SQL Server) paling umum dikenal sebagai hal Microsoft, sebenarnya ini adalah hasil dari kemitraan antara Microsoft dan Sybase yang dimulai pada tahun 1987. Kemitraan ini dibubarkan pada tahun 1994. Setelah ini, T-SQL terus berlanjut. didukung oleh produk database yang dirilis oleh kedua perusahaan, namun masing-masing perusahaan mengembangkan produk databasenya ke arahnya sendiri. Oleh karena itu, ada beberapa perbedaan antara Sybase T-SQL dan Microsoft T-SQL.
Transact-SQL adalah pusat SQL Server. Sebagian besar operasi di SQL Server dilakukan menggunakan T-SQL. Ini benar bahkan jika Anda menggunakan alat GUI (seperti SSMS atau DBeaver) dan Anda sebenarnya tidak melakukan pemrograman apa pun. Setiap kali Anda menggunakan aplikasi untuk berinteraksi dengan SQL Server, aplikasi tersebut menggunakan T-SQL di belakang layar untuk menjalankan tugas yang ditentukan.
Tetapi SQL Server bukan satu-satunya sistem manajemen basis data yang mendukung Transact-SQL. Database Microsoft Azure SQL juga mendukung T-SQL. Sebagian besar fitur T-SQL yang digunakan aplikasi didukung sepenuhnya di Microsoft SQL Server dan Azure SQL Database (walaupun ada beberapa pengecualian).
Fitur T-SQL
Beberapa fitur T-SQL meliputi:
- Pemrograman prosedural
- Variabel lokal
- Berbagai fungsi dukungan untuk pemrosesan string, pemrosesan tanggal, matematika, dll
- Perubahan pada
DELETE
danUPDATE
pernyataan. Secara khusus, mereka mengizinkan klausa FROM untuk ditambahkan, yang memungkinkan penggabungan untuk disertakan. - T-SQL memiliki
BULK INSERT
pernyataan yang memungkinkan Anda mengimpor file data ke dalam tabel database atau tampilan dalam format yang ditentukan pengguna.
Salah satu manfaat utama dari ekstensi di atas adalah Anda memiliki lebih banyak programabilitas saat menggunakan T-SQL vs SQL. Prosedur tersimpan misalnya memungkinkan Anda untuk memasukkan logika pemrograman ke dalam database Anda. Anda dapat meneruskan satu atau lebih parameter ke prosedur tersimpan, dan prosedur tersimpan akan mengembalikan output yang bervariasi tergantung pada nilai parameter.
Tentang Perintah GO
Siapapun yang pernah menggunakan T-SQL mungkin sudah familiar dengan GO
memerintah. Kata kunci ini sering ditempatkan di akhir sekumpulan pernyataan.
Namun, GO
perintah sebenarnya bukan bagian dari Transact-SQL. Faktanya, GO
perintah bahkan tidak dapat menempati baris yang sama dengan pernyataan Transact-SQL.
GO
adalah salah satu perintah yang dikenali oleh sqlcmd dan osql utilitas, serta Editor Kode SQL Server Management Studio untuk memfasilitasi keterbacaan dan eksekusi kumpulan dan skrip. GO
perintah menandakan akhir dari sekumpulan pernyataan Transact-SQL ke utilitas SQL Server.
Utilitas SQL Server menafsirkan GO
sebagai sinyal bahwa mereka harus mengirim kumpulan pernyataan Transact-SQL saat ini ke instance SQL Server. Kumpulan pernyataan saat ini terdiri dari semua pernyataan yang dimasukkan sejak GO
terakhir , atau sejak awal sesi atau skrip ad hoc jika ini adalah GO
pertama .
Ekstensi SQL Proprietary Lainnya
Transact-SQL bukan satu-satunya ekstensi standar SQL. Berbagai sistem basis data memiliki ekstensinya sendiri. Misalnya, Oracle menggunakan bahasa prosedural eksklusif yang disebut PL/SQL, dan PostgreSQL menggunakan bahasa prosedural yang disebut PL/pgSQL.
Meskipun ekstensi SQL berpemilik memiliki kelebihan (seperti fungsionalitas yang diperluas), mereka memiliki kelemahan. Salah satu kelemahan utama adalah mereka dapat mempersulit jika Anda perlu mem-porting database dari satu sistem ke sistem lainnya. Misalnya, jika organisasi Anda tiba-tiba memutuskan untuk menggunakan Oracle alih-alih SQL Server, Anda mungkin perlu menelusuri semua kode SQL Server dan menulis ulang untuk Oracle. Ini juga mengharuskan Anda untuk mempercepat sintaks kedua sistem.