bahasa pada model data relasional
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Bahasa Pada Model Data Relasional
Ana Kurniawati
Company
LOGO Agenda
1. Jenis Bahasa1. Jenis Bahasa
2. Bahasa Formal 2. Bahasa Formal
3. Bahasa Komersial3. Bahasa Komersial
4. Aljabar Relasional 4. Aljabar Relasional
Company
LOGO 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).
Company
LOGO Bahasa Formal
Terbagi 2, yaitu: a. Prosedural, yaitu pemakai memberi
spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.
b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.
Company
LOGO Prosedural
Contoh:Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi.
Company
LOGO 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
Company
LOGO 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
Company
LOGO 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.
Company
LOGO Operasi Select (Contoh)
Company
LOGO 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)
Company
LOGO Contoh Operasi Projection
Company
LOGO 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)
Company
LOGO Contoh Operasi Union
Company
LOGO 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)
Company
LOGOContoh Operasi Set Difference
Company
LOGODefinisi 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
Company
LOGOContoh Operasi Cartesian-Product
Company
LOGODefinisi 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.
Company
LOGO Komposisi Beberapa Operasi
Contoh: σA=C(r x s)
Company
LOGO 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.
Company
LOGO 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)
Company
LOGO 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))
Company
LOGO 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)
Company
LOGO 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)
Company
LOGO 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))
Company
LOGO 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)))
Company
LOGO 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)
a. Cari nama employee yang bekerja pada First Bank Corporation.b. 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.
Company
LOGO Cycle Diagram
Text
TextText
Text
Text
Cycle name
Add Your Text
Company
LOGO Progress Diagram
Phase 1Phase 1 Phase 2Phase 2 Phase 3Phase 3
Company
LOGO Block Diagram
TEXT TEXT TEXT TEXT
TEXT TEXT TEXT TEXT
Company
LOGO Table
TEXT TEXT TEXT TEXT TEXT
Title A
Title B
Title C
Title D
Title E
Title F
Company
LOGO 3-D Pie Chart
TEXT
TEXT
TEXT
TEXTTEXT
TEXT
Company
LOGO Marketing Diagram
Title
TEXT TEXTTEXT TEXT