Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Basis Data Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom.

Presentasi serupa


Presentasi berjudul: "Basis Data Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom."— Transcript presentasi:

1 Basis Data Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom

2 Basis Data Tujuan Intruksional Khusus : Setelah mempelajari bagian ini, Mahasiswa mampu memahami dan melakukan operasi- operasi manipulasi terhadap model basis data relasional menggunakan sintak-sintak operasi aljabar relasi dan bahasa query SQL. 2 Bahasa Kueri

3 Basis Data 3 Bahasa Kueri Bahasa Kueri Bahasa Kueri adalah bahasa yang digunakan mencari informasi dari suatu database (baris data). Bahasa Kueri terbagi menjadi 2 (dua) kategori, yaitu : 1.Bahasa Kueri dengan Prosedur (Procedural Query Language) : user memberikan instruksi ke sistem untuk melakukan operasi pada database. Selain harus tahu data apa yang dibutuhkan, user juga harus tahu bagaimana data tersebut diperolehnya. Contoh : Aljabar Relasi (Relational Algebra) SQL (Structure Query Language)

4 Basis Data 4 Bahasa Kueri Bahasa Kueri 2. Bahasa Kueri tanpa Prosedur (Non- Procedural Query Language) : user secara khusus memberikan data apa yang dibutuhkan tanpa harus tahu bagaimana cara mendapatkannya. Contoh : QBE (Query By Example) Kalkulus relasi

5 Basis Data 5 Bahasa Kueri Bahasa Kueri Aljabar Relasi  Operasi aljabar terdiri dari himpunan operator level tinggi yang dioperasikan pada suatu relasi.  Setiap operator menggunakan satu atau dua relasi sebagai input dan menghasilkan relasi baru sebagai output.

6 Basis Data 6 Bahasa Kueri Bahasa Kueri Aljabar Relasi Codd mendefinisikan operator relasi terdiri dari delapan operator, dimana dibagi menjadi dua kelompok sebagai berikut : 1.Operasi tradisional, terdiri dari Union, Intersection, Difference, dan Cartesian Product. 2.operasi relasional khusus, terdiri dari Selection, Projection, Join, dan Devide.

7 Basis Data 7 Bahasa Kueri Bahasa Kueri Aljabar Relasi 1. Union ( ) A B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya. Hasil relasi baru adalah bagian yang diberi warna

8 Basis Data 8 Bahasa Kueri Bahasa Kueri Aljabar Relasi Contoh operasi Union Consultant1 cidcname C001James C002Schole C004Muller Consultant2 cidcname C001James C003Brown C004Muller C005Murphy Consultant1  Consultant2 cidcname C001James C002Schole C003Brown C004Muller C005Murphy

9 Basis Data 9 Bahasa Kueri Bahasa Kueri Aljabar Relasi 2. Intersect ( ) A B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A dan B. Hasil relasi baru adalah bagian yang diberi warna

10 Basis Data 10 Bahasa Kueri Bahasa Kueri Aljabar Relasi Contoh operasi Intersect Consultant1 cidcname C001James C002Schole C004Muller Consultant2 cidcname C001James C003Brown C004Muller C005Murphy Consultant1 Consultant2 cidcname C001James C004Muller

11 Basis Data 11 Bahasa Kueri Bahasa Kueri Aljabar Relasi 3. Difference (MINUS) A MINUS B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua tuples yang terdapat pada A, tetapi tidak terdapat pada B. Hasil relasi baru A – B adalah bagian yang ber warna putih

12 Basis Data 12 Bahasa Kueri Bahasa Kueri Aljabar Relasi Contoh Difference (MINUS) Consultant1 cidcname C001James C002Schole C004Muller Consultant2 cidcname C001James C003Brown C004Muller C005Murphy Consultant2 – Consultant1 cidcname C003Brown C005Murphy

13 Basis Data 13 Bahasa Kueri Bahasa Kueri Aljabar Relasi 4. Cartesian Product ( X/TIMES) A TIMES B adalah relasi yang terdiri dari semua himpunan tuples untuk setiap elemen relasi pada A dikombinasikan dengan semua elemen pada relasi B.

14 Basis Data 14 Bahasa Kueri Bahasa Kueri Aljabar Relasi Cartesian Product ( X/TIMES)  Cartesian Product relasi R1 dan R2, ditulis R1  R2, adalah relasi yang beranggotakan semua tupel (r1, r2) yang mungkin, dimana r1  R1 dan r2 R2  disebut kombinasi dari R1 dan R2  Notasi : R1  R2 = {(r1,r2)| r1  R1, r2 R2}  Jika R1 mempunyai n1 tupel dan R2 mempunyai n2 tupel maka R1  R2 mempunyai (n1.n2) tupel

15 Basis Data 15 Bahasa Kueri Bahasa Kueri Aljabar Relasi Contoh Cartesian Product ( X/TIMES) Students sidnameagegpa 53666Jones Smith Smith192.8 Consultant cidcname C001James C002Schole Students  Consultant sidnameagegpacidcname 53666Jones183.4C001James 53666Jones183.4C002Schole 53668Smith183.2C001James 53668Smith183.2C002Schole 53650Smith192.8C001James 53650Smith192.8C002Schole

16 Basis Data 16 Bahasa Kueri Bahasa Kueri Aljabar Relasi 5. Select () Operation adalah ekstraksi terhadap suatu tuples (baris) pada suatu relasi yang memenuhi kondisi tertentu. Kondisi untuk relasi, direpresentasikan menggunakan klausa WHERE dan dapat dikombinasikan dengan operator logika dan/atau matematika.

17 Basis Data 17 Bahasa Kueri Bahasa Kueri Aljabar Relasi Select () Operation  Melakukan seleksi terhadap tuple yang memenuhi predikat (persyaratan / kriteria) yang diinginkan.  Notasi :  p (R) ; p = selection predicate ; R = relasi  Definisi :  p (R) = {t | t  R dan p(t)}  Predikat dapat bersifat logika, operator : V (atau), Λ (dan) atau  (not).  Juga dapat bersifat pembanding, operator : >, <, , , =, 

18 Basis Data 18 Bahasa Kueri Bahasa Kueri Aljabar Relasi Contoh Select () Operation Students  name=“Smith” (Students) sidnameloginagegpa Students sidnameloginagegpa  age18 gpa>3.0 (Students) Students sidnameloginagegpa Tentukan tupel pada Students, yang namenya = Smith Tentukan tupel pada Students, yang agenya 18 dan gpa > 3.0

19 Basis Data 19 Bahasa Kueri Bahasa Kueri Aljabar Relasi 6. Project () Operation adalah ekstraksi terhadap suatu atribut (kolom) pada suatu relasi yang memenuhi kondisi tertentu.

20 Basis Data 20 Bahasa Kueri Bahasa Kueri Aljabar Relasi 6. Project () Operation  Project operation : memilih kolom/field/atribut tertentu dari relasi  Notasi :  K (R) ; K = 1 atau lebih kolom yang dipilih ; R = relasi  Definisi :  K (R) = {t[K] | t  R}  Jika ada tupel yang nilainya sama, diambil hanya satu tupel

21 Basis Data 21 Bahasa Kueri Bahasa Kueri Aljabar Relasi Contoh Project () Operation Students sidnameloginagegpa  name (Students) name Jones Smith  name,age (Students) nameage Jones18 Smith18 Smith19 Tampilkan kolom name pada relasi Students Tampilkan kolom name dan age pada relasi Students

22 Basis Data 22 Bahasa Kueri Bahasa Kueri Aljabar Relasi Operasi Majemuk Students sidnameloginagegpa  age18 gpa>3.0 (Students) Students sidnameloginagegpa  sid, name (  age18 gpa>3.0 (Students)) Students sidname 53666Jones 53668Smith

23 Basis Data 23 Bahasa Kueri Bahasa Kueri Aljabar Relasi Operasi Majemuk Students sidnameagegpa 53666Jones Smith183.2 Consultant cidcnamestatStcon C001JamesC C002ScholeC C003BrownC C005MurphyC Siapakah nama konsultan dari siswa yang bernama “Jones” ? Ket : C1 = Konsultan Utama C2 = Asisten Konsultan

24 Basis Data 24 Bahasa Kueri Bahasa Kueri Aljabar RelasiOperasi Majemuk Students sidnamegpa 53666Jones Smith3.2 Consultant cidcnamestatStcon C001JamesC C002ScholeC C003BrownC C005MurphyC Students  Consultant sidnamegpacidcnamestatstcon 53666Jones3.4C001JamesC Jones3.4C002ScholeC Jones3.4C003BrownC Jones3.4C005 Murph yC Smith3.2C001JamesC Smith3.2C002ScholeC Smith3.2C003BrownC Smith3.2C005 Murph yC Untuk memperoleh informasi nama konsultan seorang siswa maka perlu dioperasikan Cartesian Product. Tapi relasi yang diperoleh masih belum menjawab pertanyaan karena belum jelas siapa yang membimbing Jones Step-1

25 Basis Data 25 Bahasa Kueri Bahasa Kueri Aljabar RelasiOperasi Majemuk Step-2 Dari hasil tsb., untuk mendapatkan konsultan dari siswa bernama “Jones”, digunakan operasi Select.  name=“Jones” (Student  Consultant), hasilnya adalah : sidnamegpacidcnamestatstcon 53666Jones3.4C001JamesC Jones3.4C002ScholeC Jones3.4C003BrownC Jones3.4C005 Murph yC Sampai disini juga masih belum dapat dipastikan siapa konsultan Jones, sebab seorang siswa hanya dibimbing oleh sebanya-banyaknya 2 konsultan, yaitu konsultan utama dan asisten konsultan. Untuk memastikannya, digunakan operator Select dengan kondisi sid = stcon  sid=stcon (  name=“Jones” (Student  Consultant)), hasilnya adalah : sidnamegpacidcnamestatstcon 53666Jones3.4C001JamesC Jones3.4C003BrownC253666

26 Basis Data 26 Bahasa Kueri Bahasa Kueri Aljabar Relasi Operasi Majemuk Step-3 Dari hasil tsb., untuk menampilkan hanya nama konsultan dari siswa bernama “Jones” adalah :  cname (  sid=stcon (  name=“Jones” (Student  Consultant))) cname James Brown

27 Basis Data 27 Bahasa Kueri Bahasa Kueri Structure Query Language Tiga clause yg menjadi dasar dari sebuah ekspresi SQL yaitu : 1.Select, digunakan untuk menetapkan daftar atribut (field) yang diinginkan sebagai hasil dari query. Clause ini berkoresponden dangan projection operation pada aljabar relasi 2. From, digunakan untuk menetapkan tabel (atau gabungan tabel) yang akan ditelusuri selama query data dilakukan. Clause ini berkorespondensi dengan cartesian product pada aljabar relasi 3. Where, sifatnya opsional, digunakan sebagai predikat (kriteria) yang harus dipenuhi dalam memperoleh hasil query. Clause ini berkorespondensi dengan selection predicate pada aljabar relasi

28 Basis Data 28 Bahasa Kueri Bahasa Kueri Structure Query Language Bentuk umum dari SQL query adalah select A1, A2,..., An from t1,t2,...,tm [ where P ] dimana : A1, A2, …, An merupakan daftar atribut. t1, t2, …, tm merupakan daftar tabel/relasi P merupakan predikat query. [ ] merupakan tanda opsional (boleh digunakan, boleh tidak digunakan).

29 Basis Data 29 Bahasa Kueri Bahasa Kueri Structure Query Language Students sidnameloginagegpa Select name From Students name Jones Smith Select name, age From Students nameage Jones18 Smith18 Smith19 Tampilkan kolom name pada relasi Students Tampilkan kolom name dan age pada relasi Students Clause Select dan Clause From

30 Basis Data 30 Bahasa Kueri Bahasa Kueri Structure Query Language Students Select * From Students Where name = “Smith” sidnameloginagegpa Students sidnameloginagegpa Students sidnameloginagegpa Tentukan tupel pada Students, yang namenya = Smith Tentukan tupel pada Students, yang agenya 18 dan gpa >=3.0 Select * From Students Where age>=18 and gpa>=3.0 Clause where

31 Basis Data 31 Bahasa Kueri Bahasa Kueri Latihan dan Soal Diberikan 3 tabel dibawah ini : PELANGGAN No_PlgNamaJalanKota LC LC LC LC Farid Hartono Donny Edy Jl. Durian 5 Jl. H. Juanda 8 Jl. Pemuda 12 Jl. Dago 125 Semarang Bandung Bogor Bandung REKENING No_RekTarifDayaTotal Bayar RT2 RT1 RT2 RT1 450VA 1300VA 900VA 1300VA 900VA R1 No_RekNo_Plg LC LC LC LC LC LC-004-2

32 Basis Data 32 Bahasa Kueri Bahasa Kueri Buatlah Aljabar Relasi dan SQL dari perintah dibawah ini : Cari seluruh pelanggan yang tinggal di luar kota Bandung Cari seluruh pelanggan yang tarifnya RT2 dan dayanya <=900VA Tampilkan nomer pelanggan yang total bayarnya > Tampilkan nama dan jalan pelanggan yang tarifnya RT1 Tampilkan nomer rekening dan total bayar yang dayanya 450 VA Tampilkan Nama Pelanggan dan kota yang tarifnya RT1 atau RT2 Tampilkan Nama Pelanggan, Jalan dan Kota yang tarifnya RT1 Latihan dan Soal


Download ppt "Basis Data Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom."

Presentasi serupa


Iklan oleh Google