Créer une base de données PostgreSQL complète pour une bibliothèque publique : gestion des livres, adhérents, emprunts, réservations et amendes.
Durée estimée : 3–4 heures | Niveau : Débutant–Intermédiaire
-- Tables principales
authors (id, name, birthdate, nationality)
books (id, title, isbn, author_id, category_id, published_year, total_copies)
copies (id, book_id, condition, available) -- exemplaires physiques
members (id, first_name, last_name, email, card_expires_at)
categories (id, name, description)
loans (id, copy_id, member_id, loan_date, due_date, returned_at)
reservations (id, book_id, member_id, reserved_at, expires_at, status)
fines (id, loan_id, amount, paid_at)
-- Vues utiles
CREATE VIEW v_available_books AS ...;
CREATE VIEW v_overdue_loans AS ...;