Créer une table de catalogue de produits

MySQLBeginner
Pratiquer maintenant

Introduction

Une librairie de quartier sollicite votre expertise pour mettre en place la base de données de son catalogue de produits. En tant qu'administrateur de base de données, votre mission consiste à créer une table capable de stocker toutes les informations relatives à leurs ouvrages. Ce défi permet de valider votre aptitude à structurer une table MySQL en choisissant judicieusement les types de données et les contraintes d'intégrité.

Créer la table des livres

Votre objectif est de concevoir une table destinée à l'inventaire de la librairie. Cette table doit permettre de stocker efficacement différents types d'informations pour chaque livre.

Tâches

  • Se connecter à MySQL en tant qu'utilisateur root
  • Utiliser la base de données bookstore
  • Créer une table nommée books comportant les colonnes et types de données appropriés pour enregistrer les informations suivantes :
    • Identifiant du livre (doit s'incrémenter automatiquement)
    • Titre du livre (maximum 200 caractères, obligatoire)
    • Prix (doit supporter des valeurs décimales jusqu'à 999,99)
    • Date de publication
    • Nombre de pages (nombres entiers uniquement)
    • Description (texte long)
    • Quantité en stock (doit être égale à 0 ou positive)

Exigences

  • Toutes les opérations doivent être effectuées dans le répertoire ~/project
  • Le nom de la table doit être exactement books
  • Tous les noms de colonnes doivent être en minuscules
  • La clé primaire doit être nommée id
  • Le titre ne peut pas être nul (NULL)
  • Le prix doit comporter 2 décimales
  • La colonne quantity_in_stock ne doit pas accepter de valeurs négatives

Exemple

Une fois la table créée correctement, la commande de description devrait afficher un résultat similaire à celui-ci :

DESCRIBE books;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| id                | int(11)      | NO   | PRI | NULL    | auto_increment |
| title             | varchar(200) | NO   |     | NULL    |                |
| price             | decimal(5,2) | YES  |     | NULL    |                |
| publication_date  | date         | YES  |     | NULL    |                |
| page_count        | int(11)      | YES  |     | NULL    |                |
| description       | text         | YES  |     | NULL    |                |
| quantity_in_stock | int(11)      | YES  |     | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+

Résumé

Au cours de ce défi, vous vous êtes exercé à la création d'une table MySQL en manipulant divers types de données et contraintes. Vous avez notamment appris à choisir les formats adaptés à chaque information, à implémenter des clés primaires auto-incrémentées, à définir des contraintes de non-nullité et à utiliser des clauses de vérification (CHECK) pour valider l'intégrité des données. Ces compétences fondamentales en conception de bases de données sont indispensables pour tout travail avec MySQL.

✨ Vérifier la solution et pratiquer