-->

Database Perpustakaan Lengkap & Penjelasan Struktur Tabel

Pelajari contoh database perpustakaan lengkap dengan tabel buku, anggota, peminjaman, pengembalian beserta penjelasan strukturnya.

Database perpustakaan berguna untuk mengelola buku, anggota, peminjaman, dan pengembalian secara efisien. Artikel ini menjelaskan struktur tabel, relasi, dan alasannya.


1. Tabel books – Data Buku

Tabel books menyimpan informasi buku di perpustakaan:

  • book_id: Primary Key untuk setiap buku.
  • title: Judul buku.
  • author: Penulis buku.
  • publisher: Penerbit buku.
  • year: Tahun terbit.
  • stock: Jumlah buku tersedia.
CREATE TABLE books (

    book_id INT PRIMARY KEY AUTO_INCREMENT,

    title VARCHAR(255) NOT NULL,

    author VARCHAR(100),

    publisher VARCHAR(100),

    year YEAR,

    stock INT DEFAULT 0

);

IDJudulPenulisPenerbitTahunStok
1Belajar PHPBudi SantosoGramedia20205
2SQL DasarSiti AminahErlangga20193

Alasan desain:

Kolom lengkap untuk identifikasi buku dan memudahkan pencarian serta manajemen stok.



Database Perpustakaan Lengkap dan struktur tabel

2. Tabel members – Data Anggota

Menyimpan informasi anggota perpustakaan:

  • member_id: Primary Key.
  • name: Nama anggota.
  • email: Email anggota.
  • phone: Nomor telepon.
  • join_date: Tanggal bergabung.
CREATE TABLE members (

    member_id INT PRIMARY KEY AUTO_INCREMENT,

    name VARCHAR(100) NOT NULL,

    email VARCHAR(100) UNIQUE,

    phone VARCHAR(20),

    join_date DATE DEFAULT CURRENT_DATE

);

IDNamaEmailTeleponTanggal Bergabung
1Budi Santosobudi@example.com081234567892025-09-15
2Siti Aminahsiti@example.com081987654322025-09-16

Alasan desain:

Email unik untuk login dan tracking anggota, join_date untuk laporan aktivitas anggota.


3. Tabel loans – Peminjaman Buku

Tabel ini menyimpan data peminjaman:

  • loan_id: Primary Key.
  • member_id: Menghubungkan peminjaman ke anggota.
  • loan_date: Tanggal peminjaman.
  • due_date: Tanggal jatuh tempo pengembalian.
  • status: Status peminjaman (dipinjam/kembali/terlambat).
CREATE TABLE loans (

    loan_id INT PRIMARY KEY AUTO_INCREMENT,

    member_id INT,

    loan_date DATE DEFAULT CURRENT_DATE,

    due_date DATE,

    status VARCHAR(20) DEFAULT 'dipinjam',

    FOREIGN KEY (member_id) REFERENCES members(member_id)

);

IDID AnggotaTanggal PinjamTanggal Jatuh TempoStatus
112025-09-152025-09-22dipinjam
222025-09-162025-09-23dipinjam

Alasan desain:

Relasi ke anggota memudahkan tracking siapa meminjam buku, status dan due_date untuk manajemen pengembalian.


4. Tabel loan_items – Detail Buku Per Peminjaman

Tabel ini memungkinkan satu peminjaman memiliki banyak buku:

CREATE TABLE loan_items (

    loan_item_id INT PRIMARY KEY AUTO_INCREMENT,

    loan_id INT,

    book_id INT,

    quantity INT DEFAULT 1,

    FOREIGN KEY (loan_id) REFERENCES loans(loan_id),

    FOREIGN KEY (book_id) REFERENCES books(book_id)

);

IDID PeminjamanID BukuJumlah
1111
2121
3221

Alasan desain:

Membuat relasi many-to-many antara peminjaman dan buku. Satu peminjaman bisa memiliki banyak buku, satu buku bisa dipinjam beberapa kali.


Baca juga: Database Penjualan & Penjelasan Struktur Tabel

Kesimpulan

Database perpustakaan ini memiliki struktur terorganisir:

  • Buku (books) – Data buku lengkap dan stok tersedia.
  • Anggota (members) – Data anggota unik dan mudah dilacak.
  • Peminjaman (loans) – Menghubungkan anggota dan buku.
  • Detail Peminjaman (loan_items) – Relasi many-to-many antara peminjaman dan buku.

Desain ini memungkinkan sistem perpustakaan berjalan efisien, mudah dilacak, dan siap untuk laporan serta analisis peminjaman.


LihatTutupKomentar