Pertemuan Ke-6 Aljabar Relasional Sistem Basis Data (1230283) Pertemuan Ke-6 Aljabar Relasional Rifki Indra Perwira rifki@upnyk.ac.id Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Deskripsi Pengertian aljabar relasional (relational algebra) Macam-macam operator basis data relasional. Kamus data dan katalog sistem Aljabar relasional merupakan basic SQL tetapi bukan SQL Teknik Informatika - UPN[V]Yk
Tujuan Instruksional Khusus (TIK) Tujuan perkuliahan ini agar Mahasiswa dapat menje-laskan pengertian tentang aljabar relasional. Mahasiswa dapat menjelaskan macam-macam opera-tor basis data relasional beserta contohnya. Mahasiswa dapat menjelaskan tentang kamus data dan katalog sistem. Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Aljabar Relasional Aljabar Relasional (Relational Algebra) Aljabar relasional adalah sekumpulan operasi yang diguna-kan untuk melakukan proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan dari sebuah basis data. Secara umum dibagi menjadi dua macam: Operasi himpunan, seperti : UNION, INTERSECTION, DIFFERENCE, dan CARTESIAN PRODUCT. Operasi yang dikembangkan secara khusus untuk basis data relasional, seperti : SELECT, PROJECT dan JOIN Teknik Informatika - UPN[V]Yk
Gambar 6.1. Notasi operasi UNION Aljabar Relasional UNION UNION menggabungkan semua baris dari dua buah tabel dan kedua tabel tersebut harus sesuai. Notasi : (<nama relasi/tbl-1>) ∪ (<nama relasi/tbl-2>) hasil Gambar 6.1. Notasi operasi UNION Teknik Informatika - UPN[V]Yk
Gambar 6.2. Contoh operasi UNION Aljabar Relasional Contoh : Gambar 6.2. Contoh operasi UNION Teknik Informatika - UPN[V]Yk
Gambar 6.3. Notasi operasi INTERSECTION Aljabar Relasional INTERSECTION INTERSECTION menghasilkan sebuah daftar yang berisi hanya record-record yang terdapat pada kedua tabel dan kedua tabel tersebut harus sesuai. Notasi : (<nama relasi/tbl-1>) (<nama relasi/tbl-2>) Gambar 6.3. Notasi operasi INTERSECTION Teknik Informatika - UPN[V]Yk
Gambar 6.4. Contoh operasi Intersection Aljabar Relasional Contoh : Gambar 6.4. Contoh operasi Intersection Teknik Informatika - UPN[V]Yk
Gambar 6.5. Notasi operasi DIFFERENCE Aljabar Relasional DIFFERENCE (selisih) DIFFERENCE menghasilkan semua record yang terdapat pada satu tabel tetapi tidak terdapat pada tabel lainnya dan kedua tabel tersebut harus sesuai. Notasi : (<nama relasi-1>) - (<nama relasi-2>) Hasil Gambar 6.5. Notasi operasi DIFFERENCE Teknik Informatika - UPN[V]Yk
Gambar 6.6. Contoh operasi DIFFERENCE Aljabar Relasional Contoh : Tabel 1 Tabel 2 Hasil Gambar 6.6. Contoh operasi DIFFERENCE Teknik Informatika - UPN[V]Yk
Gambar 6.7. Notasi operasi DIFFERENCE Aljabar Relasional CARTESIAN PRODUCT (cros product) Operasi PRODUCT menghasilkan sebuah daftar semua pasa-ngan record dua buah tabel. Notasi : (<nama relasi/tbl-1>) X (<nama relasi/tbl-2>) Hasil Gambar 6.7. Notasi operasi DIFFERENCE Teknik Informatika - UPN[V]Yk
Gambar 6.8. Contoh operasi PRODUCT Aljabar Relasional Contoh : Hasil Wali Mahasiswa X Hasil Wali Mahasiswa X Gambar 6.8. Contoh operasi PRODUCT Teknik Informatika - UPN[V]Yk
Gambar 6.9. Notasi operasi SELECT Aljabar Relasional SELECT SELECT menghasilkan nilai untuk semua atribut yang ditemu-kan dalam tabel. Input berupa sebuah tabel dan hasilnya juga sebuah tabel Notasi : <kondisi pilihan>(<nama relasi/tbl>) Hasil Gambar 6.9. Notasi operasi SELECT Teknik Informatika - UPN[V]Yk
σSKS>=20 (Mahasiswa) Gambar 6.10. Contoh operasi SELECT Aljabar Relasional Contoh-1 : σSKS>=20 (Mahasiswa) Mahasiswa Hasil Gambar 6.10. Contoh operasi SELECT Teknik Informatika - UPN[V]Yk
Aljabar Relasional σSKS=18 OR IPK<3.00 (Mahasiswa) Contoh-2 : Hasil Gambar 6.11. Contoh operasi SELECT menggunakan OR Teknik Informatika - UPN[V]Yk
Gambar 6.12. Notasi operasi PROJECT Aljabar Relasional PROJECT PROJECT menghasilkan daftar semua nilai untuk atribut yang dipilih. Notasi : <daftar attribut>(<nama relasi>) Hasil Gambar 6.12. Notasi operasi PROJECT Teknik Informatika - UPN[V]Yk
Gambar 6.13. Contoh operasi PROJECT Aljabar Relasional Contoh : Nama (Mahasiswa) Mahasiswa Hasil Gambar 6.13. Contoh operasi PROJECT Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Aljabar Relasional JOIN JOIN digunakan untuk mengkombinasikan tuple (record) dari dua tabel yang berbeda menjadi satu tuple (record). JOIN memiliki kemampuan untuk mendukung basis data relasional, memungkinkan penggunaan tabel terpisah yang dihubungkan melalui atribut yang sama. Notasi : (<nama relasi-1>) (<nama relasi-2>) Natural JOIN menghubungkan tabel dengan memilih hanya record dengan nilai yang digunakan bersama-sama pada atribut yang sama. Operator ini akan menghasilkan tiga tahapan proses: PRODUCT SELECT PROJECT Teknik Informatika - UPN[V]Yk
Gambar 6.14. Ilustrasi operasi NATURAL JOIN tabel Mahasiswa dan Wali Aljabar Relasional Contoh: MAHASISWA WALI Mahasiswa Wali Gambar 6.14. Ilustrasi operasi NATURAL JOIN tabel Mahasiswa dan Wali Teknik Informatika - UPN[V]Yk
Gambar 6.15. Hasil operasi NATURAL JOIN tahap I Aljabar Relasional Hasil Tahap I: PRODUCT Gambar 6.15. Hasil operasi NATURAL JOIN tahap I Teknik Informatika - UPN[V]Yk
Gambar 6.16. Hasil operasi NATURAL JOIN tahap II Aljabar Relasional Hasil Tahap II: SELECT Gambar 6.16. Hasil operasi NATURAL JOIN tahap II Teknik Informatika - UPN[V]Yk
Gambar 6.17. Hasil operasi NATURAL JOIN tahap III Aljabar Relasional Hasil Tahap III: PROJECT Gambar 6.17. Hasil operasi NATURAL JOIN tahap III Teknik Informatika - UPN[V]Yk
Gambar 6.18. Hasil operasi FULL OUTER JOIN Aljabar Relasional FULL OUTER JOIN : pada Full Outer Join pasangan data yang tidak cocok akan tetap dipertahankan dan nilai untuk tabel lainnya yang tidak cocok akan dibiarkan kosong. Notasi : (<nama relasi-1>) (<nama relasi-2>) Contoh : Gambar 6.18. Hasil operasi FULL OUTER JOIN Teknik Informatika - UPN[V]Yk
Gambar 6.19. Hasil operasi LEFT OUTER JOIN Aljabar Relasional LEFT OUTER JOIN : pada Left Outer Join pasangan data yang tidak cocok hanya pada tabel di sebelah kiri yang akan tetap dipertahankan dan nilai relasinya dibiarkan kosong. Notasi : (<nama relasi-1>) (<nama relasi-2>) Contoh : Gambar 6.19. Hasil operasi LEFT OUTER JOIN Teknik Informatika - UPN[V]Yk
Gambar 6.20. Hasil operasi RIGHT OUTER JOIN Aljabar Relasional RIGHT OUTER JOIN : pada Right Outer Join pasangan data yang tidak cocok hanya pada tabel di sebelah kanan yang akan tetap dipertahankan dan nilai relasinya dibiarkan kosong. Notasi : (<nama relasi-1>) (<nama relasi-2>) Contoh : Gambar 6.20. Hasil operasi RIGHT OUTER JOIN Teknik Informatika - UPN[V]Yk
Gambar 6.21. Notasi operasi DIFFERENCE Aljabar Relasional DIVISION Operasi DIVISION memerlukan dua buah relasi masing-masing relasi-1 dan relasi-2, dimana isi relasi-2 merupakan himpunan bagian isi relasi-1 dan relasi-2 tidak kosong. Notasi : (<nama relasi-1>) ÷ (<nama relasi-2>) Hasil ÷ Gambar 6.21. Notasi operasi DIFFERENCE Teknik Informatika - UPN[V]Yk
Gambar 6.22. Contoh operasi DIVISION Aljabar Relasional Contoh : Hasil Gambar 6.22. Contoh operasi DIVISION Teknik Informatika - UPN[V]Yk
Tabel 6.1. Contoh Kamus Data Aljabar Relasional Kamus Data dan Katalog Sistem Kamus Data berisi metadata untuk menjelaskan secara rinci catatan semua tabel di dalam suatu basis data. Tabel 6.1. Contoh Kamus Data Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Aljabar Relasional Katalog Sistem adalah kamus data sistem yang sangat detail yang menggambarkan semua objek di dalam suatu basis data. Basis data yang dibentuk sistem dimana tabel-tabelnya menyimpan isi dan sifat-sifat basis data. Tabel-tabelnya dapat diproses seperti tabel-tabel lainnya. Secara otomatis menghasilkan dokumentasi basis data Contoh : kalo pernah ke togamas Teknik Informatika - UPN[V]Yk
Tipe Data Tabel 6.1. Tipe data teks pada MySQL No Tipe Data Keterangan Kapasitas 1 CHAR(M) Fix L : 1 – 255 char M bytes, 1 <= M <= 255 2 VARCHAR(M) Var L: 1 – 255 char L+1 bytes, dimana L <= M dan 1 <= M <= 255 3 TINYTEXT L max : 255 char L+1 bytes, dimana L < 2^8 4 TEXT, BLOB L max : 65535 char L+2 bytes, dimana L < 2^16 5 MEDIUMTEXT L max : 16777215 char L+3 bytes, dimana L < 2^24 6 LONGTEXT L max : 4294967295 char L+4 bytes, dimana L < 2^32 Teknik Informatika - UPN[V]Yk
Tipe Data Tabel 6.2. Tipe data numerik pada MySQL No Tipe Data Keterangan Kap. 1 TINYINT() (-128 s/d 127) / (0 s/d 255) 1 byte 2 SMALLINT() (-32768 s/d 32767) / (0 s/d 65535) 2 byte 3 MEDIUMINT() (-8388608 s/d 8388607) / (0 s/d 16777215) 3 byte 4 INT() (-2147483648 s/d 2147483647) / (0 s/d 4294967295) 4 byte 5 BIGINT() 0 sd 18446744073709551615 8 byte Teknik Informatika - UPN[V]Yk
Tabel 6.3. Tipe data numerik (lanjutan…) No Tipe Data Keterangan Kap. 1 FLOAT -3.402823466E+38 s/d -1.175494351E-38, 0 dan 1.175494351E-38 s/d 3.402823466E+38 4 byte 2 DOUBLE -1.7976931348623157E+308 s/d -2.2250738585072014E-308, 0 dan 2.2250738585072014E-308 s/d 1.7976931348623157E+308. 8 byte 3 REAL Sama dengan DOUBLE 4 DECIMAL(M,D) Sama dengan DOUBLE, M=lebar D=desimal M byte (D+2, if M < D) 5 NUMERIC(M,D) Sama dengan DECIMAL Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk SQL PRIMARY KEY Sebuah primary key (kunci primer) digunakan untuk menge-nali secara unik setiap baris dalam sebuah tabel. Sebuah primary key dapat terdiri dari satu atau beberapa field dalam sebuah tabel. Jika yang digunakan sebagai primary key adalah gabungan dari beberapa field maka disebut dengan composite key (kunci gabungan). NOT NULL Sebagai default, sebuah kolom dapat bernilai NULL. Bila diinginkan kolom tersebut harus terisi data (tidak boleh NULL) maka digunakan NOT NULL ketika mendefinisikan kolom tersebut. Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk SQL UNIQUE UNIQUE digunakan untuk memastikan bahwa setiap nilai dalam sebuah kolom pasti berbeda. CHECK CHECK digunakan untuk memastikan bahwa nilai dalam sebuah kolom telah sesuai dengan kondisi yang diinginkan. FOREIGN KEY Sebuah foreign key (kunci tamu) adalah sebuah field atau beberapa field yang sama dengan primary key pada tabel lainnya, yang berfungsi sebagai penghubung. Tujuan dibuat-nya foreign key adalah untuk meyakinkan integritas referensial (referential integrity) dari sebuah data. Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Ringkasan Aljabar relasional adalah sekumpulan operasi yang diguna-kan untuk melakukan proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan dari sebuah basis data. Secara umum dibagi menjadi dua macam: Operasi himpunan, seperti : UNION, INTERSECTION, DIFFERENCE, dan CARTESIAN PRODUCT. Operasi yang dikembangkan secara khusus untuk basis data relasional, seperti : SELECT, PROJECT dan JOIN Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Soal Latihan Apa yang dimaksud dengan model basis data ? Ada berapa macam model basis data ? jelaskan! Jelaskan yang anda ketahui tentang model basis data implentasi ! Apa keuntungan dan kerugian model basis data relasional? Jelaskan ciri-ciri kesuksesan basis data era internet ? Teknik Informatika - UPN[V]Yk
Teknik Informatika - UPN[V]Yk Referensi Buku Teks (Textbook) 1. Date, C.J. 2000, An Introduction to Database System, Addison Wesley Publishing Company, Vol. 7, New York. 2. Fathansyah, 1999, Basis Data, Informatika, Bandung. Referensi 3. Elmasri, Ramez; Navathe, Shamkant B., 2001, Fundamentals of Database Systems, The Benjamin/ Cummings Publishing Company, Inc., California. Teknik Informatika - UPN[V]Yk