Apa itu SQL?
Bahasa kueri terstruktur (SQL) adalah bahasa pemrograman untuk menyimpan dan memproses informasi dalam basis data relasional. Sebuah basis data relasional menyimpan informasi dalam bentuk tabel, dengan baris dan kolom yang mewakili atribut data yang berbeda serta berbagai hubungan antara nilai data. Anda dapat menggunakan pernyataan SQL untuk menyimpan, memperbarui, menghapus, mencari, dan mengambil informasi dari basis data. Anda juga dapat menggunakan SQL untuk memelihara dan mengoptimalkan performa basis data.
Mengapa SQL penting?
Bahasa kueri terstruktur (SQL) adalah bahasa kueri populer yang sering digunakan di semua jenis aplikasi. Analis data dan developer mempelajari dan menggunakan SQL karena terintegrasi dengan baik dengan berbagai bahasa pemrograman. Misalnya, mereka dapat menyematkan kueri SQL dengan bahasa pemrograman Java untuk membangun aplikasi pemrosesan data beperforma tinggi dengan sistem basis data SQL utama, seperti Oracle atau MS SQL Server. SQL juga cukup mudah dipelajari karena menggunakan kata kunci bahasa Inggris umum dalam pernyataannya
Sejarah SQL
SQL ditemukan pada tahun 1970-an berdasarkan model data relasional. Pada awalnya SQL dikenal sebagai bahasa kueri bahasa Inggris terstruktur (SEQUEL). Istilah ini kemudian disingkat menjadi SQL. Oracle, yang sebelumnya dikenal sebagai Perangkat Lunak Relasional (Relational Software), menjadi vendor pertama yang menawarkan sistem manajemen basis data relasional SQL komersial.
Apa saja komponen sistem SQL?
Sistem manajemen basis data relasional menggunakan bahasa kueri terstruktur (SQL) untuk menyimpan dan mengelola data. Sistem ini menyimpan beberapa tabel basis data yang saling berhubungan satu sama lain. MS SQL Server, MySQL, atau MS Access adalah contoh sistem manajemen basis data relasional. Berikut adalah komponen dari sistem tersebut.
Tabel SQL
Tabel SQL adalah elemen dasar dari basis data relasional. Tabel basis data SQL terdiri dari baris dan kolom. Rekayasawan basis data menciptakan hubungan antara beberapa tabel basis data untuk mengoptimalkan ruang penyimpanan data.
Misalnya, rekayasawan basis data membuat tabel SQL untuk produk di sebuah toko:
ID Produk |
Nama Produk |
ID Warna |
0001 |
Kasur |
Warna 1 |
0002 |
Bantal |
Warna 2 |
Kemudian, rekayasawan basis data menghubungkan tabel produk ke tabel warna dengan ID Warna:
ID Warna |
Nama Warna |
Warna 1 |
Biru |
Warna 2 |
Merah |
Pernyataan SQL
Pernyataan SQL atau kueri SQL adalah instruksi valid yang dipahami oleh sistem manajemen basis data relasional. Developer perangkat lunak membangun pernyataan SQL dengan menggunakan elemen bahasa SQL yang berbeda. Elemen bahasa SQL adalah komponen, seperti pengidentifikasi, variabel, dan kondisi pencarian yang membentuk pernyataan SQL yang benar.
Misalnya, pernyataan SQL berikut menggunakan perintah INSERT SQL untuk menyimpan Kasur Merek A, dengan harga 499 USD, ke dalam tabel bernama Mattress_table, dengan nama kolom brand_name dan biaya:
INSERT INTO Mattress_table (brand_name, biaya)
VALUES(‘A’,’499’);
Prosedur tersimpan
Prosedur tersimpan adalah kumpulan dari satu atau lebih pernyataan SQL yang disimpan dalam basis data relasional. Developer perangkat lunak menggunakan prosedur tersimpan untuk meningkatkan efisiensi dan performa. Misalnya, mereka dapat membuat prosedur tersimpan untuk memperbarui tabel penjualan alih-alih menulis pernyataan SQL yang sama di aplikasi yang berbeda.
Bagaimana cara kerja SQL?
Implementasi bahasa kueri terstruktur (SQL) melibatkan mesin server yang memproses kueri basis data dan mengembalikan hasilnya. Proses SQL melalui beberapa komponen perangkat lunak, termasuk yang berikut ini.
Pengurai
Pengurai memulai dengan melakukan tokenisasi atau mengganti beberapa kata dalam pernyataan SQL dengan simbol khusus. Kemudian, pengurai memeriksa pernyataan untuk hal-hal berikut:
Kebenaran
Pengurai memverifikasi bahwa pernyataan SQL sesuai dengan semantik SQL atau aturan yang memastikan kebenaran pernyataan kueri. Misalnya, pengurai memeriksa apakah perintah SQL diakhiri dengan tanda titik koma. Jika tanda titik koma tidak ada, pengurai akan mengembalikan kesalahan.
Otorisasi
Pengurai juga memvalidasi bahwa pengguna yang menjalankan kueri memiliki otorisasi yang diperlukan untuk memanipulasi data masing-masing. Misalnya, hanya pengguna admin yang mungkin memiliki hak untuk menghapus data.
Mesin relasional
Mesin relasional atau prosesor kueri membuat rencana untuk mengambil, menulis, atau memperbarui data terkait dengan cara yang paling efektif. Misalnya, memeriksa kueri serupa, menggunakan kembali metode manipulasi data sebelumnya, atau membuat yang baru. Mesin itu menulis rencana dalam representasi tingkat menengah dari pernyataan SQL yang disebut dengan kode bita. Basis data relasional menggunakan kode bita untuk melakukan pencarian dan modifikasi basis data secara efisien.
Mesin penyimpanan
Mesin penyimpanan atau mesin basis data adalah komponen perangkat lunak yang memproses kode bita dan menjalankan pernyataan SQL yang dimaksud. Mesin itu membaca dan menyimpan data dalam file basis data pada penyimpanan disk fisik. Setelah selesai, mesin penyimpanan mengembalikan hasilnya ke aplikasi yang meminta.
Apa saja perintah SQL?
Perintah bahasa kueri terstruktur (SQL) adalah kata kunci tertentu atau pernyataan SQL yang digunakan developer untuk memanipulasi data yang disimpan dalam basis data relasional. Anda dapat mengategorikan perintah SQL sebagai berikut.
Bahasa definisi data
Bahasa definisi data (DDL) mengacu pada perintah SQL yang merancang struktur basis data. Rekayasawan basis data menggunakan DDL untuk membuat dan memodifikasi objek basis data berdasarkan persyaratan bisnis. Misalnya, rekayasawan basis data menggunakan perintah CREATE untuk membuat objek basis data, seperti tabel, tampilan, dan indeks.
Bahasa kueri data
Bahasa kueri data (DQL) terdiri dari instruksi untuk mengambil data yang disimpan dalam basis data relasional. Aplikasi perangkat lunak menggunakan perintah SELECT untuk memfilter dan mengembalikan hasil tertentu dari tabel SQL.
Bahasa manipulasi data
Pernyataan bahasa manipulasi data (DML) menulis informasi baru atau memodifikasi catatan yang ada dalam basis data relasional. Misalnya, sebuah aplikasi menggunakan perintah INSERT untuk menyimpan catatan baru dalam basis data.
Bahasa kontrol data
Administrator basis data menggunakan bahasa kontrol data (DCL) untuk mengelola atau melakukan otorisasi akses basis data untuk pengguna lain. Misalnya, mereka dapat menggunakan perintah GRANT untuk mengizinkan aplikasi tertentu memanipulasi satu atau lebih tabel.
Bahasa kontrol transaksi
Mesin relasional menggunakan bahasa kontrol transaksi (TCL) untuk membuat perubahan basis data secara otomatis. Misalnya, basis data menggunakan perintah ROLLBACK untuk membatalkan transaksi yang salah.
Apa saja standar SQL?
Standar SQL adalah serangkaian panduan yang ditentukan secara formal dari bahasa kueri terstruktur (SQL). American National Standards Institute (ANSI) dan International Organization for Standardization (ISO) mengadopsi standar SQL pada tahun 1986. Vendor perangkat lunak menggunakan standar SQL ANSI guna membangun perangkat lunak basis data SQL untuk developer.
Apa itu injeksi SQL?
Injeksi SQL adalah serangan siber yang melibatkan penipuan basis data dengan kueri SQL. Peretas menggunakan injeksi SQL untuk mengambil, memodifikasi, atau merusak data dalam sebuah basis data SQL. Misalnya, mereka mungkin mengisi kueri SQL alih-alih nama seseorang dalam formulir pengiriman untuk melakukan serangan injeksi SQL.
Apa itu MySQL?
MySQL adalah sistem manajemen basis data relasional sumber terbuka yang ditawarkan oleh Oracle. Developer dapat mengunduh dan menggunakan MySQL tanpa membayar biaya lisensi. Mereka dapat menginstal MySQL pada sistem operasi atau server cloud yang berbeda. MySQL adalah sistem basis data populer untuk aplikasi web.
SQL vs. MySQL
Bahasa kueri terstruktur (SQL) adalah bahasa standar untuk pembuatan dan manipulasi basis data. MySQL adalah program basis data relasional yang menggunakan kueri SQL. Perintah SQL ditentukan oleh standar internasional, sedangkan perangkat lunak MySQL terus mengalami pemutakhiran dan peningkatan berkelanjutan.
Apa itu NoSQL?
NoSQL mengacu pada basis data non-relasional yang tidak menggunakan tabel untuk menyimpan data. Developer menyimpan informasi dalam berbagai jenis basis data NoSQL, termasuk grafik, dokumen, dan nilai kunci. Basis data NoSQL populer untuk aplikasi modern karena dapat diskalakan secara horizontal. Penskalaan horizontal berarti meningkatkan daya pemrosesan dengan menambahkan lebih banyak komputer yang menjalankan perangkat lunak NoSQL.
SQL vs. NoSQL
Bahasa kueri terstruktur (SQL) menyediakan bahasa manipulasi data yang seragam, tetapi implementasi NoSQL bergantung pada teknologi yang berbeda. Developer menggunakan SQL untuk aplikasi transaksional dan analitis, sedangkan NoSQL cocok untuk aplikasi penggunaan berat yang responsif.
Apa itu SQL server?
SQL Server adalah nama resmi dari sistem manajemen basis data relasional Microsoft yang memanipulasi data dengan SQL. MS SQL Server memiliki beberapa edisi dan masing-masing dirancang untuk beban kerja dan persyaratan tertentu.
Bagaimana AWS mendukung SQL?
Microsoft SQL Server di AWS memungkinkan developer untuk menjalankan beban kerja Microsoft SQL di AWS. Sistem basis data SQL beperforma lebih baik dengan sumber daya komputasi AWS yang dapat diskalakan. Dengan menjalankan MS SQL di AWS, perusahaan mencapai ketersediaan layanan yang lebih tinggi karena AWS memiliki infrastruktur global terluas di 24 wilayah. SQL Server di AWS terintegrasi dengan lebih dari 230 layanan keamanan, kepatuhan, dan tata kelola untuk melindungi data Anda dari ancaman eksternal. Beberapa cara lain AWS mendukung SQL meliputi:
- Pelanggan menggunakan Amazon Database Migration Service untuk mempermudah pemindahan basis data SQL ke AWS.
- Amazon Elastic Block Store (EBS) menyediakan penyimpanan blok beperforma tinggi untuk aplikasi SQL yang sangat penting.
Mulai gunakan SQL Server di AWS dengan mendaftar akun AWS sekarang.