9-sql-1etf

Embed Size (px)

DESCRIPTION

wtf

Citation preview

  • SQLPart 1

  • Review Pertemuan Ke-VIIITuple relational calculus adalah query yang non-prosedural. Tuple relational calculus menggambarkan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut.Sebuah query dalam tuple relational calculus ditulis :{t|P(t)}

  • PendahuluanSistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-friendly.Oleh karena itu dikenal SQL sebagai bahasa query yang marketable. SQL menggunakan kombinasi aljabar relasional & kalkulus relasional.

  • PendahuluanMeskipun SQL adalah bahasa query, namun SQL mempunyai banyak kemampuan lain disamping melakukan query terhadap basis data. SQL mempunyai kemampuan untuk mendefinisikan struktur data, modifikasi data dalam basis data dan menentukan konstrain sekuriti.

  • LATAR BELAKANGSQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi SQL.Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research Laboratory.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:Data Definition Language (DDL)DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat indeks dan modifikasi skema relasi.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:Interactive Data-Manipulation Language (DML)DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:Embedded DMLBentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti PL/I, Cobol , Pascal dan Fortran.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:View DefinitionDDL SQL memasukkan perintah untuk mendefinisikan view.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:AuthorizationDDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:IntegrityDDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi oleh data yang tersimpan dalam basis data.

  • LATAR BELAKANGBahasa SQL mempunyai beberapa bagian yaitu:Transaction controlSQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi.Beberapa implementasi juga memungkinkan locking data untuk concurrency control.

  • STRUKTUR DASARStruktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where.

  • SelectKlausa Select berhubungan dengan operasi proyeksi dari aljabar relasional.Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu query.

  • FromKlausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional.Operasi ini mencatat semua relasi yang discan dalam evaluasi suatu query.

  • WhereKlausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atribut-atribut dari relasi yang muncul dalam klausa from.

  • query SQLSebuah query SQL biasanya mempunyai bentuk :Select A1,A2,..AnFrom r1,r2,.rnWhere P

  • Klausa SelectContoh : Tentukan nama-nama dari semua cabang bank dalam relasi loan Query-nya :select branch-name from loanHasil dari query tersebut adalah sebuah relasi yang berisi sebuah atribut tunggal dengan nama branch-name.

  • Klausa SelectBahasa query formal bersifat matematis dimana relasi adalah sebuah himpunan sehingga tuple-tuple yang telah muncul tidak akan muncul lagi (tidak akan terjadi duplikasi tuple).Tapi dalam prakteknya untuk menghilangkan duplikasi tuple sangat memakan waktu.

  • Klausa SelectOleh karenanya SQL memungkinkan terjadinya duplikasi tersebut. Dari contoh di atas, maka query-nya akan mencatat setiap branch-name setiap kali branch-name tersebut ditemukan dalam relasi loan.

  • Klausa SelectUntuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka dapat disisipkan distinct setelah select. Query di atas ditulis ulang sebagai berikut :Select distinct branch-name from loan

  • Klausa SelectKlausa selest dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut :Select branch-name, loan-number, amount * 100 From loan

  • Klausa SelectAkan menghasilkan sebuah relasi yang sama dengan relasi loan, kecuali bahwa atribut amount dikalikan dengan 100. SQL-92 juga menyediakan tipe data spesial seperti tipe date, dan memungkinkan beberapa fungsi aritmatika untuk beroperasi pada tipe-tipe ini.

  • Summary

    Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-friendly.Oleh karena itu dikenal SQL sebagai bahasa query yang marketable. SQL menggunakan kombinasi aljabar relasional & kalkulus relasional.Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where.

  • SOAL LATIHAN1.Diketahui relasi berikut :Student(snum: integer, sname: string, major: string, level: string, age: integer)Class(name: string, meets at: time, room: string, d: integer)Enrolled(snum: integer, cname: string)Faculty(d: integer, fname: string, deptid: integer)Tuliskan query di bawah ini dalam SQLFind the age of the oldest student who is either a History major or is enrolled in a course taught by I. Teach.Find the names of all classes that either meet in room R128 or have ve or more students enrolled.Find the names of all students who are enrolled in two classes that meet at the same time.

  • REFERENSIReferensi Wajib:Raghu Ramakhrisnan, Johannes Gehrke , Database Management System 6th Edition, Mc Graw Hill,2006(chapter : 5)Referensi Tambahan/dianjurkan:David M.Kroenke, Database Concepts 4th Edition, Prentice Hall 2004