Aller au contenu principal

Premières requêtes

Exploitation d'une base de données MariaDB/MySQL

Petite vérification​

Avant de commencer, vérifiez si vous savez...

  1. afficher la version de votre client MySQL/MariaDB, en ligne de commandes
  2. vous connecter au serveur de bases de données localhost, en ligne de commandes
    • host = localhost
    • port = 3306
    • user = root
    • password = celui qui vous avez saisi lors de l'installation de MariaDB
  3. afficher la liste des bases de données, en ligne de commandes

Une mission en 2 étapes

Le travail à fournir dans cette mission comporte 2 étapes.

1. La création de la base de données « bibliotheque »​

  • la création des tables,
  • et l'importation des données

à l'aide du fichier cdi.sql

2. L'écriture de requêtes SQL​

pour répondre aux questions que se pose la documentaliste.

1) Créer la base de données​

Nous allons nous connecter avec l'invite de commande et importer le fichier cdi.sql qui va réaliser les 3 opérations suivantes :

  1. créer la base de données,
  2. créer les tables
  3. et importer les données.
Extrait du fichier cdi.sql

Voici un extrait du fichier cdi.sql :

CREATE DATABASE IF NOT EXISTS `bibliotheque`;
USE `bibliotheque`;

DROP TABLE IF EXISTS `auteurs`;
CREATE TABLE IF NOT EXISTS `auteurs` (
`idauteur` int(11) NOT NULL AUTO_INCREMENT,
`nom` varchar(30) NOT NULL,
`prenom` varchar(30) NOT NULL,
`datenaiss` date DEFAULT NULL,
`datedeces` date DEFAULT NULL,
`bibliographie` text NOT NULL,
PRIMARY KEY (`idauteur`)
);

INSERT INTO `auteurs` (`idauteur`, `nom`, `prenom`, `datenaiss`, `datedeces`, `bibliographie`) VALUES
(1, 'Zola', 'Émile', NULL, NULL, ''),
(2, 'Verne', 'Jules', NULL, NULL, '');

Télécharger le fichier cdi.sql

Pour importer le fichier SQL cdi.sql dans le serveur SQL MariaDB ou MySQL on va utiliser la commande :

sudo mysql < cdi.sql
Autre commande possible
mysql -u root -p < cdi.sql
attention

Pensez à préciser le chemin du fichier cdi.sql.

Ensuite, il faut vérifier que la base de données a bien été importée :

SHOW DATABASES;
USE `bibliotheque`;
SHOW TABLES;

2) Écrire les requêtes SQL​

MCD

MCD_bibliotheque.png

Télécharger le MCD

astuce

Le MCD est aussi appelé Schéma Entité-Association.

Le « Modèle Logique de Données » représente les tables et les relations entre les tables.

MLD texte

  • AUTEURS (idauteur, nom, prenom, datenaiss, datedeces, bibliographie, #idlivre)
  • EDITEURS (idediteur, nom, adresse, code, ville, pays, telephone, fax, #idlivre)
  • EMPRUNTEURS (idemprunteur, nom, prenom, adresse, code, ville, telephone, sexe, datenaiss, nbretards)
  • EMPRUNTS (idemprunt, datepret, daterendu, #idlivre, #idemprunteur)
  • LIVRES (idlivre, isbn, titre, nbpages, dateparu, prix, theme, format)

MLD_bibliotheque.png

Télécharger le MLD

A partir du schéma « Modèle Logique de Données » MLD représenté ci-dessus, écrire les requêtes SQL pour répondre aux questions suivantes.


Première question posée par la documentaliste.

1. Comment afficher la liste des auteurs (les informations sur les auteurs) ?​

astuce

Les commandes SQL ne sont pas sensibles à la casse.

Cela signifie que dans le langage SQL, peu importe si vous écrivez vos commandes en majuscules ou en minuscules, elles seront interprétées de la même manière.

ATTENTION, les noms des tables et des colonnes sont sensibles à la casse.


2. Comment afficher (uniquement) les prénoms et noms des auteurs ?​


3. Comment afficher les prénoms et noms des auteurs, triés par ordre alphabétique des noms ?​

Bonne pratique - ORDER BY

Utilisez ORDER BY pour trier les résultats d'une requête SQL.
Par défaut, le tri est ascendant (ASC). Ajoutez DESC pour un tri descendant.


4. Comment afficher la liste des livres (toutes les données sur les livres) ?​


5. Comment afficher les titres des livres triés par ordre alphabétique des titres ?​


6. Comment afficher les titres des livres dont le titre commence par un « L » triés par ordre alphabétique des titres ?​

Bonne pratique - LIKE

L'opérateur LIKE permet de filtrer les résultats selon un motif (pattern).

  • % remplace zéro ou plusieurs caractères : LIKE 'L%' trouve tout ce qui commence par « L ».
  • _ remplace exactement un caractère.

7. Comment afficher les emprunts dont la date de prêt commence par « 2019-09 » (septembre 2019) ?​


8. Comment afficher les emprunts dont la date de prêt est antérieure au 1er octobre 2019 ?​


9. Comment afficher les emprunts dont la date de prêt est postérieure au 15 octobre 2019 ?​


10. Comment afficher les emprunts dont la date de prêt est le 15 octobre 2019 ou une date postérieure ?​

Bonne pratique - Comparer des dates

Les dates au format AAAA-MM-JJ se comparent avec <, >, <=, >= comme des nombres, grâce à l'ordre naturel du format ISO (année puis mois puis jour).

📌 Une solution