Aljabar Relasional Materi pertemuan.

Slides:



Advertisements
Presentasi serupa
Aljabar Relasional Materi pertemuan.
Advertisements

ALJABAR RELATIONAL Materi Pertemuan 22,23 dan 24.
Aljabar Relasional (Relational Algebra)
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 BASIS DATA Team Teaching Basis Data Oleh
Aljabar Relasional.
SQL Part 3 Latar Belakang Desain Tabel Normalisasi Aljabar relasional
Aljabar Relasional (Relational Algebra)
Aljabar Relasional Pertemuan 22.
Pertemuan Minggu Ke-5 KALKULUS RELASIONAL.
Aljabar Relasional Materi pertemuan 21.
PERTEMUAN 13 Sistem Basis Data Presented by :
Oleh: Henry Primandari,S.Kom STMIK-MDP Palembang
Sesi V Aljabar & Kalkulus Relasional
Query Bahasa Formal.
Aljabar Relasional Materi pertemuan.
SQL (Structured Query Language) Materi Pertemuan
Aljabar Relasional.
Pertemuan 9 BAHASA QUERY FORMAL.
Relational Calculus Basis Data Pertemuan 05.
1 Review Pertemuan Ke VII Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu.
ALJABAR RELATIONAL.
ALJABAR DAN KALKULUS RELASIONAL
SQL (Structured Query Language)
SQL (Structured Query Language)
Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom
Pertemuan 6 Aljabar Relational (2) Betha Nurina Sari,M.Kom.
Pertemuan Ke-6 Aljabar Relasional
Aljabar Relasi SBD.
bahasa Query basis data bab 8
Aljabar Relasional (Relational Algebra)
ALJABAR RELASIONAL
Aljabar Relasional Pertemuan 6
Daniel Damaris Novarianto S. UNIV. GUNADARMA
Operasi Relasional Basis Data
ALJABAR RELASIONAL BASIS DATA I/2009-GENAP
Harsiti, ST Fakultas Teknologi Informasi Universitas Serang Raya 2009
SQL (Structured Query Language)
ALJABAR RELASIONAL DAN KALKULUS RELASIONAL
Aljabar Relational (Relational Algebra) MEETING 6
Sistem Basis Data Konsep Database Relasional
SISTEM BASIS DATA STMIK BANI SALEH BEKASI Salim
Model Relational DATABASE
SQL (Structured Query Language)
Presented by Team Basis Data
RELATIONAL MODEL (FORMAL QUERY LANGUAGE)
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.
Aljabar Relational IK203 Sistem Basis Data Pertemuan #4
MODEL DATA RELASIONAL (1)
Aljabar Relasional (Relational Algebra)
Basis Data - Udinus Semarang
Yufis Azhar – Teknik Informatika – UMM
Basis Data Bahasa Kueri Basis Data
Model dan Aljabar Relasional
ALJABAR RELASIONAL (LANJUTAN)
Basis Data Bahasa Kueri Basis Data
Transcript presentasi:

Aljabar Relasional Materi pertemuan

Bahasa Query Bahasa yang digunakan user untuk melakukan request informasi dari basis data Kategori Bahasa : Prosedural Non-prosedural Bahasa “Murni” (“Pure” languages) : Aljabar Relasional Tuple Relational Calculus Domain Relational Calculus Pure languages membentuk dasar bahasa query yang digunakan user.

Terdapat 2 macam bentuk bahasa query” Bahasa query memungkinkan manipulasi dan pemanggilan data dari suatu basisdata. Terdapat 2 macam bentuk bahasa query” Aljabar Relasional Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut Lebih bersifat operasional, sangat berguna untuk merepresentasikan eksekusi perencanaan Kalkulus Relasional Memungkinkan user menggambarkan apa yang mereka inginkan, tidak pada pada bagaimana cara melakukan komputasi terhadap apa yang mereka inginkan tersebut. (tidak bersifat operasional, tapi bersifat deklaratif). Memahami aljabar dan kalkulus relasional adalah kunci memahami SQL.

Aljabar Relasional Merupakan bahasa prosedural Operator dasar : select project union set difference Cartesian product rename Operator yang melibatkan dua atau lebih relasi sebagai input akan menghasilkan satu relasi baru sebagai output.

Operasi Dalam Aljabar Relasional Operasi-operasi dasar dalam aljabar relasional adalah : Select : memilih sub himpunan baros dari suatu relasi Project : Menghapus kolom yang tidak dikehendaki dari relasi Union : Mendapatkan tupel yang terdapat dalam relasi satu dan relasi dua. set difference : mendapatkan tupel yang terdapat dalam relasi satu tapi tidak terdapat dalam relasi dua. Operasi tambahan : Intersection Join Division renaming

Operasi Select (Contoh)

Operasi-operasi select, project dan rename disebut operasi unary, karena operasi-operasi tersebut hanya memerlukan satu relasi. Tiga operasi lainnya memerlukan sepasang relasi, disebut operasi binary.

Definisi Operasi Select Notasi : σp(r) p disebut sebgai predikat selection Definisi selection : σp(r) = {t | t ε r and p(t)} Di mana p adalah sebuah formula dalam kalkulus proposisi yang terdiri atas term yang dihubungkan dengan Setiap term adalah satu dari : <attribute> op <attribute> or <constant> di mana op adalah salah satu dari : =, ≠, >, ≥. <. ≤ Contoh selection: σ branch-name=“Perryridge”(account)

Operasi SELECT Operasi select menyeleksi tuple-tuple yang memenuhi predikat yang diberikan. Digunakan symbol sigma (σ) untuk menunjukkan operasi select. Predikat muncul sebagai subcript dari σ. Argumen relasi diberikan dalam kurung yang mengikuti σ. Jadi untuk menyeleksi tuple-tuple dari relasi S2 dimana rating-nya lebih besar dari 8, ditulis : σ rating>8 (S2) Maka tabel yang dihasilkan:

Jika relasi S2 adalah : Contoh-contoh query lain dengan operasi select adalah : σage = “35.0”(S2) Yang artinya : menyeleksi tuple-tuple dari relasi S2 dimana age-nya adalah “35.0”

Definisi Operasi Project Notasi : ΠA1, A2, …, Ak (r) di mana A1, A2 adalah nama atribut, dan r adalah nama relasi. Hasil operasi project didefinisikan sebagai relasi dengan kolom sebanyak k yang diperoleh dengan menghapus kolom yang tidak termasuk dalam kriteria. Duplicate rows dihilangkan dari relasi hasil, karena relasi adalah sebuah himpunan. Contoh : apabila kita ingin memperoleh informasi dari relasi account, tetapi tanpa atribut branch-name : Πaccount-number, balance (account)

Operasi Project Seandainya diinginkan semua daftar sname dan rating, dengan rating >8. Dengan operasi project dapat dihasilkan relasi ini. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut yang diinginkan tampil ditulis sebagai subcript π Contoh : πsname,rating(σ rating>8 (S2)), adalah operasi untuk menampilkan seluruh sname & rating dengan rating > 8 Hasil operasi tersebut adalah :

Contoh Operasi Projection

Union, Intersection, Set-Difference Semua Operasi ini membutuhkan dua relasi, syarat yang harus di penuhi adalah: Mempunyai jumlah field yang sama Field yang berkorespondensi memiliki tipe yang sama. Untuk dua tabel relasi S1 dan S2 berikut:

Contoh Operasi Union

Definisi Operasi Union Notasi: r U s Definisi operasi union : r U s = {t | t ε r or t ε s} Kriteria valid r U s : 1. r, s harus mempunyai arity sama (jumlah atributnya sama) 2. Domain atribut harus kompatibel (misal : kolom kedua relasi r mempunyai tipe data yang sama dengan kolom kedua relasi s) Contoh : untuk mencari semua customer yang mempunyai account atau pinjaman : Πcustomer-name (depositor) U Πcustomer-name (borrower)

Contoh Operasi Set Difference

Definisi Operasi Set Difference Notasi : r – s Definisi : r – s = {t | t ε r and t ∉ s} Operasi set difference harus dilakukan pada relasi yang kompatibel : r dan s harus mempunyai arity sama Domain atribut r dan s harus kompatibel

Berikut ini adalah contoh dari ketiga operasi diatas: Union : S1 U S2 Intersection: S1 n S2 Set-Difference:

Cross-Product Cross Product biasa dikenal dengan Operasi Cartesian-product. Operasi Cartesian-product disimbolkan dengan “x”. Dengan operasi ini dapat dihasilkan informasi yang merupakan kombinasi dari dua relasi. Secara garis besar, jika dipunyai relasi r1(R1) dan r2(R2), maka r1 x r2 adalah relasi yang skemanya merupakan gabungan dari R1 ( atribut-atribut relasi r1) dan R2 (atribut-atribut r2). Relasi R mengandung semua tuple t dimana terdapat sebuah tuple t1 dalam r1 dan t2 dalam r2 sedemikian sehingga t[R1] = t1[R1] dan t[R2]=t2[R2].

Contoh : S1 x R1

Contoh Operasi Cartesian-Product

Definisi Operasi Cartesian-Product Notasi : r x s Definisi : r x s = {t q | t ε r and q ε s} Asumsi atribut r(R) dan s(S) disjoint. (Yaitu R ∩ S = ∅). Jika atribut r(R) dan s(S) tidak disjoint, maka harus dilakukan renaming.

Komposisi Beberapa Operasi Contoh: σA=C(r x s)

Operasi Rename Memungkinkan untuk memberi nama dan mengacu hasil dari operasi ekspresi aljabar relasional. Memungkinkan untuk mengacu sebuah relasi dengan lebih dari satu nama. Contoh : ρ x (E) mengembalikan ekspresi E dengan nama Jika ekspresi aljabar relasional E mempunyai arity n, maka ρx (A1, A2, …, An) (E) mengembalikan hasil ekspresi E dengan nama X, dan atributnya direname menjadi A1, A2, …., An.

Contoh Skema Perbankan branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-only) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number)

Contoh Query Cari semua loan yang nilainya lebih dari $1200 σamount > 1200 (loan) Cari nomor loan untuk semua loan yang nilainya lebih dari $1200 Πloan-number (σamount > 1200 (loan))

Contoh Query Cari nama semua customer yang mempunyai loan, account, atau keduanya. Πcustomer-name (borrower) U Πcustomer-name (depositor) Cari nama semua customer yang mempunyai loan dan account. Πcustomer-name (borrower) ∩ Πcustomer-name (depositor)

Contoh Query Cari nama semua customer yang mempunyai loan di branch Perryridge. Πcustomer-name (σbranch-name=“Perryridge” (σborrower.loan-number = loan.loan-number(borrower x loan))) Cari nama semua customer yang mempunyai loan di branch Perryridge, tetapi tidak mempunyai account di branch manapun. Πcustomer-name (σbranch-name = “Perryridge” (σborrower.loan-number = loan.loan-number(borrower x loan))) – Πcustomer-name(depositor)

Contoh Query Cari nama semua customer yang mempunyai loan di branch Perryridge. Query 1 Πcustomer-name(σbranch-name = “Perryridge” ( σborrower.loan-number = loan.loan-number(borrower x loan))) Query 2 Πcustomer-name(σloan.loan-number = borrower.loan- number((σbranch-name = “Perryridge”(loan)) x borrower))

Contoh Query Cari nilai balance account yang paling besar Rename relasi account sebagai d Query : Πbalance(account) - Πaccount.balance (σaccount.balance < d.balance (account x ρd (account)))

Latihan : Diketahui skema basis data sbb: employee (person-name, street, city) works (person-name, company-name, salary) company (company-name, city) manages (person-name, manager-name) Cari nama employee yang bekerja pada First Bank Corporation. Cari nama dan kota tempat tinggal semua employee yang bekerja di First Bank Corporation. c. Cari nama, alamat dan kota tempat tinggal semua employee yang bekerja di First Bank Corporation dan berpenghasilan lebih dari $10,000. d. Cari nama semua employee yang tinggal di kota yang sama dengan perusahaan dimana mereka bekerja. e. Cari nama semua employee yang tinggal di kota dan jalan yang sama dengan manager mereka. f. Cari nama semua employee yang tidak bekerja di First Bank Corporation. g. Cari semua nama employee yang penghasilannya lebih dari employee di Small Bank Corporation. h. Asumsikan perusahaan berlokasi di beberapa kota. Cari semua perusahaan yang berlokasi di setiap kota dimana Small Bank Corporation berada.