CREATE DATABASE IF NOT EXISTS bibliotheque;

use bibliotheque;

CREATE TABLE Auteurs (
    auteur_id INT AUTO_INCREMENT,
    nom VARCHAR(100) NOT NULL, 
    prenom VARCHAR(100),
    PRIMARY KEY (auteur_id))
    CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE TABLE Livres (
    livre_id INT AUTO_INCREMENT,
    titre VARCHAR(255) NOT NULL,
    annee_publication INT,
    auteur_id INT,
    PRIMARY KEY (livre_id),
    FOREIGN KEY (auteur_id)
        REFERENCES Auteurs(auteur_id)
        ON DELETE SET NULL)
    CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;


SET NAMES utf8mb4;
SET CHARACTER SET utf8mb4;

INSERT INTO Auteurs (nom, prenom) VALUES
    ('Hugo', 'Victor'), 
    ('Camus', 'Albert'), 
    ('Rowling', 'J.K.'), 
    ('Orwell', 'George'),
    ('Austen', 'Jane'), 
    ('Tolstoy', 'Leo'), -- ID supposé: 6
    ('Proust', 'Marcel'), -- ID supposé: 7
    ('de Beauvoir', 'Simone'), -- ID supposé: 8
    ('Asimov', 'Isaac'), -- ID supposé: 9
    ('Shelley', 'Mary'), -- ID supposé: 10
    ('Zola', 'Émile'), -- ID supposé: 11
    ('Flaubert', 'Gustave'), -- ID supposé: 12
    ('Stendhal', ''), -- ID supposé: 13
    ('Verne', 'Jules'), -- ID supposé: 14
    ('Dumas', 'Alexandre'), -- ID supposé: 15
    ('Christie', 'Agatha'), -- ID supposé: 16
    ('Conan Doyle', 'Arthur'), -- ID supposé: 17
    ('King', 'Stephen'), -- ID supposé: 18
    ('Murakami', 'Haruki'), -- ID supposé: 19
    ('Garcia Marquez', 'Gabriel'), -- ID supposé: 20
    ('Woolf', 'Virginia'), -- ID supposé: 21
    ('Kafka', 'Franz'), -- ID supposé: 22
    ('Dostoevsky', 'Fyodor'), -- ID supposé: 23
    ('Balzac', 'Honoré de'), -- ID supposé: 24
    ('Dickens', 'Charles'); -- ID supposé: 25

-- On insert des livres dans la base

-- Victor Hugo (ID 1)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Misérables', 1862, 1);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Notre-Dame de Paris', 1831, 1);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Contemplations', 1856, 1);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Dernier Jour d''un condamné', 1829, 1);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Hernani', 1830, 1);

-- Albert Camus (ID 2)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Étranger', 1942, 2);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Peste', 1947, 2);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Chute', 1956, 2);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Mythe de Sisyphe', 1942, 2);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Caligula', 1944, 2);

-- J.K. Rowling (ID 3)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter à l''école des sorciers', 1997, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter et la Chambre des secrets', 1998, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter et le Prisonnier d''Azkaban', 1999, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter et la Coupe de feu', 2000, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter et l''Ordre du Phénix', 2003, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter et le Prince de sang-mêlé', 2005, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Harry Potter et les Reliques de la Mort', 2007, 3);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Appel du Coucou', 2013, 3); -- Sous pseudonyme Robert Galbraith

-- George Orwell (ID 4)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('1984', 1949, 4);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Ferme des animaux', 1945, 4);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Hommage à la Catalogne', 1938, 4);

-- Jane Austen (ID 5)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Orgueil et Préjugés', 1813, 5);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Raison et Sentiments', 1811, 5);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Emma', 1815, 5);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Persuasion', 1817, 5);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Mansfield Park', 1814, 5);

-- Leo Tolstoy (ID 6)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Guerre et Paix', 1869, 6);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Anna Karénine', 1877, 6);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Mort d''Ivan Ilitch', 1886, 6);

-- Marcel Proust (ID 7)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Du côté de chez Swann', 1913, 7);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('À l''ombre des jeunes filles en fleurs', 1919, 7);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Côté de Guermantes', 1920, 7);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Sodome et Gomorrhe', 1921, 7);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Prisonnière', 1923, 7);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Albertine disparue', 1925, 7);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Temps retrouvé', 1927, 7);

-- Simone de Beauvoir (ID 8)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Deuxième Sexe', 1949, 8);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Mandarins', 1954, 8);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Mémoires d''une jeune fille rangée', 1958, 8);

-- Isaac Asimov (ID 9)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Fondation', 1951, 9);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Robots', 1950, 9); -- Cycle I, Robot
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Fondation et Empire', 1952, 9);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Seconde Fondation', 1953, 9);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Cavernes d''acier', 1954, 9);

-- Mary Shelley (ID 10)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Frankenstein ou le Prométhée moderne', 1818, 10);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Dernier Homme', 1826, 10);

-- Émile Zola (ID 11)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Germinal', 1885, 11);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Assommoir', 1877, 11);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Nana', 1880, 11);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Au Bonheur des Dames', 1883, 11);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Bête humaine', 1890, 11);

-- Gustave Flaubert (ID 12)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Madame Bovary', 1856, 12);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Salammbô', 1862, 12);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Éducation sentimentale', 1869, 12);

-- Stendhal (ID 13)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Rouge et le Noir', 1830, 13);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Chartreuse de Parme', 1839, 13);

-- Jules Verne (ID 14)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Vingt mille lieues sous les mers', 1870, 14);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Tour du monde en quatre-vingts jours', 1873, 14);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Voyage au centre de la Terre', 1864, 14);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('De la Terre à la Lune', 1865, 14);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Île mystérieuse', 1874, 14);

-- Alexandre Dumas (ID 15)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Trois Mousquetaires', 1844, 15);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Comte de Monte-Cristo', 1844, 15);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Reine Margot', 1845, 15);

-- Agatha Christie (ID 16)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Dix Petits Nègres', 1939, 16); -- Titre original/alternatif: And Then There Were None
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Crime de l''Orient-Express', 1934, 16);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Mort sur le Nil', 1937, 16);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Meurtre de Roger Ackroyd', 1926, 16);

-- Arthur Conan Doyle (ID 17)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Une étude en rouge', 1887, 17);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Chien des Baskerville', 1902, 17);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Signe des quatre', 1890, 17);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Aventures de Sherlock Holmes', 1892, 17); -- Recueil de nouvelles

-- Stephen King (ID 18)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Shining, l''enfant lumière', 1977, 18);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Ça', 1986, 18);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Carrie', 1974, 18);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Misery', 1987, 18);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Ligne verte', 1996, 18);

-- Haruki Murakami (ID 19)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Kafka sur le rivage', 2002, 19);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('1Q84', 2009, 19);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Ballade de l''impossible', 1987, 19); -- Norwegian Wood
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Chroniques de l''oiseau à ressort', 1994, 19);

-- Gabriel Garcia Marquez (ID 20)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Cent ans de solitude', 1967, 20);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Amour aux temps du choléra', 1985, 20);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Chronique d''une mort annoncée', 1981, 20);

-- Virginia Woolf (ID 21)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Mrs Dalloway', 1925, 21);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Promenade au phare', 1927, 21);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Orlando', 1928, 21);

-- Franz Kafka (ID 22)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Métamorphose', 1915, 22);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Procès', 1925, 22);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Château', 1926, 22);

-- Fyodor Dostoevsky (ID 23)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Crime et Châtiment', 1866, 23);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Frères Karamazov', 1880, 23);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('L''Idiot', 1869, 23);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Les Démons', 1872, 23); -- Aussi connu comme Les Possédés

-- Honoré de Balzac (ID 24)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Le Père Goriot', 1835, 24);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Eugénie Grandet', 1833, 24);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Illusions perdues', 1843, 24); -- Publié en trois parties 1837-1843
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('La Peau de chagrin', 1831, 24);

-- Charles Dickens (ID 25)
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Oliver Twist', 1838, 25);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('David Copperfield', 1850, 25);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('De grandes espérances', 1861, 25);
INSERT INTO Livres (titre, annee_publication, auteur_id) VALUES ('Un chant de Noël', 1843, 25);