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

Slides:



Advertisements
Presentasi serupa
Aljabar Relasional Materi pertemuan.
Advertisements

Basis data - day 8 Rachmat wahyu pramono Dosen Pembimbing: Rengga Asmara, S. Kom, OCA Politeknik Elektronika Negeri Surabaya Departemen Teknik.
SQL – DML.
ALJABAR RELATIONAL Materi Pertemuan 22,23 dan 24.
SQL (Structured Query Language)
BAHASA QUERY TERAPAN Sub Materi : Structured Query Language
Bahasa Pada Model Data Relasional
ALJABAR RELASIONAL (RELATIONAL ALGEBRA)
ALJABAR RELASIONAL Mata Kuliah : Database 1 Dosen : Tessy Badriyah.
Bahasa Query Formal Aljabar Relasional.
Pertemuan Minggu Ke-4 Bahasa Query Formal.
Model & Aljabar Relasional
Aljabar Relasional.
Aljabar Relasional Materi pertemuan.
Aljabar Relasional.
Aljabar Relasional Materi pertemuan 21.
PERTEMUAN 13 Sistem Basis Data Presented by :
4.10 Relasi n-ary Relasi n-ary adalah relasi yang menghubungkan
Oleh: Henry Primandari,S.Kom STMIK-MDP Palembang
Sesi V Aljabar & Kalkulus Relasional
QUERY Antar Tabel Basis Data.
SQL (Structured Query Language) Materi Pertemuan
Aljabar Relasional.
Pertemuan 9 BAHASA QUERY FORMAL.
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
SQL (Structured Query Language)
ALJABAR RELATIONAL.
ALJABAR DAN KALKULUS RELASIONAL
ALJABAR DAN KALKULUS RELASIONAL
SQL (Structured Query Language)
STRUCTURED QUERY LANGUAGE (SQL)
Aljabar Relasional Materi pertemuan.
SQL (Structured Query Language)
Pertemuan Ke-6 Aljabar Relasional
DataBaseManagementSystem
bahasa Query basis data bab 8
Aljabar Relasional (Relational Algebra)
ALJABAR RELASIONAL
Daniel Damaris Novarianto S. UNIV. GUNADARMA
Operasi Relasional Basis Data
ALJABAR RELASIONAL BASIS DATA I/2009-GENAP
SQL (Structured Query Language)
Harsiti, ST Fakultas Teknologi Informasi Universitas Serang Raya 2009
ALJABAR RELASIONAL dan QUERY
SQL (Structured Query Language)
ALJABAR RELASIONAL DAN KALKULUS RELASIONAL
Aljabar Relational (Relational Algebra) MEETING 6
Sistem Basis Data Konsep Database Relasional
Model Relational DATABASE
SQL (Structured Query Language)
Struktur Query Language
SQL (2) (Structure Query Language)
Presented by Team Basis Data
BASIS DATA Relasi Aljabar (1) 1.
Operasi Relasional Basis Data
Aljabar Dan Kalkulus Relasional
Aljabar Relasional.
SQL Part 1.
Pertemuan ke-11 Bahasa Query Formal.
BAHASA KUERI.
Aljabar Relational (Relational Algebra) MEETING 6
Aljabar Relational.
MODEL DATA RELASIONAL (1)
Aljabar Relasional (Relational Algebra)
Basis Data - Udinus Semarang
Relasi Basis Data Universitas Telkom
Basis Data Bahasa Kueri Basis Data
Model dan Aljabar Relasional
ALJABAR RELASIONAL (LANJUTAN)
Basis Data Bahasa Kueri Basis Data
Transcript presentasi:

Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom Basis Data mulyono@dosen.dinus.ac.id

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri 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. Basis Data mulyono@dosen.dinus.ac.id 2

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Bahasa Kueri adalah bahasa yang digunakan mencari informasi dari suatu database (baris data). Bahasa Kueri terbagi menjadi 2 (dua) kategori, yaitu : 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) Basis Data mulyono@dosen.dinus.ac.id 3

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 4

Basis Data mulyono@dosen.dinus.ac.id 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. Basis Data mulyono@dosen.dinus.ac.id 5

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

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 7

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Contoh operasi Union Consultant1  Consultant2 Consultant1 Consultant2 cid cname C001 James C002 Schole C004 Muller cid cname C001 James C003 Brown C004 Muller C005 Murphy cid cname C001 James C002 Schole C003 Brown C004 Muller C005 Murphy Basis Data mulyono@dosen.dinus.ac.id 8

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 9

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Contoh operasi Intersect Consultant1 Consultant2 Consultant1 Consultant2 cid cname C001 James C002 Schole C004 Muller cid cname C001 James C003 Brown C004 Muller C005 Murphy cid cname C001 James C004 Muller Basis Data mulyono@dosen.dinus.ac.id 10

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 11

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Contoh Difference (MINUS) Consultant1 Consultant2 Consultant2 – Consultant1 cid cname C001 James C002 Schole C004 Muller cid cname C001 James C003 Brown C004 Muller C005 Murphy cid cname C003 Brown C005 Murphy Basis Data mulyono@dosen.dinus.ac.id 12

Basis Data mulyono@dosen.dinus.ac.id 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. Basis Data mulyono@dosen.dinus.ac.id 13

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 14

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Contoh Cartesian Product ( X/TIMES) Students Consultant Students  Consultant sid name age gpa 53666 Jones 18 3.4 53668 Smith 3.2 53650 19 2.8 cid cname C001 James C002 Schole sid name age gpa cid cname 53666 Jones 18 3.4 C001 James C002 Schole 53668 Smith 3.2 53650 19 2.8 Basis Data mulyono@dosen.dinus.ac.id 15

Basis Data mulyono@dosen.dinus.ac.id 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. Basis Data mulyono@dosen.dinus.ac.id 16

Basis Data mulyono@dosen.dinus.ac.id 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 : >, <, , , =,  Basis Data mulyono@dosen.dinus.ac.id 17

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Contoh Select () Operation Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Tentukan tupel pada Students, yang namenya = Smith Tentukan tupel pada Students, yang agenya 18 dan gpa > 3.0 name=“Smith”(Students) age18 gpa>3.0(Students) Students Students sid name login age gpa 53668 Smith smith@eecs 18 3.2 53650 smith@math 19 2.8 sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 Basis Data mulyono@dosen.dinus.ac.id 18

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

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 20

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Contoh Project () Operation Students name(Students) name Jones Smith sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Tampilkan kolom name pada relasi Students name,age(Students) name age Jones 18 Smith 19 Tampilkan kolom name dan age pada relasi Students Basis Data mulyono@dosen.dinus.ac.id 21

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Operasi Majemuk Students age18 gpa>3.0(Students) sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 sid, name(age18 gpa>3.0(Students)) Students sid name 53666 Jones 53668 Smith Basis Data mulyono@dosen.dinus.ac.id 22

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Operasi Majemuk Students Consultant sid name age gpa 53666 Jones 18 3.4 53668 Smith 3.2 cid cname stat Stcon C001 James C1 53666 C002 Schole 53668 C003 Brown C2 C005 Murphy Ket : C1 = Konsultan Utama C2 = Asisten Konsultan Siapakah nama konsultan dari siswa yang bernama “Jones” ? Basis Data mulyono@dosen.dinus.ac.id 23

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Operasi Majemuk Step-1 Students  Consultant sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 C002 Schole 53668 C003 Brown C2 C005 Murphy Smith 3.2 Students sid name gpa 53666 Jones 3.4 53668 Smith 3.2 Consultant cid cname stat Stcon C001 James C1 53666 C002 Schole 53668 C003 Brown C2 C005 Murphy 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 Basis Data mulyono@dosen.dinus.ac.id 24

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Aljabar Relasi Operasi Majemuk Step-2 Dari hasil tsb., untuk mendapatkan konsultan dari siswa bernama “Jones”, digunakan operasi Select. name=“Jones”(Student  Consultant), hasilnya adalah : sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 C002 Schole 53668 C003 Brown C2 C005 Murphy 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 : sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 C003 Brown C2 Basis Data mulyono@dosen.dinus.ac.id 25

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 26

Basis Data mulyono@dosen.dinus.ac.id 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 Basis Data mulyono@dosen.dinus.ac.id 27

Basis Data mulyono@dosen.dinus.ac.id 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). Basis Data mulyono@dosen.dinus.ac.id 28

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Structure Query Language Clause Select dan Clause From Tampilkan kolom name pada relasi Students Students name Jones Smith sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Select name From Students Tampilkan kolom name dan age pada relasi Students name age Jones 18 Smith 19 Select name, age From Students Basis Data mulyono@dosen.dinus.ac.id 29

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Structure Query Language Students Clause where sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 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 Select * From Students Where name = “Smith” Students Students sid name login age gpa 53668 Smith smith@eecs 18 3.2 53650 smith@math 19 2.8 sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 Basis Data mulyono@dosen.dinus.ac.id 30

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Latihan dan Soal R1 Diberikan 3 tabel dibawah ini : PELANGGAN No_Rek No_Plg 01-1349 00-3038 01-2584 01-3926 01-1429 00-3047 LC-001-2 LC-002-1 LC-003-1 LC-004-2 No_Plg Nama Jalan Kota LC-001-2 LC-002-1 LC-003-1 LC-004-2 Farid Hartono Donny Edy Jl. Durian 5 Jl. H. Juanda 8 Jl. Pemuda 12 Jl. Dago 125 Semarang Bandung Bogor REKENING No_Rek Tarif Daya Total Bayar 01-1349 01-1429 00-3038 00-3047 01-2584 01-3926 RT2 RT1 450VA 1300VA 900VA 31.000 150.000 75.030 48.620 115.325 90.725 Basis Data mulyono@dosen.dinus.ac.id 31

Basis Data mulyono@dosen.dinus.ac.id Bahasa Kueri Latihan dan Soal 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 > 100.000 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 Basis Data mulyono@dosen.dinus.ac.id 32