Introduction aux bases de données relationnelles

Cours L1 Communication et Média

Objectifs pédagogiques


1. Qu'est-ce qu'une base de données ?

Définition et contexte

Une base de données est un système organisé permettant de stocker, manipuler et récupérer des données de manière efficace. Dans le domaine de la communication et des médias, les bases de données jouent un rôle crucial pour :

Histoire et évolution des bases de données

Analogies pour mieux comprendre

Imaginez une base de données comme :

Exemples concrets dans le domaine des médias

Différence avec d'autres systèmes de stockage

Activité rapide

Par groupes de 2-3 : Identifiez 3 situations dans votre quotidien où vous interagissez avec des bases de données, même sans le savoir.


2. Structure d'une base de données relationnelle

Tables, lignes et colonnes

Concepts fondamentaux

Exemple visuel : Table "Utilisateurs"

id_utilisateur nom prénom email date_inscription type_abonnement
1 Dupont Marie m.dupont@email.com 2023-01-15 premium
2 Martin Thomas t.martin@email.com 2023-01-20 standard
3 Durand Sophie s.durand@email.com 2023-02-05 standard
4 Petit Jean j.petit@email.com 2023-02-10 premium

Types de données courants

Contraintes d'intégrité

Clés primaires et étrangères

Clé primaire

Clé étrangère

Exemple concret

Table "Articles" : | id_article | titre | contenu | id_auteur | date_publication | |------------|-------------------------------|-------------------|-----------|------------------| | 1 | Les bases du marketing digital| Texte de l'article| 2 | 2023-05-10 | | 2 | Communiquer sur les réseaux | Texte de l'article| 1 | 2023-05-12 | | 3 | L'avenir des médias sociaux | Texte de l'article| 2 | 2023-05-15 | | 4 | Stratégies de contenu | Texte de l'article| 3 | 2023-05-18 |

Table "Auteurs" : | id_auteur | nom | prénom | email | spécialité | |-----------|----------|----------|---------------------|---------------------| | 1 | Dupont | Marie | m.dupont@email.com | Réseaux sociaux | | 2 | Martin | Thomas | t.martin@email.com | Marketing digital | | 3 | Durand | Sophie | s.durand@email.com | Stratégie de marque |

Dans cet exemple, id_auteur dans la table "Articles" est une clé étrangère qui référence id_auteur dans la table "Auteurs".

Intégrité référentielle et règles de cascade

Relations entre tables

Types de relations

  1. One-to-One (Un à Un) :

    • Un enregistrement dans la table A correspond à exactement un enregistrement dans la table B
    • Peu fréquente, souvent utilisée pour diviser une table très large
    • Exemple : Un profil utilisateur et ses paramètres de confidentialité
    • Implémentation : clé étrangère + contrainte d'unicité
  2. One-to-Many (Un à Plusieurs) :

    • Un enregistrement dans la table A peut correspondre à plusieurs enregistrements dans la table B
    • La relation la plus courante
    • Exemple : Un auteur peut écrire plusieurs articles
    • Implémentation : clé étrangère dans la table du côté "Many"
  3. Many-to-Many (Plusieurs à Plusieurs) :

    • Plusieurs enregistrements dans la table A peuvent correspondre à plusieurs enregistrements dans la table B
    • Nécessite une table de jonction (table intermédiaire)
    • Exemple : Des articles peuvent avoir plusieurs catégories, et chaque catégorie peut contenir plusieurs articles
    • Implémentation : table intermédiaire avec deux clés étrangères

Exemple détaillé de relation Many-to-Many

Table "Articles" : | id_article | titre | |------------|------------------------------| | 1 | Les bases du marketing | | 2 | Communiquer efficacement | | 3 | Médias sociaux en 2023 |

Table "Catégories" : | id_categorie | nom | |--------------|---------------| | 1 | Marketing | | 2 | Communication | | 3 | Digital | | 4 | Réseaux sociaux |

Table de jonction "Articles_Catégories" : | id_article | id_categorie | |------------|--------------| | 1 | 1 | | 1 | 3 | | 2 | 2 | | 2 | 1 | | 3 | 3 | | 3 | 4 |

Ce schéma permet de savoir quelles catégories sont associées à quels articles et vice-versa.

Activité interactive : Analyse d'un schéma

Examinons ensemble le schéma d'une base de données simplifiée pour une bibliothèque :

Table "Livres" :

Table "Auteurs" :

Table "Livres_Auteurs" (table de jonction) :

Table "Editeurs" :

Table "Emprunts" :

Table "Abonnés" :

Table "Catégories" :

Table "Livres_Catégories" :

**Questions pour les étudiants 😗*

  1. Quel type de relation existe entre Livres et Auteurs ? Pourquoi ?
  2. Pourquoi avons-nous besoin d'une table "Livres_Auteurs" ?
  3. Combien de livres un abonné peut-il emprunter selon ce schéma ?
  4. Comment sont gérées les catégories de livres dans ce schéma ?
  5. Quelles informations pouvons-nous obtenir sur l'historique des emprunts ?
  6. Comment pourrions-nous améliorer ce schéma ?

4. Cas pratique : Modéliser une base de données

https://www.drawdb.app/

Scénario : Festival de musique

Vous êtes chargé(e) de créer une base de données pour un festival de musique qui permettra de :

Processus de modélisation

  1. Analyse des besoins : identifier les informations à stocker et les fonctionnalités à supporter
  2. Identification des entités : déterminer les objets principaux de notre système
  3. Définition des attributs : déterminer les caractéristiques de chaque entité
  4. Établissement des relations : définir comment les entités interagissent
  5. Normalisation : vérifier que notre modèle respecte les formes normales
  6. Optimisation : ajuster le modèle pour les performances et la facilité d'utilisation

Étapes de modélisation pour notre cas

  1. Identifier les entités principales :

    • Artistes
    • Concerts
    • Scènes
    • Billets
    • Festivaliers
    • Genres musicaux
    • Produits (merchandising, nourriture, boissons)
    • Commandes
    • Personnel
  2. Déterminer les attributs de chaque entité :

    • Artistes (id, nom, genre_musical, pays_origine, biographie, site_web, réseaux_sociaux)
    • Concerts (id, date, heure_début, heure_fin, id_artiste, id_scène, durée, description)
    • Scènes (id, nom, capacité, localisation, équipement_technique, accessibilité)
    • Billets (id, type, prix, validité, restrictions)
    • Festivaliers (id, nom, prénom, email, téléphone, préférences_musicales)
    • Genres musicaux (id, nom, description)
    • Produits (id, nom, description, prix, stock_disponible, catégorie)
    • Commandes (id, id_festivalier, date, montant_total, statut)
    • Personnel (id, nom, prénom, rôle, contact, zone_affectation)
  3. Établir les relations :

    • Un artiste peut donner plusieurs concerts (One-to-Many)
    • Une scène peut accueillir plusieurs concerts (One-to-Many)
    • Un concert est associé à un seul artiste et une seule scène (Many-to-One)
    • Un artiste peut appartenir à plusieurs genres musicaux (Many-to-Many)
    • Un festivalier peut acheter plusieurs billets (One-to-Many)
    • Un billet peut donner accès à plusieurs concerts (Many-to-Many)
    • Un festivalier peut passer plusieurs commandes (One-to-Many)
    • Une commande peut contenir plusieurs produits (Many-to-Many)

Travail en groupes

Divisez la classe en petits groupes (3-4 étudiants) et demandez-leur de :

  1. Dessiner le schéma de la base de données sur papier
  2. Identifier toutes les tables nécessaires (au moins 8)
  3. Définir les clés primaires et étrangères
  4. Établir les relations entre les tables
  5. Réfléchir à des requêtes qui pourraient être utiles pour les organisateurs du festival

Mise en commun et discussion

Schéma proposé (complet)

Table "Artistes" :

Table "Genres_Musicaux" :

Table "Artistes_Genres" :

Table "Scènes" :

Table "Concerts" :

Table "Types_Billets" :

Table "Festivaliers" :

Table "Billets_Vendus" :

Table "Accès_Concerts" :

Table "Catégories_Produits" :

Table "Produits" :

Table "Commandes" :

Table "Détails_Commandes" :

Table "Personnel" :

Table "Partenaires" :


5. Importance des bases de données dans le domaine de la communication

Gestion des données clients et audience

Gestion de contenu

Analyse de performance

Exemples concrets

Défis actuels


6. Ressources supplémentaires et conclusion

Pour approfondir

Outils de modélisation

Pour pratiquer

Applications pratiques pour étudiants en communication et médias


Conclusion

Les bases de données relationnelles sont le fondement de la plupart des applications et sites web modernes. En comprenant leur structure et leur fonctionnement, vous pouvez :