Numérique et Sciences Informatiques1ère

Conception d'une mini base de données
Exercices corrigés

Maîtrisez la conception d'une mini base de données : modélisation, entités, relations, clés primaires et étrangères, normalisation grâce à ces 5 exercices détaillés.

Concepts & Exercices
Entité → Attributs → Relations
Modélisation conceptuelle
Entité
Objet du monde réel (Client, Produit, Commande)
Attribut
Caractéristique d'une entité (nom, prix, date)
Relation
Lien entre entités (Commande contient Produits)
🏗️
Exercice 1
Modéliser une base de données pour un système de bibliothèque
Exercice 2
Créer une base de données pour une boutique en ligne
Exercice 3
Concevoir une base de données scolaire
Exercice 4
Modéliser une base de données pour un restaurant
Exercice 5
Créer une base de données pour une vidéothèque
Corrigé : Exercices 1 à 3
1 Base de bibliothèque
Définition :

Modélisation : Processus de représentation des objets du monde réel (entités) et de leurs relations dans une structure de base de données.

Méthode de modélisation :
  1. Identifier les entités principales
  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
Étape 1 : Identification des entités

Entités principales : Livre, Emprunteur, Emprunt

Étape 2 : Attributs de chaque entité

Livre : id_livre, titre, auteur, isbn, date_publication

Emprunteur : id_emprunteur, nom, prenom, email, date_inscription

Emprunt : id_emprunt, id_livre, id_emprunteur, date_emprunt, date_retour_prevue

Étape 3 : Relations entre entités

Un emprunt relie un livre à un emprunteur

Relation : Emprunt (id_livre → Livre.id_livre, id_emprunteur → Emprunteur.id_emprunteur)

Livre(id_livre*, titre, auteur, isbn, date_publication)
Emprunteur(id_emprunteur*, nom, prenom, email, date_inscription)
Emprunt(id_emprunt*, id_livre°, id_emprunteur°, date_emprunt, date_retour_prevue)
* = Clé primaire, ° = Clé étrangère
Réponse finale :

Modèle relationnel complet avec 3 entités et 2 relations

Règles appliquées :

Clé primaire : Chaque entité doit avoir une clé unique

Clé étrangère : Lien entre entités par référence

Cardinalité : Un livre peut être emprunté plusieurs fois, un emprunt concerne un seul livre

2 Boutique en ligne
Définition :

Relation plusieurs-à-plusieurs : Type de relation où plusieurs instances d'une entité peuvent être liées à plusieurs instances d'une autre entité.

Étape 1 : Entités principales

Client, Produit, Commande, Ligne_Commande

Étape 2 : Attributs des entités

Client : id_client*, nom, prenom, email, adresse

Produit : id_produit*, nom, prix, description, stock

Commande : id_commande*, id_client°, date_commande, statut

Ligne_Commande : id_ligne*, id_commande°, id_produit°, quantite, prix_unitaire

Étape 3 : Gestion de la relation plusieurs-à-plusieurs

Un client peut passer plusieurs commandes

Une commande peut contenir plusieurs produits différents

Une table intermédiaire Ligne_Commande gère cette relation complexe

Client(id_client*, nom, prenom, email, adresse)
Produit(id_produit*, nom, prix, description, stock)
Commande(id_commande*, id_client°, date_commande, statut)
Ligne_Commande(id_ligne*, id_commande°, id_produit°, quantite, prix_unitaire)
* = Clé primaire, ° = Clé étrangère
Réponse finale :

Modèle avec relation plusieurs-à-plusieurs gérée par table intermédiaire

Règles appliquées :

Table intermédiaire : Nécessaire pour gérer les relations plusieurs-à-plusieurs

Comptabilité : La table Ligne_Commande stocke le prix unitaire au moment de la commande

Normalisation : Évite la redondance d'informations

3 Base de données scolaire
Définition :

Cardinalité : Nombre minimum et maximum d'occurrences d'une entité liées à une occurrence d'une autre entité (notée 1,n ou 0,n).

Étape 1 : Entités du système scolaire

Élève, Professeur, Cours, Classe, Note

Étape 2 : Attributs et relations

Élève : id_eleve*, nom, prenom, date_naissance, id_classe°

Professeur : id_prof*, nom, prenom, email

Cours : id_cours*, nom_cours, id_prof°

Classe : id_classe*, nom_classe

Note : id_note*, id_eleve°, id_cours°, valeur, date_evaluation

Étape 3 : Analyse des cardinalités

Un élève appartient à une seule classe (1,1)

Un élève peut avoir plusieurs notes (0,n)

Un cours est enseigné par un seul professeur (1,1)

Un professeur peut enseigner plusieurs cours (0,n)

Élève(id_eleve*, nom, prenom, date_naissance, id_classe°)
Professeur(id_prof*, nom, prenom, email)
Cours(id_cours*, nom_cours, id_prof°)
Classe(id_classe*, nom_classe)
Note(id_note*, id_eleve°, id_cours°, valeur, date_evaluation)
* = Clé primaire, ° = Clé étrangère
Réponse finale :

Modèle avec relations complexes et différentes cardinalités

Règles appliquées :

Cardinalités : Respect des contraintes de liaison entre entités

Hiérarchie : Un élève appartient à une classe unique

Historique : La table Note permet de conserver l'historique des évaluations

Corrigé : Exercices 4 à 5
4 Restaurant
Définition :

Normalisation : Processus d'organisation des données pour réduire la redondance et améliorer l'intégrité des données.

Étape 1 : Entités du restaurant

Client, Table, Serveur, Plat, Commande, Composition_Commande

Étape 2 : Normalisation du modèle

Éliminer la redondance en séparant les informations

Plat : id_plat*, nom_plat, prix, categorie

Commande : id_commande*, id_client°, id_table°, id_serveur°, date_commande, statut

Composition_Commande : id_compo*, id_commande°, id_plat°, quantite

Étape 3 : Contraintes d'intégrité

Contrainte d'intégrité référentielle entre toutes les clés étrangères

Contrainte de domaine pour le statut de la commande

Client(id_client*, nom, prenom, telephone)
Table(id_table*, numero, capacite)
Serveur(id_serveur*, nom, prenom)
Plat(id_plat*, nom_plat, prix, categorie)
Commande(id_commande*, id_client°, id_table°, id_serveur°, date_commande, statut)
Composition_Commande(id_compo*, id_commande°, id_plat°, quantite)
* = Clé primaire, ° = Clé étrangère
Réponse finale :

Modèle normalisé avec contraintes d'intégrité

Règles appliquées :

Normalisation : Élimine la redondance des données

Intégrité référentielle : Maintient la cohérence des relations

Contraintes : Assure la validité des données insérées

5 Vidéothèque
Définition :

Contraintes d'intégrité : Règles qui garantissent la validité et la cohérence des données dans une base de données.

Étape 1 : Entités de la vidéothèque

Film, Client, Exemplaire, Location, Genre

Étape 2 : Gestion des contraintes

Contrainte d'unicité pour le numéro d'exemplaire

Contrainte de domaine pour la date de retour (doit être >= date_location)

Contrainte de vérification pour l'état de l'exemplaire

Étape 3 : Optimisation du modèle

Un film peut avoir plusieurs exemplaires (multiplicité)

Un exemplaire ne peut être loué qu'à un seul client à la fois

Historique des locations pour chaque exemplaire

Film(id_film*, titre, realisateur, annee, duree, id_genre°)
Genre(id_genre*, nom_genre)
Client(id_client*, nom, prenom, email, telephone)
Exemplaire(id_exemplaire*, id_film°, etat, disponible)
Location(id_location*, id_client°, id_exemplaire°, date_location, date_retour_prevue, date_retour_effectif)
* = Clé primaire, ° = Clé étrangère
Réponse finale :

Modèle avec contraintes d'intégrité et gestion des disponibilités

Règles appliquées :

Contraintes : Garantissent la cohérence des données

Disponibilité : Suivi de l'état des exemplaires

Historique : Conservation des locations passées

Cours bien détaillé
Entité → Relation → Attribut
Processus de modélisation
🎯
Entité : Objet du monde réel avec une existence propre (Personne, Voiture, Produit).
📏
Attribut : Caractéristique d'une entité (Nom, Age, Prix, Date).
📐
Relation : Lien entre entités (un Client commande un Produit).
📝
Clé primaire : Identifiant unique d'une entité (id_client, id_produit).
💡
Conseil : Commencer par identifier les entités principales 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 conception :
  • 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
Conception d’une mini base de données Applications pratiques