PRAKTIKUM 2
“RDMBS“
Ibnu Naufal
3.34.13.1.11
IK-3B
Modul 2
RELATIONAL DATABASE
MANAGEMENT
SYSTEM (RDBMS)
Dosen: Dr. Kurnianingsih, S.T., M.T.
===========================================================================
==========
Kompetensi Dasar
• Mahasiswa mampu menjelaskan tentang RDBMS
• Mahasiswa mampu membedakan antara DMBS dan RDBMS
• Mahasiswa mengenali perintah-perintah umum yang ada pada RDBMS
Pendahuluan
Sebagian besar masalah yang dihadapi pada saat implementasi sistem apa pun adalah hasil dari desain
database yang buruk. Dalam banyak kasus, sistem harus terus dimodifikasi dalam berbagai
aspek/komponennya karena perubahan kebutuhan pengguna. Sangat penting bahwa perencanaan yang
tepat harus dilakukan. Relasi dalam database relasional (Relational Database) didasarkan pada skema
relasional, yang terdiri dari sejumlah atribut. Database relasional terdiri dari sejumlah hubungan/relasi
dengan skema database relasional yang terkait.
Tujuan dari desain basis data relasional adalah untuk menghasilkan seperangkat skema relasi yang
memungkinkan kita untuk menyimpan informasi tanpa redundansi yang tidak perlu dan juga untuk
mengambil informasi dengan mudah. Satu pendekatan untuk skema desain database adalah normalisasi.
Bentuk desain normal (normalized tables) digunakan untuk memastikan bahwa berbagai jenis anomali
dan inkonsistensi tidak ada dalam database.
RDBMS menyimpan data ke dalam kumpulan tabel, yang mungkin terdiri dari lebih dari satu kolom.
RDBMS juga menyediakan operator relasional untuk memanipulasi data yang disimpan ke dalam tabel
database. Sebagian besar RDBMS menggunakan SQL sebagai bahasa query-nya.
Contoh RDBMS yang paling populer adalah MS SQL Server, DB2, Oracle, PostgreSQL dan MySQL.
Model relasional (relational model) adalah contoh model berbasis record. Dinamakan demikian karena
basis data disusun dalam record dengan format dan jenis tertentu.
Setiap tabel berisi record dengan jenis tertentu. Setiap jenis record mendefinisikan sejumlah field, atau
atribut tertentu. Model data relasional adalah model data yang paling banyak digunakan, dan sebagian
besar sistem database saat ini didasarkan pada model relasional.
Relasi (relation) adalah satu-satunya struktur data yang digunakan dalam model data relasional untuk
mewakili entitas dan hubungan di antara mereka. Setiap atribut dari kolom diambil dari himpunan nilai
yang dikenal sebagai domain.
Dari perspektif historis, model data relasional relatif baru. Sistem database pertama didasarkan pada
jaringan atau model hierarki. Model data relasional saat ini telah menjadi model data primer untuk
aplikasi pemrosesan data komersial. Keberhasilannya dalam area ini telah menyebabkan aplikasinya
dipakai tidak hanya pada area desain berbantuan komputer (CAD = computer aided design) dan namun
juga pada lingkungan pemrosesan data yang sifatnya lebih umum.
• Secara interaktif
• Tertanam di dalam program lain (embedded).
SQL digunakan secara interaktif untuk secara langsung mengoperasikan database dan menghasilkan hasil
yang diinginkan. Pengguna memasukkan perintah SQL yang segera dieksekusi di RDBMS
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
console/terminal maupun GUI. Sebagian besar database memiliki alat yang memungkinkan eksekusi
interaktif bahasa SQL.
Cara kedua untuk mengeksekusi perintah SQL adalah dengan menanamkannya dalam bahasa lain seperti
Cobol, Pascal, BASIC, C, Visual Basic, Java, PHP, dll. Hasil perintah SQL yang tertanam disimpan ke
variabel dalam program host yang akan mengolahnya lebih lanjut (bisa jadi hanya menampilkan
hasilnya). Kombinasi SQL dengan bahasa pemrograman memungkinkan pembuatan antarmuka pengguna
dan akses basis data dalam satu aplikasi.
Terlepas dari apakah SQL tertanam atau digunakan secara interaktif, bahasanya dapat dibagi menjadi tiga
kelompok perintah, tergantung pada tujuannya, yaitu:
• CREATE TABLE
• ALTER TABLE
• DROP TABLE
• CREATE VIEW
• CREATE INDEX
• SELECT
• UPDATE
• DELETE
• INSERT
• GRANT
• REVOKE
• COMMIT
• ROLLBACK
PRAKTIKUM
Untuk memahami konsep RDBMS dan bahasa SQL-nya, kita akan menggunakan database SQLite.
Silakan download DB Browser for SQLite di sini: https://sqlitebrowser.org/. Silakan download sesuai
sistem operasi Anda (Windows, Mac, Linux)
Membuat Tabel
Kita akan membuat 2 buah tabel yaitu tabel “artist” dan tabel “track”. Ikuti langkah-langkah berikut untuk
membuatnya:
6. Tugas: silakan lakukan langkah-langkah di atas guna membuat tabel “track” sehingga berbentuk
seperti berikut:
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
Manipulasi data
Untuk melakukan manipulasi data menggunakan DB Browser, silakan masuk ke tab “Browse Data”.
1. Menggunakan SQLite Browser, silakan isi data pada tabel “artist” dengan records berikut:
2. Menggunakan SQLite Browser, silakan isi data pada tabel “track” dengan records berikut:
1. Pada “Database Structure”, pilih tabel “track”, kemudian klik pada tombol “Modify Table”
2. Pilih field “track_artist” kemudian isi kolom “Foreign Key” menjadi seperti berikut:
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
3. Jika tidak ada yang salah, maka DDL dari tabel “track” akan menjadi seperti berikut:
5. Execute
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
TUGAS
1. Jelaskan perbedaan antara DBMS dengan RDBMS!
2. Riset dan jelaskan mengenai ACID pada RDBMS! Apakah itu?
3. Pada praktikum, tunjukkan pada bagian mana kita menggunakan DDL, DML dan DCL!
4. Pada saat memasukkan data ke tabel “artist” dan tabel “track”, kita tidak perlu memasukkan isi
field “artist_id” dan “track_id”, mengapa?
5. Pada saat praktikum pembuatan relasi tabel, ada SQL statement berikut: ON UPDATE
CASCADE ON DELETE CASCADE. Riset dan jelaskan maksudnya!
6. Coba tambahkan record berikut pada tabel “track”: track_name = “Sayang”, track_artist = “3”.
Jelaskan apa dan mengapa terjadi demikian?
JAWAB
1. RDBMS dan DBMS
RDBMS: arsitektur database yang tabel-tabelnya memiliki hubungan relationship satu sama lain.
Hubungan disini menggunakan key pada masing-masing tabel.
DBMS: arsitektur database yang tabel-tabelnya tidak memiliki hubungan relationship satu sama
lain.
2. ACID
Atomicity adalah kemampuan database untuk menjamin bahwa baik semua bagian transaksi
dilakukan atau tidak sama sekali. Jika salah satu bagian dari transaksi gagal, seluruh transaksi
gagal.
Consistency memastikan data dapat dikembalikan dalam keadaan sebelum transaksi dimulai, jika
terjadi kegagalan.
Isolation memastikan transaksi yang masih dalam proses dan belum dilakukan (committed) harus
tetap terisolasi terhadap transaksi lainnya.
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
Durability memastikan data yang telah disimpan (committed data) disimpan oleh sistim
sebagaimana keadaannya , bahkan jika dalam keadaan kegagalan sistim dan restart sistem, data
tersebut tersedia dalam tahapan dan keadaan yang benar.
3. DDL, DML,DCL
DDL-CREATE
DML-INSERT
DML-UPDATE
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
DML-SELECT
4. Karena dalam pembuatan tabel, kedua field tersebut telah diset Auto Increment dimana value
akan terisi otomatis
5. Maksudnya adalah ketika terjadi update atau delete pada tabel parent maka akan langsun
berdampak pada tabel child.
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
6. Penambahan record tersebut tidak bias dilakukan karena pada tabel artist tidak terdapat artist dengan
artist_id “3”. Artist_id memiliki relasi dengan track_artist, jadi ketika pada tabel artist tidak ada maka
pada tabel track juga tidak dapat dilakukan proses penambahan tersebut.
- PRAGMA foreign_keys=off;
Praktikum Big Data – Dr. Kurnianingsih, S.T., M.T.
========================================
- PRAGMA foreign_keys=on;