DBMS - Model Data Relasional

Hai, para penggemar basis data yang bersemangat! Hari ini, kita akan memulai perjalanan menarik ke dunia Model Data Relasional. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya akan memandu Anda melalui konsep fundamental ini dalam sistem manajemen basis data (DBMS). Jangan khawatir jika Anda baru belajar pemrograman – kita akan mulai dari dasar dan menaikkan tingkatnya. Jadi, ambil secangkir kopi, dan mari kita masuk ke dalam!

DBMS - Relational Data Model

Konsep

Apa Itu Model Data Relasional?

Bayangkan Anda sedang mengatur perpustakaan besar. Anda memiliki buku, penulis, genre, dan penerbit. Bagaimana Anda akan mencatat semua informasi ini secara efisien? Itu adalah tempat model data relasional berguna!

Model data relasional adalah cara mengatur data dalam basis data yang mengorganisir informasi ke dalam tabel (juga disebut relasi) dengan baris dan kolom. Itu seperti membuat serangkaian spreadsheet yang saling terhubung.

mari kita rincikan ini dengan contoh:

CREATE TABLE Books (
BookID INT PRIMARY KEY,
Title VARCHAR(100),
AuthorID INT,
GenreID INT,
PublisherID INT
);

CREATE TABLE Authors (
AuthorID INT PRIMARY KEY,
Name VARCHAR(50),
BirthDate DATE
);

Dalam contoh ini, kita telah membuat dua tabel: Books dan Authors. Setiap tabel memiliki kolom (field) yang menjelaskan atribut yang berbeda. BookID dan AuthorID adalah identifier unik untuk setiap rekord di tabel mereka masing-masing.

Komponen Utama Model Relasional

  1. Tabel (Relasi): Ini adalah struktur utama yang menahan data. Dalam contoh perpustakaan kita, Books dan Authors adalah tabel.

  2. Atribut (Kolom): Ini mewakili properti entitas dalam tabel kita. Sebagai contoh, Title dan Name adalah atribut.

  3. Tupel (Baris): Setiap baris dalam tabel mewakili rekord tunggal atau insiden entitas.

  4. Domain: Ini adalah himpunan nilai yang diizinkan untuk atribut. Sebagai contoh, domain untuk BookID mungkin adalah bilangan bulat positif.

  5. Kunci: Ini adalah atribut khusus yang digunakan untuk mengidentifikasi rekord secara unik dan menetapkan hubungan antara tabel.

Jenis Kunci

Mari kita mendalami kunci dengan tabel yang praktis:

Tipe Kunci Deskripsi Contoh
Kunci Primer Mengidentifikasi setiap rekord dalam tabel BookID di tabel Books
Kunci Asing Mengacu pada kunci primer tabel lain AuthorID di tabel Books
Kunci Kandidat Bisa digunakan sebagai kunci primer ISBN untuk buku
Kunci Komposit Kunci yang terdiri dari beberapa kolom (CourseID, StudentID) untuk tabel pendaftaran kursus

Hubungan

Salah satu aspek yang paling kuat dari model relasional adalah kemampuannya untuk menetapkan hubungan antara tabel. Ada tiga jenis utama:

  1. Satu-ke-Satu (1:1): Setiap rekord di Tabel A terhubung dengan satu rekord di Tabel B.

Contoh:

CREATE TABLE Passport (
PassportID INT PRIMARY KEY,
PassportNumber VARCHAR(20),
ExpiryDate DATE,
CitizenID INT UNIQUE,
FOREIGN KEY (CitizenID) REFERENCES Citizens(CitizenID)
);
  1. Satu-ke-Banyak (1:N): Satu rekord di Tabel A bisa terhubung dengan banyak rekord di Tabel B.

Contoh:

CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
OrderDate DATE,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
  1. Banyak-ke-Banyak (M:N): Banyak rekord di Tabel A bisa terhubung dengan banyak rekord di Tabel B.

Contoh:

CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Constraint

Sekarang, mari kita bicarakan constraint – aturan yang membantu menjaga integritas dan konsistensi data kita. P想象 mereka seperti petugas perpustakaan yang memastikan buku-buku tercatat dengan benar dan diatur di rak yang sesuai.

Jenis Constraint

Tipe Constraint Deskripsi Contoh
NOT NULL Memastikan kolom tidak bisa memiliki nilai NULL Name VARCHAR(50) NOT NULL
UNIQUE Memastikan semua nilai di kolom berbeda Email VARCHAR(100) UNIQUE
Kunci Primer Mengidentifikasi setiap rekord dalam tabel StudentID INT PRIMARY KEY
Kunci Asing Memastikan integritas referensi antara tabel FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID)
CHECK Memastikan semua nilai di kolom memenuhi syarat khusus CHECK (Age >= 18)
DEFAULT Mengatur nilai default untuk kolom jika nilai tidak ditentukan Balance DECIMAL(10,2) DEFAULT 0.00

Lihat constraint ini dalam aksi:

CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Email VARCHAR(100) UNIQUE,
Age INT CHECK (Age >= 18),
EnrollmentDate DATE DEFAULT CURRENT_DATE,
DepartmentID INT,
FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);

Dalam contoh ini:

  • StudentID adalah kunci primer.
  • Name tidak boleh null.
  • Email harus unik untuk setiap murid.
  • Age harus 18 atau lebih tua.
  • EnrollmentDate akan default ke tanggal saat ini jika tidak ditentukan.
  • DepartmentID adalah kunci asing yang mengacu ke tabel Departments.

Constraint ini membantu menjaga integritas dan konsistensi data kita di seluruh basis data. Mereka seperti aturan di perpustakaan kita yang memastikan buku-buku tercatat dengan benar, diidentifikasi secara unik, dan terhubung ke penulis dan penerbit yang tepat.

Sekarang kita telah selesai memperkenalkan Model Data Relasional, saya harap Anda mulai melihat betapa kuat dan teratur pendekatan ini dalam manajemen data. Itu seperti memiliki perpustakaan yang benar-benar teratur di mana setiap buku berada di tempatnya, mudah dicari, dan terhubung ke semua informasi relevan.

Ingat, belajar basis data adalah perjalanan. Jangan khawatir jika segala sesuatu belum jelas segera. Latih membuat tabel, menetapkan hubungan, dan mengatur constraint. Sebelum Anda sadari, Anda akan menjadi ahli dalam mendesain struktur basis data yang efisien dan kuat!

Dalam pelajaran berikutnya, kita akan mendalami cara mengquery struktur relasional ini menggunakan SQL. Sampai jumpa, selamat modeling data!

Credits: Image by storyset