aljabar dan kalkulus relasional
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 PresentationTRANSCRIPT
ALJABAR DAN KALKULUS RELASIONAL
RELASI
• Relasi Aljabar
• Relasi Kalkulus
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.
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
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
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
Relasi Aljabar : Union
• Hasil Relasi A U B
S SNAME STATUS CITY
S1 Aris 20 Semarang
S2 Eko 20 Semarang
S4 Heni 10 Jakarta
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
Relasi Aljabar : Intersect
S SNAME STATUS CITY
S1 Aris 20 Semarang
Hasil A∩B
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
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
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
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
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
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.
Relasi Aljabar : Restriction (σ)
Tuples (baris) yangmemenuhi kondisi
Relasi Aljabar : Restriction (σ)
• A WHERE CITY = ‘Semarang’
S SNAME STATUS CITY
S1 Aris 20 Semarang
S4 Eko 20 Semarang
)()''( ASemarangCITY
Relasi Aljabar
• Projection (π)– ekstraksi terhadap suatu atribut (kolom) pada
suatu relasi yang memenuhi kondisi tertentu.
Atribut (kolom) yangmemenuhi kondisi
Relasi Aljabar : Projection (π)
)(, ASNAMES
S SNAME
S1 Aris
S4 Eko
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).
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.
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
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.
Relasi Aljabar : Devide (DEVIDEBY)
a
Devide
x
y
a
a
x
y
a z
b x
c y
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
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?
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
Relasi
Relasi Aljabar Relasi Kalkulus
•Memberikan prosedur untuk menyelesaikan permasalahan (prosedural). •Programming Language
•Merepresentasikan kondisi suatu permasalahan (non-prosedural) •Natural language
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
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.
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.
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 ( ))
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)
Relasi Kalkulus
• Diberikan skema basis data silsilah dinasti keluarga– REIGNS(Sovereign, From, To)– PERSON(Name, Sex, Birth, Death)– FATHERHOOD(Father, Child)– MOTHERHOOD(Mother, Child)
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)
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)
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)
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)
Relasi Kalkulus
• Contoh :
• Mengambil nama dan tanggal lahir dari anggota keluarga yang berstatus female (F).
• Bentuk DRC :
'':,:,:,:|:,: 2432131 FxxDxBxSexxNPERSONxBxN
Relasi Kalkulus : DRC
Name Birth
Elizabeth 1590
Mary 1631
Henrietta A 1640
Mary II 1662
Anne 1665
'':,:,:,:|:,: 2432131 FxxDxBxSexxNPERSONxBxN
Relasi Kalkulus : DRC
• Mengambil Nama, Sex, dan dates (birth, death, mulai dan berakhirnya kekuasaan) untuk semua keluarga Sovereigns.
|:,:,:,:,:,: 654321 xDxToxFromxBxSexxSovn
541 :,:,: xToxFromxSovnREIGNS
6321 :,:,:,: xDxBxSexxNPERSONS
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
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
Relasi Kalkulus : DRC
Sovereign
James I
|: 1xSovn
431 :,:,: xToxFromxSovnREIGNS
12 :,: xCxFFATHERHOOD
7652765 :,:,:,: xDxBxSexxNPERSONxxx
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
Relasi Kalkulus : TRC
|:,:,: 321 xToxFromxSovn
321 :,:,: xToxFromxSovnREIGNS
xREIGNSToFromSovnx |,,
Bentuk DRC
Bentuk TRC
Relasi Kalkulus : TRC
|:,:,:,:,:,: 654321 xDxToxFromxBxSexxSovn
541 :,:,: xToxFromxSovnREIGNS 6321 :,:,:,: xDxBxSexxNPERSONS
DRC
|,,,,,1 DToFromBSexSovnx
)(,, 22 xREIGNSToFromSovnx
)..()..()..( 121212 ToxToxFromxFromxSovnxSovnx
)(,,, 33 xPERSONSDBSexNamex
)..()..()..()..( 13131313 DxDxBxBxSexxSexxSovnxNamex
TRC