Sejarah
SQL dikembangkan di IBM oleh Donald D. Chamberlin dan Raymond F. Boyce pada awal tahun 1970. Versi, awalnya disebut sekuel (S tructured E nglish Que L anguage ry), dirancang untuk memanipulasi dan mengambil data yang tersimpan dalam dokumen asli kuasi's database manajemen sistem-relasional IBM, Sistem R , yang kelompok di IBM San Jose Research Laboratory telah dikembangkan selama 1970-an. [8] akronim The Sequel kemudian berubah menjadi SQL karena "sekuel" adalah merek dagang dari Inggris yang berbasis di Hawker Siddeley perusahaan pesawat terbang.
Yang pertama Relational Database Management System (RDBMS) adalah RDMS , dikembangkan di MIT pada awal tahun 1970, segera diikuti oleh Ingres , yang dikembangkan pada tahun 1974 di UC Berkeley . Ingres menerapkan bahasa query yang dikenal sebagai QUEL, yang kemudian digantikan di pasar dengan SQL.
Pada akhir 1970-an, Relational Software, Inc (sekarang Oracle Corporation ) melihat potensi konsep digambarkan oleh Codd, Chamberlin, dan Boyce dan mengembangkan sendiri SQL-based RDBMS dengan aspirasi penjualan ke Angkatan Laut AS , Central Intelligence Agency , dan pemerintah AS lembaga. Pada bulan Juni 1979, Relational Software, Inc memperkenalkan implementasi komersial pertama yang tersedia SQL, Oracle V2 (Version2) untuk VAX komputer tersebut. Oracle V2 mengalahkan IBM Agustus rilis dari System/38 RDBMS ke pasar oleh beberapa minggu.
Setelah pengujian SQL di lokasi uji pelanggan untuk menentukan kegunaan dan kepraktisan dari sistem, IBM mulai mengembangkan produk umum berdasarkan mereka prototipe Sistem R termasuk System/38, SQL / DS dan DB2 , yang tersedia secara komersial pada tahun 1979, 1981, dan 1983, masing-masing.
unsur-unsur Bahasa
Bahasa SQL adalah sub-dibagi menjadi elemen-elemen beberapa bahasa, termasuk:
- Klausa, yang merupakan komponen konstituen pernyataan dan pertanyaan. (Dalam beberapa kasus, ini adalah opsional.)
- Ekspresi, yang dapat menghasilkan baik skalar nilai atau tabel terdiri dari kolom danbaris data.
- Predikat, yang menetapkan kondisi yang dapat dievaluasi untuk SQL tiga-nilai logika (3VL) atau Boolean (true / false / unknown) nilai-nilai kebenaran dan yang digunakan untuk membatasi efek dari pernyataan dan pertanyaan, atau untuk mengubah aliran program.
- Pertanyaan, yang mengambil data berdasarkan kriteria spesifik. Ini adalah unsur yang paling penting dari SQL.
- Laporan, yang mungkin memiliki efek yang gigih pada schemata dan data, atau yang dapat mengontrol transaksi, alur program, koneksi, sesi, atau diagnosa.
- pernyataan SQL juga termasuk titik koma pernyataan (";") terminator. Meskipun tidak diperlukan pada setiap platform, ini didefinisikan sebagai bagian standar dari tata bahasa SQL.
- Spasi tidak signifikan secara umum diabaikan dalam laporan dan query SQL, membuat ke format SQL kode lebih mudah untuk dibaca.
Pertanyaan
Yang umum operasi yang paling dalam SQL adalah query, yang dilakukan dengan deklaratif
SELECT
pernyataan. SELECT
mengambil data dari satu atau lebih tabel , atau ekspresi. Standar SELECT
laporan tidak memiliki efek yang gigih pada database. Beberapa standar implementasi non SELECT
dapat memiliki efek yang gigih, seperti SELECT INTO
sintaks yang ada di beberapa database.Pertanyaan memungkinkan pengguna untuk menggambarkan data yang diinginkan, meninggalkan sistem manajemen database (DBMS)bertanggung jawab untuk perencanaan , mengoptimalkan , dan melakukan operasi fisik yang diperlukan untuk memproduksi hasil yang seperti memilih.
Sebuah query mencakup daftar kolom untuk dimasukkan dalam hasil akhir segera setelah
SELECT
kata kunci. Tanda bintang (" *
") juga dapat digunakan untuk menentukan bahwa query harus mengembalikan semua kolom dari tabel query. SELECT
adalah pernyataan yang paling kompleks di SQL, dengan kata kunci opsional dan klausa yang meliputi:- Para
FROM
klausul yang menunjukkan tabel (s) dari mana data akan diambil. ParaFROM
klausa dapat menyertakan opsionalJOIN
subclauses untuk menentukan aturan-aturan untuk bergabung dengan tabel. - The
WHERE
klausa termasuk predikat perbandingan, yang membatasi baris yang dikembalikan oleh query. TheWHERE
klausul menghilangkan semua baris dari hasil set yang predikat perbandingan tidak mengevaluasi menjadi True. - The
GROUP BY
klausa digunakan untuk proyek baris memiliki nilai-nilai bersama dalam satu set yang lebih kecil baris.GROUP BY
sering digunakan dalam hubungannya dengan fungsi agregasi SQL atau untuk menghilangkan duplikasi baris dari hasil satu set. TheWHERE
klausa diterapkan sebelumGROUP BY
klausa. - The
HAVING
klausa termasuk predikat yang digunakan untuk menyaring baris yang dihasilkan dariGROUP BY
klausa. Karena bekerja pada hasilGROUP BY
klausa, fungsi agregasi dapat digunakan dalamHAVING
predikat klausa. - The
ORDER BY
klausa mengidentifikasi kolom mana yang digunakan untuk mengurutkan data yang dihasilkan, dan ke arah mana mereka harus disortir (pilihan menaik atau menurun). TanpaORDER BY
klausa, urutan baris yang dikembalikan oleh sebuah query SQL yang tidak terdefinisi.
Berikut ini adalah contoh
SELECT
query yang mengembalikan daftar buku mahal. Query mengambil semua baris dari tabel Buku yang berisi kolom harga nilai lebih besar dari 100.00. Hasilnya adalah diurutkan dalam urutan menaik menurut judul. Tanda bintang (*) dalam daftar pilihmenunjukkan bahwa semua kolom dari tabel Buku harus dimasukkan di set hasil.SELECT * DARI Buku WHERE harga> 100,00 ORDER BY judul;
Contoh di bawah ini menunjukkan sebuah query dari berbagai tabel, pengelompokan, dan agregasi, dengan mengembalikan daftar buku dan jumlah penulis yang terkait dengan setiap buku.
PILIH Book. Judul, COUNT (*) Penulis AS DARI Buku JOIN Book_author ON Buku. Isbn = Book_author. Isbn GROUP BY Book judul.;
Contoh output mungkin mirip sebagai berikut:
Judul Penulis ---------------------- ------- SQL Contoh dan Panduan 4 The Joy of 1 SQL Introduction to SQL 2 Perangkap 1 SQL
Di bawah prasyarat yang isbn adalah satu-satunya nama umum kolom dari dua tabel dan kolom bernama judul hanya ada pada tabel Buku,pertanyaan di atas dapat ditulis dalam bentuk berikut:
SELECT judul, COUNT (*) Penulis AS Book DARI ALAM JOIN Book_author GROUP BY judul;
Namun, banyak vendor baik tidak mendukung pendekatan ini, atau memerlukan kolom tertentu konvensi penamaan dalam rangka untuk alam bergabung untuk bekerja secara efektif.
SQL termasuk operator dan fungsi untuk menghitung nilai pada nilai-nilai yang disimpan. SQL memungkinkan penggunaan ekspresi dalamdaftar pilih untuk data proyek, seperti dalam contoh berikut ini yang mengembalikan daftar buku yang harganya lebih dari 100,00 dengan kolom sales_tax tambahan yang berisi angka penjualan pajak dihitung sebesar 6% dari harga.
SELECT isbn, judul, harga, harga * 0,06 SEBAGAI sales_tax DARI Buku WHERE harga> 100,00 ORDER BY judul;
Tidak ada komentar:
Posting Komentar