sql part 1

26
SQL Part 1

Upload: kelsie-kidd

Post on 03-Jan-2016

65 views

Category:

Documents


4 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SQL Part 1

SQLPart 1

Page 2: SQL Part 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)}

Page 3: SQL Part 1

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.

Page 4: SQL Part 1

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.

Page 5: SQL Part 1

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.

Page 6: SQL Part 1

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.

Page 7: SQL Part 1

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.

Page 8: SQL Part 1

8

LATAR BELAKANG

Bahasa SQL mempunyai beberapa bagian yaitu:

Embedded DMLBentuk embedded SQL biasanya terdapat

dalam bahasa pemrograman multi guna seperti PL/I, Cobol , Pascal dan Fortran.

Page 9: SQL Part 1

9

LATAR BELAKANG

Bahasa SQL mempunyai beberapa bagian yaitu:

View Definition

DDL SQL memasukkan perintah untuk mendefinisikan view.

Page 10: SQL Part 1

10

LATAR BELAKANG

Bahasa SQL mempunyai beberapa bagian yaitu:

Authorization

DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.

Page 11: SQL Part 1

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.

Page 12: SQL Part 1

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.

Page 13: SQL Part 1

13

STRUKTUR DASAR

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

Page 14: SQL Part 1

14

Select

Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional.

Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu query.

Page 15: SQL Part 1

15

From

Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional.

Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.

Page 16: SQL Part 1

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.

Page 17: SQL Part 1

17

query SQL

Sebuah query SQL biasanya mempunyai bentuk :

Select A1,A2,…..AnFrom r1,r2,….rnWhere P

Page 18: SQL Part 1

18

Klausa Select

Contoh : “ 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.

Page 19: SQL Part 1

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.

Page 20: SQL Part 1

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.

Page 21: SQL Part 1

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

Page 22: SQL Part 1

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

Page 23: SQL Part 1

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.

Page 24: SQL Part 1

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.

Page 25: SQL Part 1

25

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

Page 26: SQL Part 1

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