Basis Data. Bahasa Kueri. Basis Data.

dokumen-dokumen yang mirip
MAGISTER TEKNIK INFORMATIKA

MAGISTER TEKNIK INFORMATIKA

BAB I PENDAHULUAN. C. Tujuan Penulisan Tujuan penulisan makalah ini adalah:

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

BAB 4 ALJABAR RELASIONAL

Aljabar Relasional -2

Kontrak Kuliah. Aljabar Relasi. Edi Sugiarto, S.Kom, M.Kom

Model Relasional. Basis Data. Pengertian

Model dan Aljabar Relasional. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

BASIS DATA ALJABAR RELASIONAL (RELATIONAL ALGEBRA)

Aljabar Relasional. Lecturer: Mahendra Data, S.Kom

Aljabar Relasional (Relational Algebra) Teknik Informatika Basis Data (MMT-042)

Pertemuan 6 BAHASA QUERY FORMAL

Teknik Informatika, Fakultas Teknik, Universitas Brawijaya,

ALJABAR RELASIONAL BA S I S DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

PEMROSESAN QUERY. Alif Finandhita, S.Kom, M.T

LATAR BELAKANG IBM San Jose Research Laboratory.

ALJABAR RELASIONAL. Memperoleh tupel tupel dari suatu relasi yang memenuhi predikat tertentu. Tupel tupel hasil SELECT

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

PEMROSESAN QUERY. Alif Finandhita, S.Kom

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pertemuan 6 BAHASA QUERY FORMAL

IF Model Relasional

BAHASA QUERY FORMAL BAHASA QUERY FORMAL ALJABAR RELATIONAL

BASIS DATA I/2009-GENAP ALJABAR RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2009-GENAP 1

Modul 3 : Query Penggabungan Tabel

ESTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, M.Kom

MODEL RELASIONAL. Alif Finandhita, S.Kom

ALJABAR RELASIONAL (RELATIONAL ALGEBRA)

select, project dan rename unary, karena operasi-operasi Aljabar Relasional union, set difference dan

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

BAB 1 PENDAHULUAN. penting dan digunakan di hampir setiap area dari keseluruhan cabang ilmu

MENAMPILKAN DATA DARI BANYAK TABEL

BAHASA QUERI FORMAL. Prosedur - Aljabar Relasional Perangkat Lunak : MACAIMS. Tanpa Prosedur - Kalk.Relasional PL. : DATALOG Domain PL : QBE

BAHASA QUERI FORMAL. Prosedur - Aljabar Relasional Perangkat Lunak : MACAIMS PL: SQL. Bahasa Queri Formal. Tupel PL. : QUEL

SQL Data Definition Language (DDL)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Basis Data. Bagian IV SQL (1) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

PENDAHULUAN. Latar Belakang

MODUL 7 STRUCTURED QUERY LANGUAGE

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Adri Priadana ilkomadri.com. Relasi

2. Matrix, Relation and Function. Discrete Mathematics 1

OPTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

OPTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

BASIS DATA MODEL RELASIONAL

Model Relasional Basis Data

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 1 (MI) KODE / SKS KK / 2 SKS

dalam aljabar relasi kita menggunakan operasi-operasi dasar yang digunakan dalam memanipulasi database, berikut beberapa operasi dasarnya

IMPLEMENTASI INVERTED INDEX DENGAN SISTEM MANAJEMEN BASISDATA UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN

BAB I PENDAHULUAN : SISTEM BASIS DATA

B a s i s D a t a - 1 C H A P T E R. SQL - Basic. Copyright 2005 PENS-ITS

BAB 9 ALJABAR RELASIONAL DAN KALKULUS RELASIONAL

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

Optimasi Query. by: Ahmad Syauqi Ahsan

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

Konsep Model Relasional (1) MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL (Pert. 10) Notasi untuk Model Relasional. Konsep Model Relasional (2)

Mata Kuliah : Matematika Diskrit Program Studi : Teknik Informatika Minggu ke : 2

PERTEMUAN 4 MENAMPILKAN DATA DARI BANYAK TABEL

RENCANA PEMBELAJARAN

MODEL DATA RELASIONAL

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

BAB III MODEL RELATIONAL

Model-Model Data. Khabib Mustofa Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Gadjah Mada

BAB III METODOLOGI DAN RANCANGAN PENELITIAN

Relasi Adalah hubungan antara elemen himpunan dengan elemen himpunan yang lain. Cara paling mudah untuk menyatakan hubungan antara elemen 2 himpunan

Konsep model relasional

MODUL 7. Advanced Query : Menampilkan Data Dari Banyak Tabel PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

B a s i s D a t a - 1 C H A P T E R. SQL - Basic. Copyright 2005 PENS-ITS

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

BAB 3 MODEL RELASIONAL

BASIS DATA (BS203) RELASI ALJABAR. fb: NDoro Edi. Page 1

Implementasi Operasi Relasional Extensible Markup Language (XML) Pada Sistem Informasi

Projeksi (Project) S (E1)

STRUCTURE QUERY LANGUAGE DDL & DML

3. File Laporan (report File) File ini bisa disebut output file, yaitu file yang berisi informasi yang akan ditampilkan

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

DESAIN DATABASE. Pertemuan 06 3 SKS

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

Q U E L. Contoh : CREATE S(SN = TEXT(5),SNAME=TEXT(20), QUEL dan QBE Hal. 1 dari 15

BASIS DATA (BS203) RELASI ALJABAR. fb: NDoro Edi. Page 1

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA KODE : TI11. C228 / 4 SKS

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub

Modul Praktikum Basis Data 4 Relasi Table

M0564-Pengantar Sistem Basisdata 12/ 1

BAB II LANDASAN TEORI

Pertemuan 10 Structure Query Language(SQL)

Basis Data I. Pertemuan Ke-4 & ke-5 (Model Relasional Part 1) Noor Ifada.

System Technology Database 1. Struktur Dasar SQL. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

MODUL 3 JOIN TABLE. Gambar Model Relasi Basis Data db_mutiara SMK NEGERI 1 CIMAHI REKAYASA PERANGKAT LUNAK

Oracle Academic Initiative

BAB III LANDASAN TEORI. bertahan dalam jangka waktu tertentu. Menurut (Kristanto, 2008:1) sistem

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

STRUCTURE QUERY LANGUAGE (SQL)

adalah : Q.1) Suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan

Bahasa dalam Model Relational

MODEL DATA RELASIONAL

RENCANA PEMBELAJARAN

Transkripsi:

Basis Data Bahasa Kueri Basis Data mulyono@dosen.dinus.ac.id

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

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 : (Relational Algebra) SQL (Structure Query Language) 3

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 4

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

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

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. A B Hasil relasi baru adalah bagian yang diberi warna 7

Contoh operasi Union Consultant1 Consultant2 Consultant1 Consultant2 cid cname cid cname cid cname C001 James C001 James C001 James C002 Schole C003 Brown C002 Schole C004 Muller C004 Muller C003 Brown C005 Murphy C004 Muller C005 Murphy 8

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. A B Hasil relasi baru adalah bagian yang diberi warna 9

Contoh operasi Intersect Consultant1 Consultant2 Consultant1 Consultant2 cid cname cid cname cid cname C001 James C001 James C001 James C002 C004 Schole Muller C003 C004 Brown Muller C004 Muller C005 Murphy 10

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. A B Hasil relasi baru A B adalah bagian yang ber warna putih 11

Contoh Difference (MINUS) Consultant1 Consultant2 Consultant2 Consultant1 cid cname cid cname cid cname C001 James C001 James C003 Brown C002 Schole C003 Brown C005 Murphy C004 Muller C004 Muller C005 Murphy 12

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. Cartesian Product P Z P Z Q K P K R Q Z Q K R Z R K 13

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 14

Contoh Cartesian Product ( X/TIMES) Students sid name age gpa 53666 Jones 18 3.4 53668 Smith 18 3.2 53650 Smith 19 2.8 Consultant cid cname C001 James C002 Schole Students Consultant sid name age gpa cid cname 53666 Jones 18 3.4 C001 James 53666 Jones 18 3.4 C002 Schole 53668 Smith 18 3.2 C001 James 53668 Smith 18 3.2 C002 Schole 53650 Smith 19 2.8 C001 James 53650 Smith 19 2.8 C002 Schole 15

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. Tuples (baris) yang memenuhi kondisi 16

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 : >, <,,, =, 17

Contoh Select ( ) Operation Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 Tentukan tupel pada Students, yang namenya = Smith name= Smith (Students) Students sid name login age gpa 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 Tentukan tupel pada Students, yang agenya 18 dan gpa > 3.0 age 18 gpa>3.0 (Students) Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 18

6. Project ( ) Operation adalah ekstraksi terhadap suatu atribut (kolom) pada suatu relasi yang memenuhi kondisi tertentu. Atribut (kolom) yang memenuhi kondisi 19

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 20

Contoh Project ( ) Operation Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 name (Students) Tampilkan kolom name pada relasi Students name,age (Students) Tampilkan kolom name dan age pada relasi Students name Jones Smith name age Jones 18 Smith 18 Smith 19 21

Operasi Majemuk Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 age 18 gpa>3.0 (Students) Students sid, name ( age 18 gpa>3.0 (Students)) Students sid name 53666 Jones 53668 Smith sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 22

Operasi Majemuk Students sid name age gpa 53666 Jones 18 3.4 53668 Smith 18 3.2 Consultant cid cname stat Stcon C001 James C1 53666 C002 Schole C1 53668 C003 Brown C2 53666 C005 Murphy C2 53668 Ket : C1 = Konsultan Utama C2 = Asisten Konsultan Siapakah nama konsultan dari siswa yang bernama Jones? 23

Step-1 Students sid name gpa 53666 Jones 3.4 53668 Smith 3.2 Consultant cid cname stat Stcon C001 James C1 53666 C002 Schole C1 53668 C003 Brown C2 53666 C005 Murphy C2 53668 Operasi Majemuk Students Consultant sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 53666 53666 Jones 3.4 C002 Schole C1 53668 53666 Jones 3.4 C003 Brown C2 53666 53666 Jones 3.4 C005 Murph y C2 53668 53668 Smith 3.2 C001 James C1 53666 53668 Smith 3.2 C002 Schole C1 53668 53668 Smith 3.2 C003 Brown C2 53666 53668 Smith 3.2 C005 Murph y C2 53668 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 24

Step-2 Operasi Majemuk 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 53666 53666 Jones 3.4 C002 Schole C1 53668 53666 Jones 3.4 C003 Brown C2 53666 53666 Jones 3.4 C005 Murph y C2 53668 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 53666 53666 Jones 3.4 C003 Brown C2 53666 25

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 26

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 27

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

Structure Query Language Clause Select dan Clause From Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 Tampilkan kolom name pada relasi Students Select name From Students Tampilkan kolom name dan age pada relasi Students Select name, age From Students name Jones Smith name age Jones 18 Smith 18 Smith 19 29

Structure Query Language Clause where Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 Tentukan tupel pada Students, yang namenya = Smith Select * From Students Where name = Smith Students sid name login age gpa 53668 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 2.8 Tentukan tupel pada Students, yang agenya 18 dan gpa >=3.0 Select * From Students Where age>=18 and gpa>=3.0 Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 18 3.2 30

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

Latihan dan Soal Buatlah 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 32