-- Création de la base de données
CREATE DATABASE tp_biblio;

USE tp_biblio;

-- Création de la table des auteurs
CREATE TABLE auteurs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom VARCHAR(100) NOT NULL,
    pays VARCHAR(100)
) ENGINE=InnoDB;

-- Création de la table des livres
CREATE TABLE livres (
    id INT AUTO_INCREMENT PRIMARY KEY,
    titre VARCHAR(200) NOT NULL,
    nb_exemplaires INT NOT NULL,
    id_auteur INT NOT NULL,
    FOREIGN KEY (id_auteur) REFERENCES auteurs(id)
        ON DELETE CASCADE
        ON UPDATE CASCADE
) ENGINE=InnoDB;

-- Création de la table des abonnés
CREATE TABLE abonnes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom VARCHAR(100) NOT NULL,
    prenom VARCHAR(100) NOT NULL,
    fonction VARCHAR(100)
) ENGINE=InnoDB;

-- Création de la table des emprunts
CREATE TABLE emprunts (
    id_livre INT NOT NULL,
    id_abonne INT NOT NULL,
    date_emprunt DATE NOT NULL,
    date_retour DATE,
    PRIMARY KEY (id_livre, id_abonne, date_emprunt),
    FOREIGN KEY (id_livre) REFERENCES livres(id)
        ON DELETE CASCADE
        ON UPDATE CASCADE,
    FOREIGN KEY (id_abonne) REFERENCES abonnes(id)
        ON DELETE CASCADE
        ON UPDATE CASCADE
) ENGINE=InnoDB;

INSERT INTO auteurs (nom, pays) VALUES
('Victor Hugo', 'France'),
('George Orwell', 'Royaume-Uni'),
('Haruki Murakami', 'Japon'),
('Jane Austen', 'Royaume-Uni');

INSERT INTO livres (titre, nb_exemplaires, id_auteur) VALUES
('Les Misérables', 5, 1),
('1984', 4, 2),
('Kafka sur le rivage', 3, 3),
('Orgueil et Préjugés', 6, 4),
("L'Homme qui rit", 2, 1);
INSERT INTO abonnes (nom, prenom, fonction) VALUES
('Pham', 'Thomas', 'Doctorant'),
('Dupont', 'Sophie', 'Enseignante'),
('Cooper', 'Martin', 'Chercheur'),
('Morel', 'Stéphanie', 'Secrétaire');
INSERT INTO emprunts (id_livre, id_abonne, date_emprunt, date_retour) VALUES
(1, 1, '2025-03-01', '2025-03-15'), 
(2, 2, '2025-03-05', '2025-03-18'), 
(3, 3, '2025-03-07', NULL),         
(4, 1, '2025-03-10', '2025-03-25'), 
(5, 4, '2025-03-12', NULL);      
