Structured Query Language (SQL)

Sejarah SQL dimulai di laboratorium IBM di San Jose, California, dimana SQL dikembangkan pada akhir 1970-an. Inisial berdiri untuk Structured Query Language, bahasa itu sendiri dan sering disebut sebagai “sekuel.” Ini pada awalnya dikembangkan untuk produk IBM DB2 (sistem manajemen basis data relasional atau RDBMS, yang masih bisa dibeli hari ini untuk berbagai platform dan lingkungan). Bahkan, SQL membuat RDBMS mungkin. SQL adalah bahasa nonprocedural, berbeda dengan atau generasi ketiga bahasa prosedural (3GLs) seperti COBOL dan C yang telah dibuat sampai saat itu.

Karakteristik bahwa membedakan DBMS dari RDBMS adalah bahwa RDBMS menyediakan database bahasa berorientasi-set. Untuk RDBMSs kebanyakan, ini bahasa berorientasi database SQLberorientasi set. Berarti Set bahwa SQL proses set data dalam kelompok.

Dua standar organisasi, American National Standards Institute (ANSI) dan International Standards Organization (ISO), saat ini mempromosikan standar SQL ke industri. The-92 standar adalah standar ANSI untuk SQL digunakan di seluruh buku ini. Meskipun pembuatan badan standar menyusun standar untuk desainer sistem database untuk diikuti, semua produk database berbeda dari standar ANSI untuk beberapa derajat. Selain itu, kebanyakan sistem menyediakan beberapa ekstensi ke SQL milik yang memperpanjang bahasa ke bahasa prosedural benar. Kami telah menggunakan berbagai RDBMSs untuk mempersiapkan contoh dalam buku ini untuk memberikan gambaran tentang apa yang diharapkan dari sistem database umum.

Sebuah Sejarah Singkat dari SQL

Sejarah SQL dimulai di laboratorium IBM di San Jose, California, dimana SQL dikembangkan pada akhir 1970-an. Inisial berdiri untuk Structured Query Language, dan bahasa itu sendiri sering disebut sebagai “sekuel.” Ini pada awalnya dikembangkan untuk produk IBM DB2 (sistem manajemen basis data relasional atau RDBMS, yang masih bisa dibeli hari ini untuk berbagai platform dan lingkungan). Bahkan, SQL membuat RDBMS mungkin. SQL adalah bahasa nonprocedural, berbeda dengan atau generasi ketiga bahasa prosedural (3GLs) seperti COBOL dan C yang telah dibuat sampai saat itu.


CATATAN: Nonprocedural berarti apa bukan bagaimana. Misalnya, SQL menjelaskan apa untuk mengambil data, menghapus, atau memasukkan, bukan bagaimana untuk melakukan operasi.


Karakteristik yang membedakan DBMS dari RDBMS adalah bahwa RDBMS menyediakan database bahasa berorientasi-set. Untuk RDBMSs kebanyakan, ini bahasa berorientasi database SQLberorientasi set. Berarti Set bahwa SQL proses set data dalam kelompok.

Dua standar organisasi, American National Standards Institute (ANSI) dan International Standar Organization (ISO), saat ini mempromosikan standar SQL untuk industri. The-92 standar adalah standar ANSI untuk SQL digunakan di seluruh buku ini. Meskipun pembuatan badan standar menyusun standar untuk desainer sistem database untuk diikuti, semua produk database berbeda dari standar ANSI untuk beberapa derajat. Selain itu, kebanyakan sistem menyediakan beberapa ekstensi ke SQL milik yang memperpanjang bahasa ke bahasa prosedural benar. Kami telah menggunakan berbagai RDBMSs untuk mempersiapkan contoh dalam buku ini untuk memberikan gambaran tentang apa yang diharapkan dari sistem database umum. (Kami membahas SQL prosedural – dikenal sebagai PL / SQL – pada Hari 18, “PL / SQL: An Introduction,” dan Transact-SQL pada 19 Hari, “Transact-SQL: Sebuah Pengantar.”)

Sejarah Singkat Database

Sebuah sedikit latar belakang pada evolusi database dan teori database akan membantu Anda memahami cara kerja SQL. Database sistem menyimpan informasi dalam setiap lingkungan bisnis yang mungkin. Dari database pelacakan besar seperti sistem reservasi maskapai untuk itu bisbol kartu koleksi anak, database toko sistem dan mendistribusikan data yang kita bergantung pada.Sampai beberapa tahun terakhir, sistem database yang besar bisa hanya berjalan pada komputer mainframe besar. Mesin-mesin secara tradisional telah mahal untuk merancang, pembelian, dan memelihara. Namun,’s generasi hari ini kuat, komputer workstation murah memungkinkan programmer untuk merancang perangkat lunak yang memelihara dan mendistribusikan data dengan cepat dan murah.

Dr Codd’s 12 Aturan untuk Model Database Relational

Model penyimpanan data yang paling populer adalah database relasional, yang tumbuh dari kertas seminalis “A Relational Model Data untuk Data Besar Bersama Bank,” ditulis oleh Dr EF Codd pada tahun 1970. SQL berevolusi ke layanan konsep model database relasional. Dr Codd didefinisikan 13 aturan, anehnya disebut’s 12 Codd Aturan, untuk model relasional:

  1. Sebuah DBMS relasional harus mampu mengelola database relasional sepenuhnya melalui kemampuan perusahaan.
  2. Informasi aturan – Semua informasi dalam sebuah database relasional (termasuk meja dan kolom nama) direpresentasikan secara eksplisit sebagai nilai dalam tabel.
  3. Akses Guaranteed – Setiap nilai dalam database relasional dijamin dapat diakses dengan menggunakan kombinasi dari nama tabel, nilai kunci primer, dan nama kolom.
  4. Sistematik nilai null dukungan DBMS menyediakan dukungan sistematis untuk pengobatan nilai null (atau diterapkan data tidak diketahui), berbeda dari nilai-nilai default, dan bebas dari domain manapun.
  5. Aktif katalog relasional online – Deskripsi tentang database dan isinya adalah mewakili pada tingkat logis sebagai tabel sehingga dapat dilihat menggunakan bahasa database.
  6. Komprehensif sublanguage – Setidaknya satu bahasa yang didukung harus memiliki sintaks yang didefinisikan dengan baik dan komprehensif. Ini harus mendukung definisi data, manipulasi, aturan integritas, otorisasi, dan Transaksi.
  7. Memperbarui. Lihat aturan – Semua tampilan yang secara teoritis dapat diupdate dapat diperbarui melalui sistem.
  8. Penyisipan. Set-tingkat, update, dan penghapusan – DBMS mendukung tidak hanya tingkat pengambilan set tetapi juga mengatur tingkat insert, update, dan menghapus.
  9. Fisik – data kemerdekaan/Independensi Aplikasi program. 8 dan program-program ad hoc secara logis tidak terpengaruh bila metode akses fisik atau struktur penyimpanan berubah.
  10. Logis – data kemerdekaan/Independensi Aplikasi program. 9 dan ad hoc program secara logis tidak terpengaruh, sejauh mungkin, jika ada perubahan pada struktur tabel.
  11. Kemerdekaan/Independensi Integritas. – Bahasa database harus mampu mendefinisikan aturan-aturan integritas. Mereka harus disimpan dalam katalog online, dan mereka tidak dapat dilewati.
  12. Distribusi. Kemerdekaan Aplikasi program dan ad hoc permintaan secara logis tidak terpengaruh saat data pertama didistribusikan atau ketika didistribusikan.
  13. Nonsubversion Tidak harus dapat untuk memotong aturan integritas yang ditetapkan melalui bahasa database dengan menggunakan tingkat bahasa lebih rendah.

Kebanyakan database memiliki orang tua “/ anak” hubungan, yaitu node orangtua akan berisi file pointer ke anak-anaknya. (Lihat Gambar 1.1.)

Gambar 1.1.
Codd’s database relasional sistem manajemen.

Metode ini memiliki beberapa kelebihan dan kekurangan banyak. Mendukung adalah fakta bahwa struktur fisik data pada disk menjadi tidak penting. programmer itu hanya menyimpan pointer ke lokasi berikutnya, sehingga data dapat diakses dengan cara ini. Selain itu, data dapat ditambahkan dan dihapus dengan mudah. Namun, kelompok yang berbeda informasi tidak dapat dengan mudah bergabung untuk membentuk informasi baru. Format data pada disk tidak bisa sewenang-wenang berubah setelah database telah dibuat. Melakukan hal tersebut akan memerlukan pembentukan struktur database baru.

Ide Codd untuk RDBMS menggunakan konsep matematika aljabar relasional untuk memecah data ke dalam set dan subset umum terkait.

Karena informasi yang secara alami dapat dikelompokkan ke dalam set yang berbeda, Dr Codd terorganisir sistem database-nya sekitar konsep ini. Berdasarkan model relasional, data dipisahkan menjadi set yang menyerupai struktur tabel. Struktur tabel ini terdiri dari unsur-unsur data individual yang disebut kolom atau field. Satu set tunggal dari kelompok bidang dikenal sebagai catatan atau baris. Sebagai contoh, untuk membuat sebuah database relasional yang terdiri dari data karyawan, Anda bisa mulai dengan tabel EMPLOYEE disebut yang berisi potongan-potongan informasi berikut: Nama, Umur, dan Pekerjaan. Ketiga bagian data yang membentuk bidang dalam tabel EMPLOYEE, ditunjukkan pada Tabel 1.1.

Tabel 1.1. Tabel EMPLOYEE.

Nama Usia Pekerjaan
Will Williams 25 Insinyur listrik
Dave Davidson 34 Kurator Museum
Jan Janis 42 Koki
Bill Jackson 19 Mahasiswa
Don DeMarco 32 Game programmer
Becky Boudreaux 25 Model

Keenam baris adalah catatan dalam tabel EMPLOYEE. Untuk mengambil catatan tertentu dari tabel ini, misalnya, Dave Davidson, pengguna akan memerintahkan sistem manajemen database untuk mengambil catatan di mana medan NAMA sama dengan Dave Davidson. Jika DBMS telah diinstruksikan untuk mengambil semua bidang dalam catatan, nama karyawan, usia, dan pekerjaan akan dikembalikan kepada pengguna. SQL adalah bahasa yang memberitahu database untuk mengambil data ini. Sebuah pernyataan SQL sampel yang membuat permintaan ini

  SELECT *
  DARI KARYAWAN

Ingat bahwa sintaks yang tepat tidak penting pada saat ini. Kami menutup topik ini dalam lebih banyak detail mulai besok.

Karena berbagai item data dapat dikelompokkan menurut hubungan jelas (seperti hubungan Nama Karyawan untuk Karyawan Umur), model database relasional database desainer memberikan banyak fleksibilitas untuk menggambarkan hubungan antara elemen data. Melalui konsep-konsep matematika dari bergabung dan serikat pekerja, database relasional dapat dengan cepat mengambil bagian data dari set yang berbeda (tabel) dan mengembalikan mereka ke pengguna atau program sebagai salah satu “bergabung dengan” pengumpulan data. (Lihat Gambar 1.2 fitur.) Yang ikut memungkinkan desainer untuk menyimpan set informasi dalam tabel terpisah untuk mengurangi pengulangan.

Gambar 1.2.
Join fitur.

Gambar 1.3 menunjukkan sebuah serikat pekerja. serikat pekerja itu akan menghasilkan data hanya umum untuk kedua sumber.

Gambar 1.3.
Fitur serikat.

Berikut adalah contoh sederhana yang menunjukkan bagaimana data dapat secara logis dibagi antara dua tabel. Tabel 1.2 disebut TANGGUNG JAWAB dan berisi dua bidang: NAMA dan TUGAS.

Tabel 1.2. Tabel TANGGUNG JAWAB.

Nama Tugas
Becky Boudreaux Senyum
Becky Boudreaux Berjalan
Bill Jackson Penelitian
Bill Jackson Wawancara pekerjaan

Ini akan menjadi tidak layak untuk menduplikasi karyawan dan bidang UMUR PEKERJAAN untuk setiap record. Seiring waktu yang tidak perlu duplikasi, data akan menghabiskan banyak ruang hard disk dan meningkatkan waktu akses untuk RDBMS. Namun, jika TUGAS NAMA dan disimpan dalam tabel terpisah bernama TANGGUNG JAWAB, pengguna bisa bergabung dengan TANGGUNG JAWABdan tabel KARYAWAN pada bidang NAMA. RDBMS menginstruksikan untuk mengambil semua kolom dari tabel KARYAWAN TANGGUNG JAWAB dan bidang NAMA mana sama Becky Boudreaux akan kembali Tabel 1.3.

Tabel 1.3. Kembali nilai dari pengambilan di mana NAMA sama dengan Becky Boudreaux.

Nama Usia Pekerjaan Tugas
Becky Boudreaux 25 Model Senyum
Becky Boudreaux 25 Model Berjalan

contoh yang lebih rinci bergabung dimulai pada Hari ke-6, “Bergabung dengan Tabel.”

Merancang Struktur Database

Yang penting keputusan paling untuk seorang desainer database, setelah platform perangkat keras dan RDBMS telah dipilih, adalah struktur dari tabel. Keputusan dibuat pada tahap desain dapat mempengaruhi kinerja dan program kemudian selama proses pembangunan. Proses memisahkan data ke dalam, yang unik adalah set disebut normalisasi berbeda.

Hari Database Lansekap

Komputasi teknologi telah membuat perubahan permanen dalam cara kerja bisnis di seluruh dunia. Informasi yang disimpan pada suatu waktu dalam gudang penuh lemari arsip kini dapat diakses cepat di klik tombol mouse. Pesanan yang ditempatkan oleh nasabah di negara-negara asing sekarang dapat langsung diproses pada lantai fasilitas manufaktur. Meskipun 20 tahun lalu banyak informasi ini telah diangkut ke mainframe database perusahaan, kantor masih beroperasi dalam lingkungan-pengolahan batch. Jika query yang perlu dilakukan, seseorang memberitahu sistem informasi manajemen (MIS) departemen, data yang diminta disampaikan secepat mungkin (walaupun sering tidak cukup cepat).

Selain perkembangan model database relasional, dua teknologi menyebabkan pertumbuhan yang cepat dari apa yang sekarang disebut database client server sistem /. Teknologi penting pertama adalah komputer pribadi. Murah, mudah digunakan aplikasi seperti Lotus 1-2-3 dan Word Perfect memungkinkan karyawan (dan rumah pengguna komputer) untuk membuat dokumen dan mengelola data dengan cepat dan akurat. Pengguna menjadi terbiasa untuk terus-menerus meningkatkan mutu sistem karena laju perubahan begitu cepat, bahkan sebagai harga dari sistem yang lebih canggih terus menurun.

Teknologi penting kedua adalah jaringan area lokal (LAN) dan integrasinya ke kantor-kantor di seluruh dunia. Meskipun pengguna sudah terbiasa dengan koneksi terminal ke mainframe korporasi, sekarang kata pemrosesan file dapat disimpan secara lokal dalam sebuah kantor dan diakses dari komputer manapun yang terpasang ke jaringan. Setelah Apple Macintosh memperkenalkan antarmuka pengguna grafis yang ramah, komputer tidak hanya murah dan kuat tetapi juga mudah digunakan. Selain itu, mereka dapat diakses dari situs remote, dan sejumlah besar data bisa off-load ke server data departemen.

Selama masa perubahan cepat dan kemajuan, tipe baru sistem aplikasi Dipanggil muncul. Klien / server pembangunan karena pengolahan dibagi antara komputer klien dan database server, baru berkembang biak ini hanyalah perubahan radikal dari aplikasi pemrograman berbasis-mainframe. Di antara banyak keuntungan dari jenis arsitektur

  • Mengurangi biaya pemeliharaan
  • Mengurangi beban jaringan (pengolahan terjadi pada server database atau komputer klien)
  • Beberapa sistem operasi yang dapat interoperate selama mereka berbagi protokol jaringan yang umum
  • Peningkatan integritas data karena data lokasi terpusat

Dalam Melaksanakan Client / Server Computing, Bernard H. Boar mendefinisikan klien / server komputasi sebagai berikut:

Klien / server komputasi model pengolahan di mana aplikasi tunggal dibagi antara beberapa prosesor (front-end dan back-end) dan prosesor bekerja sama (transparan kepada pengguna akhir) untuk menyelesaikan proses sebagai satu kesatuan tugas. Pelaksanaan Client / Server Seorang klien Komputasi / server ikatan hubungan produk prosesor sama untuk menyediakan gambar sistem tunggal (ilusi). sumber daya shareable diposisikan sebagai klien pemohon bahwa akses layanan dasar. Arsitektur ini terus-menerus rekursif, pada gilirannya, server dapat menjadi klien dan layanan permintaan server lain di jaringan, dan seterusnya dan seterusnya.

Jenis ini memerlukan pengembangan aplikasi baru yang sama sekali keterampilan pemrograman. User interface pemrograman sekarang ditulis untuk antarmuka pengguna grafis, apakah itu MS Windows, IBM OS / 2, Apple Macintosh, atau UNIX-sistem X Window. Menggunakan SQL dan koneksi jaringan, aplikasi dapat interface ke database yang berada pada remote server. Kekuatan meningkat dari perangkat keras komputer pribadi memungkinkan informasi database penting untuk disimpan pada server standalone relatif murah. Sebagai tambahan, server ini dapat diganti kemudian dengan sedikit atau tidak ada perubahan terhadap aplikasi klien.

Sebuah produk Bahasa Cross

Anda dapat menerapkan konsep-konsep dasar yang diperkenalkan dalam buku ini di banyak lingkungan – sebagai contoh, Microsoft Access berjalan pada aplikasi Windows pengguna-tunggal atau SQL Server berjalan dengan 100 koneksi pengguna. Salah satu manfaat terbesar SQL adalah bahwa hal itu benar-benar cross-platform dan bahasa-bahasa lintas produk. Karena juga apa pemrogram lihat sebagai tingkat-tinggi atau bahasa generasi keempat (4GL), sejumlah besar kerja dapat tingkat bahasa 4GL-donehigher (generasi keempat) Bahasa generasi keempat (4GL) bahasa di baris lebih sedikit kode.

Implementasi Awal

Oracle Corporation merilis RDBMS komersial pertama yang menggunakan SQL. Meskipun versi aslinya dikembangkan untuk VAX / sistem VMS, Oracle adalah salah satu vendor pertama untuk merilis versi DOS dari RDBMS nya. (Oracle sekarang tersedia di lebih dari 70 platform 1980-an.) Pada pertengahan yang-dirilis RDBMS Sybase, SQL Server. Dengan librari klien untuk mengakses database, dukungan untuk prosedur yang tersimpan (dibahas pada Hari 14, “Dynamic Penggunaan SQL”), dan interoperabilitas dengan berbagai jaringan, SQL Server menjadi produk yang sukses, khususnya di klien / server lingkungan. Salah satu poin terkuat untuk kedua sistem kuat theseSQL database Server skalabilitas mereka di seluruh platform. Kode bahasa C (dikombinasikan dengan SQL) ditulis untuk Oracle pada PC hampir identik dengan mitranya yang ditulis untuk Oracle database berjalan pada sistem VAX.

SQL dan Client / Server Application Development

Benang merah yang menjalankan seluruh klien / server pengembangan aplikasi adalah klien menggunakan / server komputasi dari SQL dan database relasional. Juga, menggunakan teknologi database dalam aplikasi bisnis single posisi pengguna aplikasi untuk pertumbuhan di masa depan.

Sebuah Tinjauan dari SQL

SQL adalah bahasa standar de facto yang digunakan untuk memanipulasi dan mengambil data dari database relasional. SQL memungkinkan seorang programmer atau database administrator untuk melakukan hal berikut:

  • Memodifikasi struktur database
  • Mengubah pengaturan keamanan sistem
  • Tambahkan akses user pada database atau tabel
  • Query database untuk informasi
  • Update isi database

CATATAN: Istilah SQL dapat membingungkan. S, untuk terstruktur, dan L, untuk Language, adalah cukup mudah, tetapi Q adalah sedikit menyesatkan,. Q tentu saja, singkatan dari “Query”, yang – jika diambil secara harfiah – akan membatasi Anda untuk meminta database pertanyaan. Tapi SQL tidak lebih dari mengajukan pertanyaan. Dengan SQL Anda juga dapat membuat tabel, menambah data, menghapus data, sambatan data bersama-sama, memicu tindakan berdasarkan perubahan ke database, dan menyimpan query Anda dalam program anda atau database.Sayangnya, tidak ada pengganti yang baik untuk Query. Jelas, Structured Tambahkan Ubah Hapus Gabung Store Trigger dan Query Language (SAMDJSTQL) agak sedikit rumit. Dalam kepentingan harmoni, kita akan tinggal dengan SQL. Bagaimanapun, Anda sekarang tahu bahwa fungsinya lebih besar dari nama.


Yang paling umum digunakan dalam pernyataan SQL adalah SELECT (lihat Hari 2, “Pengantar Permintaan: Pernyataan SELECT"),yang mengambil data dari database dan mengembalikan data ke pengguna. Contoh tabel EMPLOYEE menggambarkan satu contoh situasi SELECT. Di samping pernyataan SELECT, SQL menyediakan laporan untuk membuat database baru, tabel, field, dan indeks, serta laporan untuk menyisipkan dan menghapus catatan. ANSI SQL juga merekomendasikan kelompok inti fungsi manipulasi data. Ketika Anda akan tahu, sistem database banyak juga memiliki alat untuk memastikan integritas data dan menegakkan keamanan (lihat Hari 11, “Pengendalian Transaksi”) yang memungkinkan programmer untuk menghentikan pelaksanaan suatu kelompok perintah jika kondisi tertentu terjadi.

Implementasi SQL Populer

Bagian ini memperkenalkan beberapa implementasi yang lebih populer dari SQL, yang masing-masing memiliki kekuatan dan kelemahan. Dimana beberapa implementasi dari SQL telah dikembangkan untuk menggunakan PC dan interaktivitas pengguna mudah, yang lain telah dikembangkan untuk mengakomodasi database yang sangat besar (VLDB). Bagian ini memperkenalkan fitur kunci yang dipilih dari beberapa implementasi.


CATATAN: Selain melayani sebagai referensi SQL, buku ini juga berisi contoh pengembangan perangkat lunak praktis adalah. SQL berguna hanya ketika dunia Anda memecahkan masalah nyata, yang terjadi dalam kode Anda.


Microsoft Access

Kami menggunakan Microsoft Access, sebuah PC berbasis DBMS, untuk menggambarkan beberapa contoh dalam teks ini. Akses sangat mudah digunakan. Anda dapat menggunakan alat manual memasukkan GUI atau pernyataan SQL Anda.

Pribadi Oracle7

Kami menggunakan Oracle7 pribadi, yang merupakan database dunia usaha yang lebih besar, untuk menunjukkan baris perintah SQL dan teknik manajemen database. (Teknik ini penting karena hari mesin mandiri yang mendekati akhir, seperti hari-hari ketika mengetahui salah satu database atau satu sistem operasi sudah cukup sesuai.) Dalam perintah-REI, berdiri sederhana + [Cedilla] satu SQL dimasukkan ke dalam Oracle SQL * Plus alat. Alat ini kemudian kembali data ke layar bagi pengguna untuk melihat, atau melakukan tindakan yang sesuai di database.

Kebanyakan contoh diarahkan programmer awal atau yang pertama kali SQL pengguna. Kita mulai dengan pernyataan SQL sederhana dan maju ke topik manajemen transaksi dan prosedur yang tersimpan pemrograman. RDBMS Oracle didistribusikan dengan lengkap alat pembangunan. Ini termasuk C + + dan Visual Basic perpustakaan bahasa (Oracle Objek untuk OLE) yang dapat menghubungkan aplikasi ke database Oracle pribadi. Hal ini juga dilengkapi dengan alat-alat grafis untuk database, pengguna, dan administrasi objek, serta SQL * Loader utilitas, yang digunakan untuk impor dan ekspor data ke dan dari Oracle.


CATATAN: Pribadi Oracle7 adalah versi skala bawah dari produk-Oracle7 server penuh sesak nafas. Pribadi Oracle7 hanya membolehkan pengguna koneksi tunggal (seperti namanya).Namun, sintaks SQL yang digunakan pada produk ini adalah identik dengan yang digunakan pada lebih besar, versi yang lebih mahal dari Oracle. Selain itu, peralatan yang digunakan dalam pribadi Oracle7 memiliki banyak kesamaan dengan produk Oracle7.


Kami memilih Oracle7 RDBMS pribadi karena beberapa alasan:

  • Ini mencakup hampir semua peralatan yang diperlukan untuk menunjukkan topik yang dibahas dalam buku ini.
  • Ini tersedia di hampir semua platform yang digunakan saat ini dan merupakan salah satu produk RDBMS yang paling populer di seluruh dunia.
  • Suatu hari sidang salinan-90 dapat didownload dari Oracle Corporation World Wide Web server ( http://www.oracle.com ).

Gambar 1.4 menunjukkan SQL * Plus dari suite ini alat.

Gambar 1.4.
Oracle SQL * Plus.


TIP: Perlu diingat bahwa hampir semua kode SQL yang diberikan dalam buku ini adalah portabel untuk sistem manajemen basis data lainnya. Dalam kasus-kasus dimana sintaks sangat berbeda antara “vendor produk yang berbeda, contoh diberikan untuk menggambarkan perbedaan-perbedaan ini.


Microsoft Query

Microsoft Query (lihat Gambar 1.5) adalah alat permintaan bermanfaat yang dikemas bersama dengan Windows pembangunan alat Microsoft, Visual C + +, dan Visual Basic. Ia menggunakan standar ODBC untuk berkomunikasi dengan database yang mendasarinya. Microsoft Query lewat pernyataan SQL ke sopir, yang memproses laporan sebelum melewati mereka ke sistem database.

Gambar 1.5.
Microsoft Query.

Open Database Connectivity (ODBC)

ODBC adalah library fungsional yang dirancang untuk menyediakan umum Application Programming Interface (API) untuk sistem database. Ini berkomunikasi dengan database melalui driver perpustakaan, seperti Windows berkomunikasi dengan printer melalui driver printer. Tergantung pada database yang digunakan, driver jaringan mungkin diperlukan untuk menyambung ke basis data jauh. Arsitektur ODBC diilustrasikan pada Gambar 1.6.

Gambar 1.6.
Struktur ODBC.

Fitur unik ODBC (dibandingkan dengan Oracle atau Sybase perpustakaan) adalah bahwa tidak ada fungsi yang database-vendor tertentu. Misalnya, Anda dapat menggunakan kode yang sama untuk melakukan query terhadap sebuah tabel Microsoft Access atau database Informix dengan atau tanpa modifikasi sedikit. Sekali lagi, perlu dicatat bahwa sebagian besar vendor proprietary menambahkan beberapa ekstensi untuk standar SQL, seperti Microsoft dan Sybase’s Transact-SQL dan Oracle PL / SQL.

Anda harus selalu berkonsultasi di dokumentasi sebelum mulai bekerja dengan sumber data baru. ODBC telah berkembang menjadi standar diadopsi ke dalam berbagai produk, termasuk Visual Basic, Visual C + +, FoxPro, Borland Delphi, dan PowerBuilder. Seperti biasa, pengembang aplikasi perlu mempertimbangkan manfaat menggunakan standar ODBC muncul, yang memungkinkan Anda untuk merancang kode tanpa mempedulikan database tertentu, dibandingkan dengan kecepatan yang diperoleh dengan menggunakan fungsi library database tertentu. Dengan kata lain, menggunakan ODBC akan lebih portabel tetapi lebih lambat daripada menggunakan Oracle7 atau perpustakaan Sybase.

SQL pada Pemrograman Aplikasi

SQL pada awalnya membuat standar ANSI pada tahun 1986. 1989 ANSI standar (sering disebut SQL-89) mendefinisikan tiga jenis antarmuka dengan SQL dalam program aplikasi:

  • Modul Bahasa – Menggunakan prosedur dalam program. Prosedur-prosedur ini dapat dipanggil oleh program aplikasi dan dapat kembali nilai-nilai ke program melalui parameter yang lewat.
  • Embedded SQL – Menggunakan SQL tertanam dengan kode program sebenarnya. Metode ini sering memerlukan penggunaan precompiler untuk proses statemen SQL. Standar ini mendefinisikan laporan untuk Pascal, FORTRAN, COBOL, dan PL / 1.
  • Langsung Doa – Waktu sampai dengan pelaksana tersebut.

Sebelum konsep dari SQL dinamis berkembang, embedded SQL adalah cara yang paling populer menggunakan SQL dalam sebuah program. Embedded SQL, yang masih digunakan, menggunakan SQL statis – yang berarti bahwa pernyataan SQL dikompilasi ke dalam aplikasi dan tidak dapat diubah pada saat runtime. Prinsipnya adalah sama seperti sebuah kompiler versus penerjemah. Kinerja untuk jenis SQL adalah baik, namun tidak fleksibel – dan tidak dapat selalu memenuhi kebutuhan perubahan lingkungan usaha yang saat ini. Dynamic SQL dibahas segera.

1992 ANSI standar (SQL-92) diperpanjang bahasa dan menjadi standar internasional. Ini mendefinisikan tiga tingkat kepatuhan SQL: Catatan, menengah, dan penuh. Fitur-fitur baru yang diperkenalkan adalah sebagai berikut:

  • Koneksi ke database
  • Digulir cursors
  • Dynamic SQL
  • Luar bergabung

Buku ini tidak hanya mencakup semua ekstensi tetapi juga beberapa ekstensi eksklusif digunakan oleh vendor RDBMS. Dynamic SQL memungkinkan Anda untuk menyiapkan pernyataan SQL pada saat runtime fleksibilitas. Meskipun kinerja untuk jenis SQL tidak sebagus yang tertanam dari SQL, ia menyediakan aplikasi pengembang (dan user) dengan tingkat besar. A-level panggilan antarmuka, seperti ODBC atau Sybase’s DB-Library, adalah contoh dari SQL dinamis.

Panggil tingkat antarmuka seharusnya tidak menjadi konsep baru untuk pemrogram aplikasi. Bila menggunakan ODBC, misalnya, Anda cukup mengisi variabel dengan statemen SQL Anda dan memanggil fungsi untuk mengirimkan pernyataan SQL ke database. Kesalahan atau hasilnya dapat kembali ke program ini melalui penggunaan fungsi panggilan lain yang dirancang untuk tujuan itu. Hasil dikembalikan melalui proses yang dikenal sebagai pengikatan variabel.

Ringkasan

Hari 1 meliputi beberapa sejarah dan struktur di belakang SQL. Karena SQL dan database relasional sangat erat terkait, Hari 1 juga mencakup (meskipun singkat) sejarah dan fungsi dari database relasional. Besok dikhususkan untuk komponen yang paling penting dari SQL: query.

Sumber ; http://www.webbasedprogramming.com

Iklan