bahasa pada model data relasional

Post on 02-Jan-2016

67 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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

top related