SQL


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


Tabel ini menunjukkan beberapa unsur-unsur bahasa SQL yang menulis pernyataan tunggal.
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. Para FROM klausa dapat menyertakan opsional JOINsubclauses untuk menentukan aturan-aturan untuk bergabung dengan tabel.
  • The WHERE klausa termasuk predikat perbandingan, yang membatasi baris yang dikembalikan oleh query. The WHERE 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. The WHEREklausa diterapkan sebelum GROUP BY klausa.
  • The HAVING klausa termasuk predikat yang digunakan untuk menyaring baris yang dihasilkan dari GROUP BY klausa. Karena bekerja pada hasil GROUP BY klausa, fungsi agregasi dapat digunakan dalam HAVING 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). Tanpa ORDER 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