RELASI
Relasi Aljabar
• Operasi aljabar terdiri dari himpunan
operator level tinggi yang dioperasikan
pada suatu relasi.
• Setiap operator menggunakan satu atau
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.
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.
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 Aljabar : Union
• Hasil Relasi A U B
S SNAME STATUS CITY
S1 Aris 20 Semarang
S2 Eko 20 Semarang
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.
Relasi Aljabar : Intersect
S SNAME STATUS CITY
S1 Aris 20 Semarang
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.
Relasi Aljabar : Difference
relasi baru A MINUS B :
S SNAME STATUS CITY
S4 Eko 20 Semarang
B MINUS A
S SNAME STATUS CITY
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.
Relasi Aljabar
Cartesian Product ( / TIMES)
• A TIMES BA A A A B B B B
S SNAME STATU S
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
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. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 24000 E2 M. Smith Syst. Anal.
E2 M. Smith Syst. Anal. E2 M. Smith Syst. Anal. E2 M. Smith Syst. Anal.
Elect. Eng. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 24000 Elect. Eng. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 24000
Elect. Eng. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 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
Relasi Aljabar
•
Restriction (σ)
– ekstraksi terhadap suatu tuples (baris)
pada suatu relasi yang memenuhi kondisi tertentu.
Relasi Aljabar :
Restriction (σ)
Relasi Aljabar :
Restriction (σ)
• A WHERE CITY = ‘Semarang’
S SNAME STATUS CITY
S1 Aris 20 Semarang
S4 Eko 20 Semarang
)
(
)' '
(CITY Semarang
A
Relasi Aljabar
•
Projection (π)
– ekstraksi terhadap suatu atribut (kolom) pada suatu relasi yang memenuhi kondisi tertentu.
Relasi Aljabar :
Projection (π)
)
(
,SNAME
A
S
S SNAME
Relasi Aljabar
•
Natural Join (JOIN)
– membentuk relasi dari dua relasi yang terdiri dari semua kemungkinan kombinasi tuples, dimana tuples pada relasi yang kedua
Relasi Aljabar : Natural Join
Natural Join
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. 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
60000 E4 J. Miller Programmer
80000 E5 B.Casey Syst.Anal
70000 E6 L. Chu Elect.Eng
Relasi Aljabar
•
Devide (DEVIDEBY)
– A DEVIDEBY B adalah relasi dengan heading (X) dan terdiri dari himpunan semua tuples
Relasi Aljabar :
Devide (DEVIDEBY)
a Devide
x y a
a
x y
a z
b x
ENO PNO PNAME
E1 P1 Instrumentation 150000 BUDGET
E2 P1 Instrumentation 150000 E2 P2 Database Develop. 135000 E3 P1 Instrumentation
E3 P4 Maintenance E4 P2 Instrumentation E5 P2 Instrumentation E6 P4
E7 P3 CAD/CAM E8 P3 CAD/CAM
310000
PNO PNAME BUDGET
P1 Instrumentation 150000 P4 Maintenance 310000
ENO
E3
R / S
Find the
Relasi
Relasi 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
Relasi
Relasi Aljabar Relasi Kalkulus •Memberikan prosedur
untuk menyelesaikan permasalahan
(prosedural). •Programming Language
•Merepresentasikan kondisi suatu
permasalahan (non-prosedural)
Relasi Kalkulus
• Relasi kalkulus merupakan bahasa yang
berbasiskan first order predicate calculus.
• Ekspresi menyatakan sifat dari hasil yang
diharapkan, tanpa menentukan
Relasi Kalkulus
•
Ciri-ciri relasi kalkulus :
– First order calculus menggunakan simbol-simbol predikat dan simbol-simbol-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)
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
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 /
Relasi Kalkulus
• Ekspresi DRC
f
A
1:
x
1,
A
2:
x
2,...,
A
k:
x
k|
f
f
: formula, Boolean expressionk
Relasi Kalkulus
• Diberikan skema basis data silsilah dinasti
keluarga
– REIGNS(Sovereign, From, To)
– PERSON(Name, Sex, Birth, Death) – FATHERHOOD(Father, 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
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
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
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
Relasi Kalkulus
• Contoh :
• Mengambil nama dan tanggal lahir dari
anggota keluarga yang berstatus female
(F).
• Bentuk DRC :
Relasi Kalkulus : DRC
Name Birth
Elizabeth 1590
Mary 1631
Henrietta A 1640
Mary II 1662
Anne 1665
Relasi Kalkulus : DRC
• Mengambil Nama, Sex, dan dates (birth,
death, mulai dan berakhirnya kekuasaan)
untuk semua keluarga Sovereigns.
Sovn : x1, Sex : x2 , B : x3, From : x4,To : x5 , D : x6 |
Sovn
:
x
1,
From
:
x
4,
To
:
x
5
REIGNS
N : x1, Sex : x2 , B : x3, D : x6
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
Sovn : x1, Sex : x2, B : x3, From : x4 ,To : x5, D : x6 |
Sovn
:
x
1,
From
:
x
4,
To
:
x
5
REIGNS
N : x1, Sex : x2 , B : x3, D : x6
Relasi Kalkulus : DRC
• Mengambil nama-nama Sovereigns yang
ayahnya diketahui, tetapi tidak terdapat
pada list sebagai anggota dinasti.
Sovn : x1 |
Sovn : x1, From : x3,To : x4
REIGNS
F : x2,C : x1
FATHERHOOD
x5 x6 x7 PERSON N : x2,Sex : x5, B : x6, D : x7
Relasi Kalkulus : DRC
Sovereign
James I
Sovn : x1 |
Sovn : x1, From : x3,To : x4
REIGNS
F : x2,C : x1
FATHERHOOD
x5 x6 x7 PERSON N : x2,Sex : x5, B : x6, D : x7
Relasi Kalkulus
• Tuple Relational Calculus (TRC)
• Ekspresi dalam TRC memiliki bentuk :
x
X
|
f
f
formulax
Merupakan variabel tuple, satu-satunya variabel tuple diX
Satu set atribut yang berkorespodensi denganx
Relasi Kalkulus : TRC
Sovn
:
x
1,
From
:
x
2,
To
:
x
3|
Sovn : x1, From : x2 ,To : x3
REIGNS
x Sovn, From,To | REIGNS x
Bentuk DRC