πŸ“˜ Pertemuan 7 - Index Table & Backup Restore

🎯 Tujuan Pembelajaran

Setelah mengikuti pertemuan ini, siswa diharapkan dapat:

  1. Menjelaskan fungsi dan jenis-jenis index pada tabel database.
  2. Membuat dan mengelola index di SQL Server.
  3. Melakukan proses backup dan restore database.
  4. Memahami pentingnya backup data untuk menjaga keamanan informasi.

🧠 1. Pengantar Index di SQL Server

Index adalah struktur data tambahan yang digunakan oleh database untuk mempercepat proses pencarian data pada tabel.
Ibarat seperti daftar isi pada buku β€” tanpa index, SQL Server harus membaca seluruh tabel untuk mencari data.

πŸ“— Jenis-jenis Index:

Jenis IndexDeskripsi
Clustered IndexMengatur data fisik dalam tabel sesuai urutan index (hanya satu per tabel).
Non-Clustered IndexMenyimpan pointer ke lokasi data, bisa lebih dari satu per tabel.
Unique IndexMenjamin tidak ada data yang duplikat.
Composite IndexIndex yang mencakup lebih dari satu kolom.

πŸ’» 2. Membuat Index

Gunakan database contoh berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE DATABASE Perpustakaan;
GO
USE Perpustakaan;
GO

CREATE TABLE Buku (
id_buku INT PRIMARY KEY IDENTITY(1,1),
judul NVARCHAR(100),
pengarang NVARCHAR(100),
tahun_terbit INT,
kategori NVARCHAR(50)
);

INSERT INTO Buku (judul, pengarang, tahun_terbit, kategori)
VALUES
('Laskar Pelangi', 'Andrea Hirata', 2005, 'Novel'),
('Bumi Manusia', 'Pramoedya A. Toer', 1980, 'Sejarah'),
('Negeri 5 Menara', 'Ahmad Fuadi', 2009, 'Inspiratif'),
('Sang Pemimpi', 'Andrea Hirata', 2006, 'Novel');

✳ Membuat Non-Clustered Index

1
2
CREATE INDEX idx_Pengarang
ON Buku (pengarang);

✳ Membuat Unique Index

1
2
CREATE UNIQUE INDEX idx_JudulUnik
ON Buku (judul);

✳ Membuat Composite Index

1
2
CREATE INDEX idx_KategoriTahun
ON Buku (kategori, tahun_terbit);

πŸ” 3. Melihat dan Mengubah Index

Menampilkan Daftar Index

1
EXEC sp_helpindex 'Buku';

Mengubah Nama Index

1
EXEC sp_rename 'idx_Pengarang', 'idx_NamaPengarang', 'INDEX';

Menghapus Index

1
DROP INDEX idx_NamaPengarang ON Buku;

πŸ—„οΈ 4. Backup dan Restore Database

πŸ”Έ Pengertian

  • Backup: Proses menyalin data dari database ke file cadangan.
  • Restore: Mengembalikan data dari file backup ke database baru atau lama.

πŸ’½ 5. Membuat Backup Database

Pastikan database sedang digunakan:

1
2
USE Perpustakaan;
GO

Backup ke File .bak

1
2
3
4
5
BACKUP DATABASE Perpustakaan
TO DISK = 'C:\Backup\Perpustakaan.bak'
WITH FORMAT,
MEDIANAME = 'BackupPerpustakaan',
NAME = 'Full Backup of Perpustakaan';

♻️ 6. Melakukan Restore Database

1
2
3
4
RESTORE DATABASE Perpustakaan_Restore
FROM DISK = 'C:\Backup\Perpustakaan.bak'
WITH MOVE 'Perpustakaan' TO 'C:\SQLData\Perpustakaan_Restore.mdf',
MOVE 'Perpustakaan_log' TO 'C:\SQLData\Perpustakaan_Restore.ldf';

🧩 7. Latihan Mandiri

🧱 Bagian A - Index

  1. Buat tabel baru Anggota dengan kolom:
    id_anggota, nama, alamat, tanggal_daftar, dan no_telepon.
  2. Tambahkan Clustered Index pada id_anggota.
  3. Buat Non-Clustered Index pada kolom nama.
  4. Coba jalankan perintah SELECT dengan dan tanpa index, amati perbedaan kecepatan (gunakan SET STATISTICS IO ON).
  5. Ganti nama index nama menjadi idx_NamaAnggota.

πŸ’Ύ Bagian B - Backup & Restore

  1. Lakukan backup penuh untuk database Perpustakaan.
  2. Buat folder baru untuk menampung hasil backup.
  3. Simulasikan kehilangan database dengan perintah:
    1
    DROP DATABASE Perpustakaan;
  4. Restore kembali database dari file .bak yang telah dibuat.
  5. Verifikasi bahwa seluruh data telah kembali dengan:
    1
    SELECT * FROM Buku;

πŸ“š Tugas Akhir (Dikumpulkan)

Buat laporan sederhana berisi:

  • Jenis index yang kamu buat.
  • Screenshot hasil query sp_helpindex.
  • Screenshot proses backup dan restore.
  • Kesimpulan mengenai manfaat index dan backup database.