1 / 26

SQL Part 1

SQL Part 1. Review Pertemuan Ke-VIII. Tuple relational calculus adalah query yang non-prosedural. Tuple relational calculus menggambarkan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut.

kelsie-kidd
Download Presentation

SQL Part 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQLPart 1

  2. Review Pertemuan Ke-VIII • Tuple 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)}

  3. Pendahuluan • 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.

  4. Pendahuluan • Meskipun 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.

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

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

  7. LATAR BELAKANG • Bahasa 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.

  8. LATAR BELAKANG • Bahasa SQL mempunyai beberapa bagian yaitu: • Embedded DML • Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti PL/I, Cobol , Pascal dan Fortran.

  9. LATAR BELAKANG • Bahasa SQL mempunyai beberapa bagian yaitu: • View Definition DDL SQL memasukkan perintah untuk mendefinisikan view.

  10. LATAR BELAKANG • Bahasa SQL mempunyai beberapa bagian yaitu: • Authorization DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.

  11. LATAR BELAKANG • Bahasa SQL mempunyai beberapa bagian yaitu: • Integrity DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi oleh data yang tersimpan dalam basis data.

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

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

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

  15. From • Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional. • Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.

  16. Where • Klausa 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.

  17. query SQL • Sebuah query SQL biasanya mempunyai bentuk : • Select A1,A2,…..An • From r1,r2,….rn • Where P

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

  19. Klausa Select • Bahasa 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.

  20. Klausa Select • Oleh 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.

  21. Klausa Select • Untuk 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

  22. Klausa Select • Klausa 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

  23. Klausa Select • Akan 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.

  24. 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.

  25. SOAL LATIHAN 1.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 SQL • Find 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.

  26. REFERENSI • Referensi 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

More Related