47
ALJABAR DAN KALKULUS RELASIONAL

ALJABAR DAN KALKULUS RELASIONAL

  • Upload
    maj

  • View
    173

  • Download
    9

Embed Size (px)

DESCRIPTION

ALJABAR DAN KALKULUS RELASIONAL. RELASI. Relasi Aljabar Relasi Kalkulus. Relasi Aljabar. Operasi aljabar terdiri dari himpunan operator level tinggi yang dioperasikan pada suatu relasi. - PowerPoint PPT Presentation

Citation preview

Page 1: ALJABAR DAN KALKULUS RELASIONAL

ALJABAR DAN KALKULUS RELASIONAL

Page 2: ALJABAR DAN KALKULUS RELASIONAL

RELASI

• Relasi Aljabar

• Relasi Kalkulus

Page 3: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

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

Page 4: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• Codd mendefinisikan operator relasi aljabar terdiri dari delapan operator, terbagi menjadi dua kelompok :

1. Operasi tradisional, terdiri dari Union, Intersection, Difference, dan Cartesian Product.

2. Operasi relasional khusus, terdiri dari Restrict, Project, Join, dan Devide

Page 5: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• 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

Page 6: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Union

S SNAME STATUS CITY

S1 Aris 20 Semarang

S4 Eko 20 Semarang

S SNAME STATUS CITY

S1 Aris 20 Semarang

S2 Heni 10 Jakarta

Relasi Tabel A

Relasi Tabel B

Page 7: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Union

• Hasil Relasi A U B

S SNAME STATUS CITY

S1 Aris 20 Semarang

S2 Eko 20 Semarang

S4 Heni 10 Jakarta

Page 8: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• 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

Page 9: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Intersect

S SNAME STATUS CITY

S1 Aris 20 Semarang

Hasil A∩B

Page 10: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• 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

Page 11: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Difference

relasi baru A MINUS B :

S SNAME STATUS CITY

S4 Eko 20 Semarang

B MINUS A

S SNAME STATUS CITY

S2 Heni 10 Jakarta

Page 12: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• Cartesian Product ( / 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.

P

Q

R

Z

K

P

P

Z

K

Q

Q

Z

K

R

R

Z

K

CartesianProduct

Page 13: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar Cartesian Product ( / TIMES)

• A TIMES B

A A A A B B B B

S SNAME STATUS

CITY S SNAME STATUS CITY

S1 Aris 20 Semarang S1 Aris 20 Semarang

S1 Aris 20 Semarang S2 Heni 10 Jakarta

S4 Eko 20 Jakarta S1 Aris 20 Semarang

S4 Eko 20 Jakarta S2 Heni 10 Jakarta

Page 14: ALJABAR DAN KALKULUS RELASIONAL

ENO ENAME TITLE

E1 J. Doe Elect. Eng

E2 M. Smith Syst. Anal.

E3 A. Lee Mech. Eng.

E4 J. Miller Programmer

E5 B. Casey Syst. Anal.

E6 L. Chu Elect. Eng.

E7 R. Davis Mech. Eng.

E8 J. Jones Syst. Anal.

EMP

TITLE SAL

SAL

Elect. Eng. 40000

Syst. Anal. 34000

Mech. Eng. 27000

Programmer 24000

ENO ENAME EMP.TITLE SAL.TITLE SAL

E1 J. Doe Elect. Eng.E1 J. Doe Elect. Eng.E1 J. Doe Elect. Eng.E1 J. Doe Elect. Eng.

Elect. Eng. 40000Syst. Anal. 34000Mech. Eng. 27000Programmer 24000

E2 M. Smith Syst. Anal.E2 M. Smith Syst. Anal.E2 M. Smith Syst. Anal.E2 M. Smith Syst. Anal.

Elect. Eng. 40000Syst. Anal. 34000Mech. Eng. 27000Programmer 24000Elect. Eng. 40000Syst. Anal. 34000Mech. Eng. 27000Programmer 24000

Elect. Eng. 40000Syst. Anal. 34000Mech. Eng. 27000Programmer 24000

E3 A. Lee Mech. Eng.E3 A. Lee Mech. Eng.E3 A. Lee Mech. Eng.E3 A. Lee Mech. Eng.

E8 J. Jones Syst. Anal.E8 J. Jones Syst. Anal.E8 J. Jones Syst. Anal.E8 J. Jones Syst. Anal.

EMP SAL

Contoh Cartesian Product

Page 15: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• Restriction (σ)– 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.

Page 16: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Restriction (σ)

Tuples (baris) yangmemenuhi kondisi

Page 17: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Restriction (σ)

• A WHERE CITY = ‘Semarang’

S SNAME STATUS CITY

S1 Aris 20 Semarang

S4 Eko 20 Semarang

)()''( ASemarangCITY

Page 18: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• Projection (π)– ekstraksi terhadap suatu atribut (kolom) pada

suatu relasi yang memenuhi kondisi tertentu.

Atribut (kolom) yangmemenuhi kondisi

Page 19: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Projection (π)

)(, ASNAMES

S SNAME

S1 Aris

S4 Eko

Page 20: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• Natural Join (JOIN) – membentuk relasi dari dua relasi yang terdiri

dari semua kemungkinan kombinasi tuples, dimana tuples pada relasi yang kedua memenuhi suatu kondisi tertentu (memiliki nilai atribut yang sama).

Page 21: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Natural Join

a1 b1

a2

a3

b1

b2

Natural Join

b1

b2

c1

c2

b3 c3

a1

a2

b1

b1

a3 b2

c1

c1

c2

Jika suatu relasi yang tidak memiliki atribut yang memenuhi kodisi (memiliki nilai sama), maka A JOIN B adalah ekuivalen dengan A TIMES B.

Page 22: ALJABAR DAN KALKULUS RELASIONAL

Natural JoinENO ENAME TITLE

E1 J. Doe Elect. Eng

E2 M. Smith Syst. Anal.

E3 A. Lee Mech. Eng.

E4 J. Miller Programmer

E5 B. Casey Syst. Anal.

E6 L. Chu Elect. Eng.

E7 R. Davis Mech. Eng.

E8 J. Jones Syst. Anal.

EMP

TITLE SAL

SAL

Elect. Eng. 70000

Syst. Anal. 80000

Mech. Eng. 56000

Programmer 60000

ENO ENAME E.TITLE SAL

E1 J. Doe Elect. Eng. 70000

E2 M. Smith Syst. Anal. 80000

56000

80000

E3 A. Lee Mech. Eng.

E8 J. Jones Syst. Anal.

EMP SAL

60000E4 J. Miller Programmer

80000E5 B.Casey Syst.Anal

70000E6 L. Chu Elect.Eng

56000E7 R.Davis Mech.Eng

Page 23: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar

• Devide (DEVIDEBY) – A DEVIDEBY B adalah relasi dengan heading

(X) dan terdiri dari himpunan semua tuples (X : x) dari tuples (X : x, Y : y) pada relasi A untuk semua tuples (Y : y) pada relasi B.

Page 24: ALJABAR DAN KALKULUS RELASIONAL

Relasi Aljabar : Devide (DEVIDEBY)

a

Devide

x

y

a

a

x

y

a z

b x

c y

Page 25: ALJABAR DAN KALKULUS RELASIONAL

sno pno

S1 P1

S1 P2

S1 P3

S1 P4

S2 P1

S2 P2

S3 P2

S4 P2

S4 P4

pno

P2

pno

P2

P4

A

pno

P1

P2

P4

sno

s1

sno

S1

S4

sno

S1

S2

S3

S4

B1

B2

B3

A/B1 A/B2

A/B3

Page 26: ALJABAR DAN KALKULUS RELASIONAL

ENO PNO PNAME

E1 P1 Instrumentation 150000

BUDGET

E2 P1 Instrumentation 150000E2 P2 Database Develop. 135000E3 P1 InstrumentationE3 P4 MaintenanceE4 P2 InstrumentationE5 P2 InstrumentationE6 P4E7 P3 CAD/CAME8 P3 CAD/CAM

310000150000150000310000250000250000

R

Maintenance

150000

S

PNO PNAME BUDGET

P1 Instrumentation 150000P4 Maintenance 310000

ENO

E3

R / S

Find the employees who work for both project P1 and project P4?

Page 27: ALJABAR DAN KALKULUS RELASIONAL

RelasiRelasi Aljabar Relasi Kalkulus

• secara aktual untuk membentuk relasi yang diharapkan dari suatu relasi yang terdapat pada basis data.• Perspektif.

•memberikan notasi untuk memformulasikan definisi relasi yang diinginkan pada kondisi relasi yang diharapkan.•Deskriptif

Page 28: ALJABAR DAN KALKULUS RELASIONAL

Relasi

Relasi Aljabar Relasi Kalkulus

•Memberikan prosedur untuk menyelesaikan permasalahan (prosedural). •Programming Language

•Merepresentasikan kondisi suatu permasalahan (non-prosedural) •Natural language

Page 29: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Relasi kalkulus merupakan bahasa yang berbasiskan first order predicate calculus.

• Ekspresi menyatakan sifat dari hasil yang diharapkan, tanpa menentukan bagaimana hasil tersebut di proses

Page 30: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Ciri-ciri relasi kalkulus :– First order calculus menggunakan simbol-

simbol predikat dan simbol-simbol fungsi. Untuk kaitannya dengan basis data : simbol fungsi tidak diperlukan dan predikat diinterprestasikan sebagai relasi.

– Formula pada first order calculus dapat dibedakan ke dalam dua kelas :• Open formulas (free variable)• Closed formulas atau sentences yang memiliki

variable terbatas.

Page 31: ALJABAR DAN KALKULUS RELASIONAL

Ciri Relasi Kalkulus

• Open formula– didefinisikan sebagai himpunan tuples elemen

dari kondisi secara keseluruhan, yang dapat menghasilkan formula “TRUE”.

• Closed formula– Karena kalkulus dipergunakan sebagai

bahasa query dan basis data bertujuan untuk instant maupun relasi lainnya, maka closed formulas tidak diperhatikan.

Page 32: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Domain Relational Calculus (DRC)

Simbol yang muncul pada formula terdiri

dari : konstan (elemen-elemen domain D), variabel (elemen-elemen dari himpunan berhingga V yang dihubungkan dengan domain D), nama relasi (tabel) dan atribut (berdasarkan skema basis data), operator perbandingan (=, ≠, >, >=, <, <=), penghubung logika (Λ ( dan / konjugsi), (V atau/disjungsi), ⌐ (not/negasi), ada/beberapa( ), dan semua ( ))

Page 33: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Ekspresi DRC

f fxAxAxA kk |:,...,:,: 2211

f : formula, Boolean expression

kxxx ,...,, 21 : variabel yang muncul pada

kAAA ,...,, 21: atribut-atribut

kk xAxAxA :,...,:,: 2211 : list target dari formula

sebagai definisi struktur hasil ekspresi, dimana relasi A1, A2, …,Ak berisi tupel dengan nilai c1, c2, …, ck yang secara berurutan mengganti nilai x1, x2,…,xk yang memenuhi f (f = TRUE)

Page 34: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Diberikan skema basis data silsilah dinasti keluarga– REIGNS(Sovereign, From, To)– PERSON(Name, Sex, Birth, Death)– FATHERHOOD(Father, Child)– MOTHERHOOD(Mother, Child)

Page 35: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

Sovereign From To

James I 1603 1625

Charles I 1625 1648

Charles II 1660 1685

James II 1685 1688

Mary II 1688 1694

Anne 1702 1714

REIGNS(Sovereign, From, To)

Page 36: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

Name Sex Birth Death

James I M 1566 1625

Elizabeth F 1590 1662

Charles I M 1600 1649

Charles II M 1630 1685

Mary F 1631 1659

James II M 1633 1701

Henrietta A F 1640 1670

Mary II F 1662 1694

Anne F 1665 1714

James F.E M 1686 1766

PERSON(Name, Sex, Birth, Death)

Page 37: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

Father Child

Lord Darnley James I

James I Elizabeth

James I Charles I

Charles I Charles II

Charles I Mary

Charles I James II

Charles I Herietta A

James II Mary II

James II Anne

James II James F.E

FATHERHOOD(Father, Child)

Page 38: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

Mother Child

Mary Stuart James I

Anne of Denmark Elizabeth

Anne of Denmark Charles I

Henrietta Maria Charles II

Henrietta Maria Mary

Henrietta Maria James II

Henrietta Maria Herietta A

Anne Hyde Mary II

Anne Hyde Anne

Mary of Modena James F.E

MOTHERHOOD(Mother, Child)

Page 39: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Contoh :

• Mengambil nama dan tanggal lahir dari anggota keluarga yang berstatus female (F).

• Bentuk DRC :

'':,:,:,:|:,: 2432131 FxxDxBxSexxNPERSONxBxN

Page 40: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : DRC

Name Birth

Elizabeth 1590

Mary 1631

Henrietta A 1640

Mary II 1662

Anne 1665

'':,:,:,:|:,: 2432131 FxxDxBxSexxNPERSONxBxN

Page 41: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : DRC

• Mengambil Nama, Sex, dan dates (birth, death, mulai dan berakhirnya kekuasaan) untuk semua keluarga Sovereigns.

|:,:,:,:,:,: 654321 xDxToxFromxBxSexxSovn

541 :,:,: xToxFromxSovnREIGNS

6321 :,:,:,: xDxBxSexxNPERSONS

Page 42: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : DRC

Name Sex Birth From To Death

James I M 1566 1603 1625 1625

Charles I M 1600 1625 1648 1649

Charles II M 1630 1660 1685 1685

James II M 1633 1685 1688 1701

Mary II F 1662 1688 1694 1694

Anne F 1665 1702 1714 1714

|:,:,:,:,:,: 654321 xDxToxFromxBxSexxSovn

541 :,:,: xToxFromxSovnREIGNS

6321 :,:,:,: xDxBxSexxNPERSONS

Page 43: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : DRC

• Mengambil nama-nama Sovereigns yang ayahnya diketahui, tetapi tidak terdapat pada list sebagai anggota dinasti.

|: 1xSovn

431 :,:,: xToxFromxSovnREIGNS

12 :,: xCxFFATHERHOOD

7652765 :,:,:,: xDxBxSexxNPERSONxxx

Page 44: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : DRC

Sovereign

James I

|: 1xSovn

431 :,:,: xToxFromxSovnREIGNS

12 :,: xCxFFATHERHOOD

7652765 :,:,:,: xDxBxSexxNPERSONxxx

Page 45: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus

• Tuple Relational Calculus (TRC)• Ekspresi dalam TRC memiliki bentuk :

fXx |

f formula

x Merupakan variabel tuple, satu-satunya variabel tuple di

X Satu set atribut yang berkorespodensi dengan x

Nilai dari ekspresi adalah relasi dalam

yang berisi semua tuples yang menghasilkan .X

TRUEf

Page 46: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : TRC

|:,:,: 321 xToxFromxSovn

321 :,:,: xToxFromxSovnREIGNS

xREIGNSToFromSovnx |,,

Bentuk DRC

Bentuk TRC

Page 47: ALJABAR DAN KALKULUS RELASIONAL

Relasi Kalkulus : TRC

|:,:,:,:,:,: 654321 xDxToxFromxBxSexxSovn

541 :,:,: xToxFromxSovnREIGNS 6321 :,:,:,: xDxBxSexxNPERSONS

DRC

|,,,,,1 DToFromBSexSovnx

)(,, 22 xREIGNSToFromSovnx

)..()..()..( 121212 ToxToxFromxFromxSovnxSovnx

)(,,, 33 xPERSONSDBSexNamex

)..()..()..()..( 13131313 DxDxBxBxSexxSexxSovnxNamex

TRC