📘 Materi Database Management System (DBMS)
1. Pengertian Database Management System (DBMS)
Database Management System (DBMS) adalah perangkat lunak yang digunakan untuk membuat, mengelola, dan mengakses database. DBMS menyediakan antarmuka yang memungkinkan pengguna untuk menyimpan, mengubah, dan mengambil data secara efisien dan aman.
Contoh DBMS populer:
-
Relasional: MySQL, PostgreSQL, Oracle, Microsoft SQL Server
-
Non-relasional (NoSQL): MongoDB, Redis, Cassandra, Firebase
2. Tujuan dan Fungsi DBMS
Tujuan DBMS:
-
Menyimpan data secara sistematis.
-
Memudahkan pengelolaan data.
-
Menjamin integritas dan keamanan data.
-
Mendukung akses data secara multi-user.
Fungsi DBMS:
-
Menyediakan antarmuka untuk query dan manipulasi data (misalnya SQL).
-
Mengontrol akses data dan hak pengguna.
-
Menjaga konsistensi data melalui transaksi (ACID properties).
-
Melakukan backup dan recovery data.
-
Menyediakan mekanisme indeks untuk mempercepat pencarian data.
3. Komponen Utama DBMS
-
DBMS Engine: Inti dari DBMS, menangani penyimpanan data dan query.
-
Database Schema: Struktur logis dari database, termasuk tabel, relasi, dan constraint.
-
Query Processor: Menerjemahkan perintah (query) pengguna menjadi instruksi yang dijalankan oleh sistem.
-
Transaction Manager: Menangani transaksi agar tetap konsisten.
-
Storage Manager: Mengelola cara data disimpan dan diakses di memori fisik.
-
Metadata Catalog: Menyimpan informasi tentang struktur data (data tentang data).
4. Jenis-Jenis DBMS
| Jenis DBMS | Keterangan | Contoh |
|---|---|---|
| Hierarchical | Data disusun seperti pohon (parent-child) | IBM IMS |
| Network | Mirip hierarki, tapi child bisa punya banyak parent | CODASYL |
| Relational (RDBMS) | Data disimpan dalam tabel, memakai SQL | MySQL, PostgreSQL |
| Object-oriented | Data berbasis objek, seperti dalam OOP | db4o, ObjectDB |
| NoSQL | Non-relasional, cocok untuk big data dan real-time | MongoDB, CouchDB |
5. Bahasa dalam DBMS
-
DDL (Data Definition Language)
Digunakan untuk membuat dan mengelola struktur database.
Contoh:CREATE,ALTER,DROP -
DML (Data Manipulation Language)
Digunakan untuk mengelola data (insert, update, delete).
Contoh:INSERT,UPDATE,DELETE -
DQL (Data Query Language)
Untuk mengambil data dari database.
Contoh:SELECT -
DCL (Data Control Language)
Mengatur hak akses pengguna.
Contoh:GRANT,REVOKE -
TCL (Transaction Control Language)
Mengatur transaksi data.
Contoh:COMMIT,ROLLBACK,SAVEPOINT
6. Konsep Kunci dalam DBMS
a. Entity dan Attribute
-
Entity: Objek nyata yang datanya disimpan (misal: Mahasiswa)
-
Attribute: Karakteristik dari entity (misal: Nama, NIM)
b. Relasi / Relationship
Menghubungkan antar entity.
c. Primary Key dan Foreign Key
-
Primary Key: Identitas unik tiap record
-
Foreign Key: Kunci dari tabel lain untuk membuat relasi
d. Normalization
Proses merancang tabel agar data efisien dan tidak redundant.
e. Transaction & ACID Properties
-
Atomicity: Semua bagian transaksi harus berhasil
-
Consistency: Data harus tetap konsisten
-
Isolation: Transaksi tidak saling mengganggu
-
Durability: Setelah berhasil, data tidak akan hilang
7. Kelebihan DBMS
Data lebih terstruktur dan terorganisir
Keamanan dan kontrol akses data
Dukungan multi-user
Backup dan recovery lebih mudah
Dapat menghindari duplikasi data
8. Kekurangan DBMS
Kompleksitas sistem dan biaya implementasi tinggi
Butuh tenaga ahli untuk pemeliharaan
Performa bisa menurun jika tidak dioptimasi
9. Contoh Query SQL Dasar (MySQL)
-- Membuat tabel
CREATE TABLE Mahasiswa (
NIM VARCHAR(10) PRIMARY KEY,
Nama VARCHAR(50),
Jurusan VARCHAR(30)
);
-- Menambahkan data
INSERT INTO Mahasiswa (NIM, Nama, Jurusan) VALUES ('22001', 'Dina', 'Informatika');
-- Menampilkan data
SELECT * FROM Mahasiswa;
-- Mengubah data
UPDATE Mahasiswa SET Nama = 'Dina Putri' WHERE NIM = '22001';
-- Menghapus data
DELETE FROM Mahasiswa WHERE NIM = '22001';
10. Kesimpulan
DBMS adalah sistem penting dalam dunia TI modern yang membantu mengelola data secara efisien, aman, dan terstruktur. Dengan memahami konsep dasar, jenis-jenis, bahasa SQL, serta implementasi praktisnya, kamu dapat membangun dan mengelola sistem informasi yang handal dan scalable.
0 Komentar