340 likes | 516 Views
Ana Kurniawati. Bahasa Pada Model Data Relasional. Agenda. 1. Jenis Bahasa. 2. Bahasa Formal. 3. Bahasa Komersial. 4. Aljabar Relasional. Bahasa Pada Model data Relasional. Bahasa Query Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.
E N D
Ana Kurniawati Bahasa Pada Model Data Relasional
Agenda 1. JenisBahasa 2. Bahasa Formal 3. BahasaKomersial 4. AljabarRelasional
Bahasa Pada Model data Relasional • Bahasa Query Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. • Bahasa Query Komersial Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Bahasa Formal • Terbagi 2, yaitu: • Prosedural, yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya. • Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.
Prosedural Contoh: Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi.
Lanj.. Contoh: Kalkulus Relasional, dimana query menjelaskan set tuple yang diinginkan dengan cara menjelaskan predikat tuple yang diharapkan. Terbagi 2 : • Kalkulus Relasional Tupel • Kalkulus Relasional Domain
Bahasa Query Komersial Contoh : • QUEL Berbasis pada bahasa kalkulus relasional • QBE Berbasis pada bahasa kalkulus relasional • SQL Berbasis pada bahasa kalkulus relasional dan aljabar relasional
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.
Definisi Operasi Select • Notasi : σp(r) • p disebut sebagai 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)
Definisi Operasi Project • Notasi : ΠA1, A2, …, Ak(r) di mana A1, A2adalah nama atribut, danradalah 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)
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)
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
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.
Cycle Diagram Add Your Text Text Text Text Cycle name Text Text
Progress Diagram Phase 1 Phase 2 Phase 3
Block Diagram TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
3-D Pie Chart TEXT TEXT TEXT TEXT TEXT TEXT
Marketing Diagram Title TEXT TEXT TEXT TEXT