Quizz SQL

Implémentez vos bases de données relationnelles avec SQL

Créez une base de données avec MySQL

1 - Afin de pouvoir utiliser MYSQL et de créer votre base de données, il vous faut créer l’utilisateur root.
Ouvrez-votre terminal.
Comment connectez-vous MySQL avec l'utilisateur root ?
2 - MySQL est désormais prêt à être utilisé.
Vous allez appeler votre base de données Moviz.
Quelle commande saisissez-vous pour créer la base de données de votre projet ?

3 - La base de données Moviz comprend 4 tables différentes. Les 4 tables sont : La table film comprend les données suivantes : Créez la table film.
Quelle est la commande à réaliser pour créer la table ?
4 - Vous avez créé votre table film, mais vous aimeriez vous en assurer.
Quelle commande permet de vérifier la création de la table film ?
5 - Votre table film est bien créée, mais vous aimeriez à présent vérifier sa structure.
Quelle commande faites-vous ?

Manipulez des données avec les opérations CRUD

Reprenons notre BDD Moviz du précédent quiz. Cette base doit contenir des films, or elle n’en contient actuellement aucun !
Si vous ne l’avez plus, voici le lien pour la télécharger : Moviz.sql
Commencez donc par ajouter des films puis vous essaierez : Pour rappel, voici le schéma de la table “film” :
Nom du champ Type du champ Description du champ
nom VARCHAR(255) le nom du film
date_de_sortie DATE la date de sortie du film
synopsis TEXT la description du scénario du film
langue VARCHAR(255) la langue principale du film
budget INTEGER le budget de production du film
Et les trois films que l’on va ajouter puis manipuler :
Nom Date de sortie Budget Synopsis Langue
Titanic 04 avril 1998 200 000 000 $ L'histoire du plus grand paquebot de son époque,
et de sa funeste fin.
anglais
Skyfall 26 octobre 2012 200 000 000 $ Dans cet épisode le plus sombre de la saga,
James Bond retourne à ses origines.
anglais
La La Land 25 janvier 2017 30 000 000 $ Une histoire d'amour à Los Angeles sous forme de comédie musicale. anglais
1 - Quelle commande crée les trois films ? 2 - Quelle commande permet de lire les titres et dates de sorties des films que l’on vient d’ajouter ?
3 - Quelle serait la fin d’une commande pour filtrer sur le film Titanic uniquement ? 4 -Si on utilisait UPDATE sans WHERE, que se passerait-il ? 5 - Quelle commande permet de mettre à jour le budget de Skyfall ? 6 - Quelle commande permet de supprimer La La Land ?

Effectuez des requêtes SQL avancées

Reprenons notre BDD Moviz du précédent quiz. Cette base doit contenir des films, or elle n’en contient actuellement aucun !
Si vous ne l’avez plus, voici le lien pour la télécharger : Moviz.sql
En plus de la table “film” qui a évolué pour inclure la note_id,
j’ai rajouté les tables “note”
et “pays_de_sortie”
ainsi que la table de liaison “film_pays_de_sortie”.
Il existe donc une relation un à plusieurs entre “film” et “note”,
et une relation plusieurs à plusieurs entre “film” et “pays_de_sortie”.

Voici le schéma mis à jour de la table “film” :
Nom du champ Type du champ Description du champ
nom VARCHAR(255) le nom du film
date_de_sortie DATE la date de sortie du film
synopsis TEXT la description du scénario du film
langue VARCHAR(255) la langue principale du film
budget INTEGER le budget de production du film
note_id INTEGER l'id de l'objet note associé au film

Le schéma de la table “note” est disponible ici :
Nom du champ Type du champ Description du champ
note INTEGER la note sur 5
Le schéma de la table “pays_de_sortie” est disponible ici :
Nom du champ Type du champ Description du champ
nom VARCHAR(255) le nom du pays
1 - Quelle est la commande qui permet de récupérer uniquement le film Skyfall ? 2 - Quels sont les films dont le budget est supérieur ou égal à 100 000 000 $ ?
3 - Quels sont les films dont le synopsis contient le mot “histoire” ?
4 -Combien y-a-t-il de films ?
5 - Quels sont les mots clés permettant d’effectuer des opérations arithmétiques sur des requêtes SQL ?
6 - Combien de films ont une note inférieure à 4 ?
7 - Qu’est-ce qu’une table de liaison ?
8 - Sélectionnez les bonnes associations de films avec leurs pays de sortie.

Transformez la structure d’une base de données

Reprenons notre BDD Moviz du précédent quiz. Cette base doit contenir des films, or elle n’en contient actuellement aucun !
Si vous ne l’avez plus, voici le lien pour la télécharger : Moviz.sql
Souvenez-vous, j’ai modifié le schéma de la BDD entre la partie 2 et la partie 3 pour y ajouter la relation un à plusieurs entre “film” et “note”,
ainsi que la relation plusieurs à plusieurs entre “film” et “pays_de_sortie”.

Voici le schéma mis à jour de la table “film” :
Nom du champ Type du champ Description du champ
nom VARCHAR(255) le nom du film
date_de_sortie DATE la date de sortie du film
synopsis TEXT la description du scénario du film
langue VARCHAR(255) la langue principale du film
budget INTEGER le budget de production du film
note_id INTEGER l'id de l'objet note associé au film

Le schéma de la table “note” est disponible ici :
Nom du champ Type du champ Description du champ
note INTEGER la note sur 5
Le schéma de la table “pays_de_sortie” est disponible ici :
Nom du champ Type du champ Description du champ
nom VARCHAR(255) le nom du pays
1 - Quels sont les mots clés disponibles dans une commande de type ALTER TABLE ? 2 - Comment fait-on pour ajouter une relation un à plusieurs entre deux objets existants déjà en base ?
3 - Dans la BDD Moviz, quelle est la commande qui permet de rajouter le champ note_id à la table “film” ?
4 -Quelle est la commande qui permet de supprimer le budget sur les films ?
5 - Quelle est la commande qui permet de modifier le type du champ “budget” d’entier vers décimal ?
6 - Quelle est la commande qui permet de renommer le budget sur les films en “cout_de_production” ?
7 - Comment crée-t-on une relation plusieurs à plusieurs entre deux objets existants déjà en base ?
8 - Quelle est la commande qui permet de créer la table de liaison entre “film” et “pays_de_sortie” ?