Terjemahan ke Bahasa Indonesia

DBMS - Model Data Relasional

Hai, para entusiastawan basis data yang sedang berkembang! Hari ini, kita akan memulai sebuah perjalanan yang menarik ke dalam dunia Model Data Relasional. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya akan mengorbit Anda melalui konsep fundamental ini dalam sistem manajemen basis data (DBMS). Jangan khawatir jika Anda baru belajar pemrograman - kita akan mulai dari dasar dan kemudian maju perlahan. Jadi, ambil sebuah gelas kopi, dan mari kita masuk ke dalamnya!

DBMS - Relational Data Model

Konsep

Apa Itu Model Data Relasional?

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

Model data relasional adalah cara menyusun data dalam basis data yang mengatur informasi kedalam tabel (juga disebut relasi) dengan baris dan kolom. Itu seperti membuat sebuah rangkaian spreadsheet yang saling terhubung.

mari kita rinci ini dengan sebuah 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 dalam 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 sebuah 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 masuk lebih mendalam ke kunci dengan tabel yang praktis:

Tipe Kunci Deskripsi Contoh
Kunci Primer Mengidentifikasi secara unik setiap rekord dalam tabel BookID di tabel Books
Kunci Asing Mengacu ke kunci primer tabel lain AuthorID di tabel Books
Kunci Kandidat Dapat 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 dapat 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 dapat 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. Picturkan mereka sebagai petugas perpustakaan yang memastikan buku-buku terkategorisasi dengan baik, diidentifikasi secara unik, dan terhubung ke penulis dan penerbit yang benar.

Jenis Constraint

Tipe Constraint Deskripsi Contoh
NOT NULL Memastikan kolom tidak dapat memiliki nilai NULL Name VARCHAR(50) NOT NULL
UNIQUE Memastikan semua nilai dalam kolom berbeda Email VARCHAR(100) UNIQUE
Kunci Primer Mengidentifikasi secara unik 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 dalam kolom memenuhi kondisi tertentu CHECK (Age >= 18)
DEFAULT Menetapkan nilai default untuk kolom jika tidak ada nilai yang 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 dapat 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. Itu seperti aturan di perpustakaan kita yang memastikan buku-buku terkategorisasi dengan baik, diidentifikasi secara unik, dan terhubung ke penulis dan penerbit yang benar.

Seperti yang kita selesaikan pengenalan ini ke Model Data Relasional, saya harap Anda mulai melihat betapa kuat dan terorganisir pendekatan ini dalam manajemen data. Ingat, belajar basis data adalah perjalanan. Jangan khawatir jika segala sesuatu tidak langsung berjalan mulus. Latih membuat tabel, menetapkan hubungan, dan menempatkan constraint. Secepatnya, Anda akan menjadi ahli dalam mendesain struktur basis data yang efisien dan kuat!

Dalam pelajaran berikutnya, kita akan masuk lebih dalam ke dalam penggunaan SQL untuk mengquery struktur relasional ini. Sampai saat itu, semoga Anda senang modeling data!

Credits: Image by storyset