﻿TP complet : les livres !

On va créer une BD avec des livres qu''appelera : BD_livres

On écrit un script de création de la BD :

1) Création de la BD : 

drop database if exists BD_Livres;
create database BD_Livres;
use BD_Livres;

2) Création de la table livre : chaque livre a un id, un titre, une année de parution, un auteur et une date de naissance de l''auteur.


3) Insert de livres : 

Vous avez un jeu d''exemples ici : 

INSERT INTO oeuvres (id, titre, annee_parution, auteur, date_naissance) VALUES
    (1, 'Narcisse et Goldmund', 1930, 'Hermann HESSE', '1877-07-02'),
    (2, 'Berenice', 1671, 'Jean RACINE', '1639-12-22'),
    (3, 'Prolégomènes à toute métaphysique future', 1783, 'Emmanuel KANT', '1724-04-22'),
    (4, 'Mon coeur mis à nu', 1867, 'Charles BAUDELAIRE', '1821-04-09'),
    (5, 'Voyage au bout de la nuit', 1932, 'Louis-Ferdinand CELINE', '1894-05-27'),
    (6, 'Les possédés', 1872, 'Fedor DOSTOIEVSKI', '1821-11-11'),
    (7, 'Le Rouge et le Noir', 1830, 'STENDHAL', '1783-01-23'),
    (8, 'Alcibiade', 1944, 'Jacqueline de ROMILLY', '1910-03-07'),
    (9, 'Monsieur Teste', 1896, 'Paul VALERY', '1871-10-30'),
    (10, 'Lettres de Gourgounel', 1997, 'Kenneth WHITE', '1941-06-05'),
    (11, 'Lettres à un jeune poète', 1929, 'Rainer Maria RILKE', '1875-12-04'),
    (12, 'Logique sans peine', 1865, 'Lewis CAROLL', '1832-01-27'),
    (13, 'L\'éthique', 1677, 'Baruch SPINOZA', '1632-11-24'),
    (14, 'Sur le rêve', 1900, 'Sigmund FREUD', '1856-05-06'),
    (15, 'Sens et dénotation', 1892, 'Gottlob FREGE', '1848-11-08'),
    (16, 'Penser la logique', 2006, 'Gilbert HOTTOIS', '1946-01-23'),
    (17, 'Au coeur des ténèbres', 1899, 'Joseph CONRAD', '1857-12-03'),
    (18, 'Mathématiques pour l\'informatique - BTS SIO', 2010, 'Xavier CHANET et Patrick VERT', '1970-01-01'),
    (19, 'Méthodes mathématiques pour l\'informatique', 1998, 'Jacques VELU', '1960-05-14'),
    (20, 'Notions de logiques', 2003, 'Philippe THIRY', '1975-11-09'),
    (21, 'Eléments de logique contemporaine', 2000, 'François LEPAGE', '1968-07-15'),
    (22, 'Histoire d\'algorithmes', 2005, 'Jean-Luc CHABERT', '1965-03-19'),
    (23, 'Harry Potter, I : Harry Potter à l\'école des sorciers', 1997, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (24, 'Harry Potter, II : Harry Potter et la Chambre des Secrets', 1998, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (25, 'Harry Potter, III : Harry Potter et le prisonnier d\'Azkaban', 1999, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (26, 'Harry Potter, IV : Harry Potter et la Coupe de Feu', 2000, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (27, 'Harry Potter, V : Harry Potter et l\'Ordre du Phénix', 2003, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (28, 'Harry Potter, VI : Harry Potter et le Prince de Sang-Mêlé', 2005, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (29, 'Harry Potter, VII : Harry Potter et les Reliques de la Mort', 2007, 'Joanne Kathleen ROWLING', '1965-07-31'),
    (30, 'Oliver Twist', 1837, 'Charles DICKENS', '1812-02-07'),
    (31, 'David Copperfield', 1850, 'Charles DICKENS', '1812-02-07'),
    (32, 'Le Combat d\'hiver', 2004, 'Jean-Claude MOURLEVAT', '1952-03-12'),
    (33, 'Terrienne', 2010, 'Jean-Claude MOURLEVAT', '1952-03-12'),
    (34, 'La Montagne magique', 1924, 'Thomas MANN', '1875-06-06'),
    (35, 'A la recherche du temps perdu, I : Du côté de chez Swann', 1913, 'Marcel PROUST', '1871-07-10');


Vous pouvez aussi demander à chatgpt de vous fournir des exemples : 

Question que vous pouvez poser : 

    Cree moi une table sql avec 30 livres et d''auteurs algériens et kabyles. 
    Pour chaque livre, on met l''id, le titre, l''nnée de parution, 
    l''auteur, la date de naissance de l''auteur.

    Pour le create table, on écrira à la fin : primary key(id) );

    On met un auto_increment sur l''id.

    Pour les insert, on met les id "en dur" : 1, 2, 3, etc.

4) Bilan : vous avez un fichier avec le create database, le create table et l'insert.

5) Chargez ce code dans le serveur de BD : la zone SQL dans phpmyadmin

6) Répondez aux questions suivantes : 
(id, titre, annee_parution, auteur, date_naissance)

6.1
6.1.1 Affichez tous les livres avec le titre, l''année de parution et l''auteur.
6.1.2 Affichez tous les auteurs.
6.1.3 Affichez tous les auteurs avec leur date de naissance.
6.1.4 Affichez tous les livres dont le nom de l''auteur contient ''Mouloud'' (ou ''Charles'').
6.1.5 Affichez les livres des auteurs nés avant telle année.
6.1.6 Affichez les livres des auteurs nés entre telle année et telle année.
6.1.7 Affichez les livres parus après telle année.
6.1.8 Affichez les livres parus dans les années 1950-1959.

6.2
6.2.1 Affichez tous les livres avec un attribut ''annees'' qui vaudra : 1930-1939, 1940-1949, etc. Trier le résultat par année de parution.
6.2.2 Affichez les livres avec un attribut ''tranche de naissance'' qui regroupe les naissances par paquet de 25 : 1900-1924, 1925-1949, etc.

6.3
6.3.1 Affichez le nombre total de livres.
6.3.2 Affichez le nombre de livres d''un auteur spécifique.
6.3.3 Affichez le nombre de livres par auteur.
6.3.4 Affichez le nombre de livres des années 50.
6.3.5 Affichez le nombre de livres des auteurs des années 1900-1924.

6.4
6.4.1 Affichez le nombre de livres par ''annees''.
6.4.2 Affichez le nombre de livres par ''annees'' uniquement pour les nombres > 5.

6.5
6.5.1 Affichez le nombre de livres par ''tranche de naissance''.
6.5.2 Affichez le nombre de livres par ''tranche de naissance'' uniquement pour les nombres > 5.

