470 likes | 797 Views
ALJABAR DAN KALKULUS RELASIONAL. RELASI. Relasi Aljabar Relasi Kalkulus. Relasi Aljabar. Operasi aljabar terdiri dari himpunan operator level tinggi yang dioperasikan pada suatu relasi.
E N D
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 : • Operasi tradisional, terdiri dari Union, Intersection, Difference, dan Cartesian Product. • 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.
Relasi Aljabar : Union Relasi Tabel A Relasi Tabel B
Relasi Aljabar : Union • Hasil Relasi A U B
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 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.
Relasi Aljabar : Difference relasi baru A MINUS B : B MINUS A
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 B
EMP SAL EMP ENO ENAME TITLE ENO ENAME EMP.TITLE SAL.TITLE SAL E1 J. Doe Elect. Eng E1 J. Doe Elect. Eng. Elect. Eng. 40000 E2 M. Smith Syst. Anal. E1 Elect. Eng. 34000 J. Doe Syst. Anal. E3 A. Lee Mech. Eng. E1 J. Doe Elect. Eng. Mech. Eng. 27000 E4 J. Miller Programmer E1 J. Doe Elect. Eng. Programmer 24000 E5 B. Casey Syst. Anal. E2 M. Smith Syst. Anal. Elect. Eng. 40000 E6 L. Chu Elect. Eng. E2 M. Smith Syst. Anal. Syst. Anal. 34000 E7 R. Davis Mech. Eng. E2 M. Smith Syst. Anal. Mech. Eng. 27000 E8 J. Jones Syst. Anal. E2 M. Smith Syst. Anal. Programmer 24000 E3 A. Lee Mech. Eng. Elect. Eng. 40000 E3 A. Lee Mech. Eng. Syst. Anal. 34000 SAL E3 A. Lee Mech. Eng. Mech. Eng. 27000 E3 A. Lee Mech. Eng. Programmer 24000 TITLE SAL Elect. Eng. 40000 Syst. Anal. 34000 E8 J. Jones Syst. Anal. Elect. Eng. 40000 Mech. Eng. 27000 E8 J. Jones Syst. Anal. Syst. Anal. 34000 Programmer 24000 E8 J. Jones Syst. Anal. Mech. Eng. 27000 E8 J. Jones 24000 Programmer Syst. Anal. 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 (σ) • A WHERE CITY = ‘Semarang’
Relasi Aljabar • Projection (π) • ekstraksi terhadap suatu atribut (kolom) pada suatu relasi yang memenuhi kondisi tertentu.
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 Jika suatu relasi yang tidak memiliki atribut yang memenuhi kodisi (memiliki nilai sama), maka A JOIN B adalah ekuivalen dengan A TIMES B.
EMP 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. Syst. Anal. E8 J. Jones SAL TITLE SAL Elect. Eng. 70000 Syst. Anal. 80000 Mech. Eng. 56000 Programmer 60000 Natural Join EMP SAL SAL ENO ENAME E.TITLE E1 J. Doe Elect. Eng. 70000 E2 M. Smith Syst. Anal. 80000 E3 A. Lee Mech. Eng. 56000 E4 J. Miller Programmer 60000 E5 B.Casey Syst.Anal 80000 E6 L. Chu Elect.Eng 70000 E7 R.Davis Mech.Eng 56000 E8 J. Jones Syst. Anal. 80000
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.
A B1 A/B1 A/B2 B2 A/B3 B3
R ENO PNO PNAME BUDGET 150000 E1 P1 Instrumentation E2 P1 Instrumentation 150000 E2 P2 Database Develop. 135000 E3 P1 Instrumentation 150000 E3 P4 Maintenance E4 P2 Instrumentation E5 P2 Instrumentation E6 P4 Maintenance E7 P3 CAD/CAM 310000 E8 P3 CAD/CAM 150000 S 150000 310000 250000 250000 PNAME PNO BUDGET P1 Instrumentation 150000 P4 Maintenance 310000 R / S ENO E3 Find the employees who work for both project P1 and project P4?
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 : formula, Boolean expression : variabel domain yang muncul pada : atribut-atribut : 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 • REIGNS(Sovereign, From, To)
Relasi Kalkulus PERSON(Name, Sex, Birth, Death)
Relasi Kalkulus FATHERHOOD(Father, Child)
Relasi Kalkulus • MOTHERHOOD(Mother, Child)
Relasi Kalkulus • Contoh : • Mengambil nama dan tanggal lahir dari anggota keluarga yang berstatus female (F). • Bentuk DRC :
Relasi Kalkulus : DRC • Mengambil Nama, Sex, dan dates (birth, death, mulai dan berakhirnya kekuasaan) untuk semua keluarga Sovereigns.
Relasi Kalkulus : DRC • Mengambil nama-nama Sovereigns yang ayahnya diketahui, tetapi tidak terdapat pada list sebagai anggota dinasti.
Relasi Kalkulus • Tuple Relational Calculus (TRC) • Ekspresi dalam TRC memiliki bentuk : formula Merupakan variabel tuple, satu-satunya variabel tuple di Satu set atribut yang berkorespodensi dengan Nilai dari ekspresi adalah relasi dalam yang berisi semua tuples yang menghasilkan .
Relasi Kalkulus : TRC Bentuk DRC Bentuk TRC
Relasi Kalkulus : TRC DRC TRC