Sistem Basis Data 1230283 Pertemuan Ke6 Aljabar Relasional
Sistem Basis Data (1230283) Pertemuan Ke-6 Aljabar Relasional Rifki Indra Perwira rifki@upnyk. ac. id Teknik Informatika - UPN[V]Yk 1
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 2
Tujuan Instruksional Khusus (TIK) Tujuan perkuliahan ini agar Mahasiswa dapat menjelaskan pengertian tentang aljabar relasional. ¿ Mahasiswa dapat menjelaskan macam-macam operator basis data relasional beserta contohnya. ¿ Mahasiswa dapat menjelaskan tentang kamus data dan katalog sistem. ¿ Teknik Informatika - UPN[V]Yk 3
Aljabar Relasional (Relational Algebra) ¿ Aljabar relasional adalah sekumpulan operasi yang digunakan 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 4
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 5
Aljabar Relasional ¨ Contoh : Gambar 6. 2. Contoh operasi UNION Teknik Informatika - UPN[V]Yk 6
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 7
Aljabar Relasional ¨ Contoh : Gambar 6. 4. Contoh operasi Intersection Teknik Informatika - UPN[V]Yk 8
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 9
Aljabar Relasional ¨ Contoh : Tabel 1 Tabel 2 Hasil Gambar 6. 6. Contoh operasi DIFFERENCE Teknik Informatika - UPN[V]Yk 10
Aljabar Relasional ¿ CARTESIAN PRODUCT (cros product) ¨ Operasi PRODUCT menghasilkan sebuah daftar semua pasangan 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 11
Aljabar Relasional ¨ Contoh : Wali Mahasiswa Hasil X Gambar 6. 8. Contoh operasi PRODUCT Teknik Informatika - UPN[V]Yk 12
Aljabar Relasional ¿ SELECT ¨ SELECT menghasilkan nilai untuk semua atribut yang ditemukan 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 13
Aljabar Relasional ¨ Contoh-1 : σSKS>=20 (Mahasiswa) Mahasiswa Hasil Gambar 6. 10. Contoh operasi SELECT Teknik Informatika - UPN[V]Yk 14
Aljabar Relasional ¨ Contoh-2 : σSKS=18 OR IPK<3. 00 (Mahasiswa) Mahasiswa Hasil Gambar 6. 11. Contoh operasi SELECT menggunakan OR Teknik Informatika - UPN[V]Yk 15
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 16
Aljabar Relasional ¨ Contoh : Nama (Mahasiswa) Mahasiswa Hasil Gambar 6. 13. Contoh operasi PROJECT Teknik Informatika - UPN[V]Yk 17
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 18
Aljabar Relasional ¨ Contoh: MAHASISWA WALI Mahasiswa Wali Gambar 6. 14. Ilustrasi operasi NATURAL JOIN tabel Mahasiswa dan Wali Teknik Informatika - UPN[V]Yk 19
Aljabar Relasional ¨ Hasil Tahap I: PRODUCT Gambar 6. 15. Hasil operasi NATURAL JOIN tahap I Teknik Informatika - UPN[V]Yk 20
Aljabar Relasional ¨ Hasil Tahap II: SELECT Gambar 6. 16. Hasil operasi NATURAL JOIN tahap II Teknik Informatika - UPN[V]Yk 21
Aljabar Relasional ¨ Hasil Tahap III: PROJECT Gambar 6. 17. Hasil operasi NATURAL JOIN tahap III Teknik Informatika - UPN[V]Yk 22
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 23
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 24
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 25
Aljabar Relasional ¿ DIVISION ¨ Operasi DIVISION memerlukan dua buah relasi 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 26
Aljabar Relasional ¨ Contoh : Hasil Gambar 6. 22. Contoh operasi DIVISION Teknik Informatika - UPN[V]Yk 27
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 28
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 29
Tipe Data Tabel 6. 1. Tipe data teks pada My. SQL 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 6 LONGTEXT L+3 bytes, dimana L < 2^24 L max : 4294967295 char L+4 bytes, dimana L < 2^32 Teknik Informatika - UPN[V]Yk 30
Tipe Data Tabel 6. 2. Tipe data numerik pada My. SQL 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 31
Tipe Data Tabel 6. 3. Tipe data numerik (lanjutan…) No Tipe Data Keterangan Kap. FLOAT -3. 402823466 E+38 s/d -1. 175494351 E-38, 0 dan 1. 175494351 E-38 s/d 3. 402823466 E+38 4 byte 2 DOUBLE -1. 7976931348623157 E+308 s/d -2. 2250738585072014 E-308, 0 dan 2. 2250738585072014 E-308 s/d 1. 7976931348623157 E+308. 8 byte 3 REAL Sama dengan DOUBLE 8 byte 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 M byte (D+2, if M < D) 1 Teknik Informatika - UPN[V]Yk 32
SQL ¿ PRIMARY KEY ¨ Sebuah primary key (kunci primer) digunakan untuk mengenali 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 33
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 dibuatnya foreign key adalah untuk meyakinkan integritas referensial (referential integrity) dari sebuah data. Teknik Informatika - UPN[V]Yk 34
Ringkasan ¿ Aljabar relasional adalah sekumpulan operasi yang digunakan 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 35
Soal Latihan 1. 2. 3. 4. 5. 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 36
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 37
- Slides: 37