Numérique et Sciences Informatiques1ère

Exemples pédagogiques
Exercices corrigés

Maîtrisez les exemples pédagogiques en bases de données : systèmes scolaires, bibliothèques, e-commerce et applications concrètes grâce à ces 5 exercices détaillés.

Concepts & Exercices
Entité → Relation → Application
Modélisation pédagogique
Système scolaire
Élèves, Cours, Notes, Classes
Bibliothèque
Livres, Emprunts, Adhérents
E-commerce
Clients, Produits, Commandes
📚
Exercice 1
Modéliser une base de données scolaire
Exercice 2
Créer un système de bibliothèque
Exercice 3
Développer un catalogue de produits
Exercice 4
Gérer un système de réservations hôtelières
Exercice 5
Mettre en place un agenda partagé
Corrigé : Exercices 1 à 3
1 Système scolaire
Définition :

Système scolaire : Base de données qui gère les élèves, les cours, les notes, les enseignants et les classes.

Méthode de modélisation :
  1. Identifier les entités principales (Élève, Cours, Professeur, Classe)
  2. Déterminer les attributs de chaque entité
  3. Établir les relations entre entités
  4. Définir les clés primaires et étrangères
Élève(id_eleve*, nom, prenom, date_naissance, id_classe°)
Professeur(id_prof*, nom, prenom, email, specialite)
Cours(id_cours*, nom_cours, id_prof°)
Classe(id_classe*, nom_classe, niveau)
Note(id_note*, id_eleve°, id_cours°, valeur, date_evaluation)
* = Clé primaire, ° = Clé étrangère
Étape 1 : Entités du système

On identifie les objets principaux : Élève, Professeur, Cours, Classe

Étape 2 : Relations entre entités

Un élève appartient à une classe

Un professeur enseigne un cours

Un élève reçoit des notes pour chaque cours

Étape 3 : Tables et relations

La table Note relie les élèves aux cours

Elle stocke la valeur de la note et la date d'évaluation

Réponse finale :

Schéma relationnel complet du système scolaire

Règles appliquées :

Clés primaires : Chaque entité a une clé unique

Clés étrangères : Relient les entités entre elles

Cardinalités : Respect des relations entre entités

2 Système de bibliothèque
Définition :

Système de bibliothèque : Base de données qui gère les livres, les adhérents, les emprunts et les retours.

Adherent(id_adherent*, nom, prenom, email, date_inscription)
Livre(id_livre*, titre, auteur, isbn, date_publication, disponible)
Emprunt(id_emprunt*, id_adherent°, id_livre°, date_emprunt, date_retour_prevue, date_retour_effectif)
Genre(id_genre*, nom_genre)
Livre(id_livre*, ..., id_genre°) -- Ajout de la relation avec Genre
Étape 1 : Entités principales

On identifie Adherent, Livre, Emprunt comme entités centrales

Étape 2 : Gestion des emprunts

La table Emprunt relie un adhérent à un livre

Elle contient les dates d'emprunt et de retour

Étape 3 : Extension du modèle

Ajout d'une table Genre pour classifier les livres

Réponse finale :

Modèle complet de gestion de bibliothèque

Règles appliquées :

Disponibilité : Suivi de l'état des livres (disponible/indisponible)

Historique : Conservation des dates d'emprunt et de retour

Classification : Catégorisation des livres par genre

3 Catalogue de produits
Définition :

Catalogue de produits : Base de données qui organise les produits, les catégories, les fournisseurs et les stocks.

Produit(id_produit*, nom, description, prix, stock, id_categorie°, id_fournisseur°)
Categorie(id_categorie*, nom_categorie, description)
Fournisseur(id_fournisseur*, nom, adresse, telephone, email)
Commande(id_commande*, id_client°, date_commande, statut)
Ligne_Commande(id_ligne*, id_commande°, id_produit°, quantite, prix_unitaire)
* = Clé primaire, ° = Clé étrangère
Étape 1 : Structure de base

On crée les entités Produit, Categorie, Fournisseur

Étape 2 : Gestion des commandes

On ajoute Commande et Ligne_Commande pour gérer les achats

Étape 3 : Relations complexes

Un produit appartient à une catégorie et provient d'un fournisseur

Une commande peut contenir plusieurs produits

Réponse finale :

Schéma complet de catalogue e-commerce

Règles appliquées :

Normalisation : Séparation des entités pour éviter la redondance

Relations n-n : Utilisation de tables intermédiaires pour les relations complexes

Historique : Conservation des prix au moment de la commande

Corrigé : Exercices 4 à 5
4 Réservations hôtelières
Définition :

Système de réservations : Base de données qui gère les chambres, les clients, les réservations et les services.

Client(id_client*, nom, prenom, email, telephone)
Chambre(id_chambre*, numero, type, prix_nuit, capacite, disponible)
Reservation(id_reservation*, id_client°, id_chambre°, date_arrivee, date_depart, statut)
Service(id_service*, nom_service, prix)
Reservation_Service(id_rel*, id_reservation°, id_service°, quantite)
Paiement(id_paiement*, id_reservation°, montant, date_paiement, methode)
* = Clé primaire, ° = Clé étrangère
Étape 1 : Entités principales

On identifie Client, Chambre, Reservation

Étape 2 : Services additionnels

Ajout de Service et Reservation_Service pour gérer les extras

Étape 3 : Paiement

Création de Paiement pour suivre les transactions

Réponse finale :

Système complet de gestion hôtelière

Règles appliquées :

Disponibilité : Suivi de la disponibilité des chambres

Services : Gestion flexible des services supplémentaires

Paiements : Traçabilité des transactions financières

5 Agenda partagé
Définition :

Agenda partagé : Base de données qui gère les utilisateurs, les événements, les invitations et les partages.

Utilisateur(id_user*, nom, email, mot_de_passe_hash)
Evenement(id_event*, titre, description, date_debut, date_fin, lieu, id_createur°)
Partage_Evenement(id_partage*, id_event°, id_user°, role, statut_reponse)
Categorie(id_categ*, nom_categ, couleur)
Evenement(id_event*, ..., id_categ°) -- Ajout de la catégorie
Commentaire(id_comment*, id_event°, id_user°, contenu, date_comment)
* = Clé primaire, ° = Clé étrangère
Étape 1 : Structure de base

On crée Utilisateur et Evenement avec le créateur

Étape 2 : Partage d'événements

On ajoute Partage_Evenement pour gérer les invitations

Étape 3 : Fonctionnalités avancées

Ajout de Categorie et Commentaire pour enrichir l'agenda

Réponse finale :

Système complet d'agenda collaboratif

Règles appliquées :

Partage : Gestion flexible des droits d'accès

Invitations : Suivi des réponses des participants

Sécurité : Hashage des mots de passe

Cours bien détaillé
Entité → Attribut → Relation
Processus de modélisation
🎯
Entité : Objet du monde réel (Élève, Livre, Produit).
📏
Attribut : Caractéristique d'une entité (Nom, Prix, Date).
📐
Relation : Lien entre entités (Un Élève suit un Cours).
📝
Clé primaire : Identifiant unique d'une entité.
💡
Conseil : Commencer par identifier les objets principaux du système
🔍
Attention : Éviter la redondance d'informations dans les tables
Astuce : Utiliser des diagrammes UML pour visualiser les relations
📋
Méthode : Passer par la modélisation conceptuelle avant la logique
Vérification : Tester le modèle avec des cas concrets
Étapes de modélisation :
  • Analyse du besoin : Comprendre le système à modéliser
  • Modélisation conceptuelle : Diagramme UML des entités et relations
  • Modélisation logique : Transformation en schéma relationnel
  • Modélisation physique : Implémentation dans le SGBD
Règles de normalisation :
  • 1ère forme normale : Tous les attributs doivent être atomiques
  • 2ème forme normale : Tous les attributs dépendent de la clé primaire entière
  • 3ème forme normale : Aucune dépendance transitive entre attributs non-clés
  • Avantages : Réduction de la redondance, meilleure intégrité des données
Clé primaire
Identifiant unique d'une entité, non nul et non modifiable
Clé étrangère
Référence à la clé primaire d'une autre entité
Contrainte
Règle imposée pour maintenir l'intégrité des données
Exemples pédagogiques Applications pratiques