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
bookscomportant 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_stockne 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.



