← Exercices BD01

🐘 Mini-projet BD01

Système de gestion de bibliothèque

🎯 Objectif

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

📋 Spécifications fonctionnelles

🗺️ Étapes de réalisation

1. Concevoir le schéma entité-association (tables + FK)
2. Créer le schéma SQL avec toutes les contraintes
3. Insérer des données de test (10 livres, 5 auteurs, 8 adhérents, 15 emprunts)
4. Écrire les requêtes métier (emprunt, retour, réservation)
5. Créer les vues (livres disponibles, emprunts en retard)
6. Écrire les requêtes d'analyse et reporting

💡 Schéma de base suggéré

-- 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 ...;

✅ Critères de validation