Skip to main content

Étape 1 : Conception de Base de Données

Contexte

Vous êtes chargé(e) de concevoir la base de données pour l'application "EasyTable", un système de réservation en ligne pour restaurant. Cette application permettra aux clients de réserver une table et au restaurant de gérer ses réservations.

Objectifs pédagogiques

  • Analyser un cahier des charges
  • Identifier les entités et leurs relations
  • Concevoir un schéma de base de données MySQL
  • Appliquer les bonnes pratiques de conception

Votre mission

Étape 1 : Analyse du besoin

  1. Téléchargez le cahier des charges
  2. Identifiez les principaux acteurs du système
  3. Listez les informations essentielles à stocker pour chaque acteur
  4. Déterminez les actions possibles dans le système

Étape 2 : Identification des entités

À partir du cahier des charges, vous devez :

  1. Identifier les tables nécessaires (minimum 3 tables)
  2. Pour chaque table, lister les informations à stocker
  3. Définir le type de données approprié pour chaque information

Étape 3 : Conception

Pour chaque table, vous devez définir :

  • Une clé primaire
  • Les champs obligatoires
  • Les contraintes d'unicité si nécessaires
  • Les relations entre les tables
  • Les clés étrangères appropriées

Étape 4 : Optimisation

Réfléchissez aux éléments suivants :

  • Quels champs devront être indexés pour optimiser les recherches ?
  • Quelles contraintes métier doivent être imposées (ex: nombre maximum de personnes) ?
  • Comment gérer les dates et heures de réservation efficacement ?

Contraintes techniques

  • Utilisez MySQL comme système de gestion de base de données
  • Respectez les conventions de nommage (tout en minuscules, underscores pour les espaces)
  • Utilisez les types de données appropriés (INT, VARCHAR, DATETIME, etc.)
  • Prévoyez le suivi des dates de création et modification des enregistrements

Points d'attention

Votre conception doit permettre de :

  • Gérer les utilisateurs (clients et administrateurs)
  • Suivre les réservations
  • Gérer les disponibilités
  • Maintenir un historique des réservations
  • Configurer les paramètres du restaurant (horaires, capacité, etc.)

Livrables attendus

  1. Le script SQL de création des tables
  2. Le schéma de la base de données (à générer avec l'IA depuis le script sql)
  3. Une brève justification de vos choix de conception

Conseils

  • Commencez par identifier les entités principales avant d'ajouter les tables secondaires
  • Réfléchissez aux requêtes qui seront fréquemment exécutées
  • N'oubliez pas de gérer les suppressions (contraintes de clés étrangères)
  • Pensez à la scalabilité de votre solution

Critères d'évaluation

  • Pertinence des tables et des champs identifiés
  • Cohérence des relations entre les tables
  • Choix appropriés des types de données
  • Respect des bonnes pratiques de conception
  • Optimisation et indexation
  • Qualité du script SQL

Temps limite ⏱️

Vous avez une semaine (17 février)