Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

Schémas

Icône Présentation
1 / 1

Introduction sur les schémas

Les bases de données ont différentes représentations qui permettent de visualiser la structure des données, à différents stades de la conception

Introduction sur les schémas

Le Schéma conceptuel

Représentation des concepts et des relations entre les concepts, qui peut être représenté de différentes manières :

  • Textuelle : Représentation sous forme de texte des tables en précisant les clés primaires et étrangères
  • Diagramme Entités-Associations : Représentation graphique des entités et des associations entre ces entités
  • Diagramme de classe UML : ne sont pas adaptés à la représentation des bases de données relationnelles, mais souvent utilisés malgré tout

Introduction sur les schémas

Le Schéma logique
  • Textuelle : Similaire à la représentation textuelle du schéma conceptuel, mais avec des informations sur les types de données en plus
  • Schéma logique : Représentation des tables et des relations entre les tables. Plus proche de la machine que le schéma conceptuel.
  • Diagramme de classe UML : ne sont pas adaptés à la représentation des bases de données relationnelles, mais souvent utilisés malgré tout

Introduction sur les schémas

Les logiciels de gestion de bases de données permettent de créer et de maintenir ces schémas.

Représentation textuelle conceptuelle

On peut représenter une base de données relationnelle sous forme de texte.

Généralement, on souligne les clés primaires et on indique les clés étrangères avec un astérisque.


  • Clients (numero, nom, email, rue, codePostal, ville, telephone)
  • Commandes (numero, numeroClient*, dateCommande, statut)
  • Produits (numero, nom, prix, stock)
  • Details (numeroCommande*, numeroProduit*, Quantité)

Schéma conceptuel (Diagramme Entités-Associations)

(Digrammes EA ou Entity-Relationship (ER) en anglais)

Le schéma conceptuel est une représentation graphique des entités et des associations entre ces entités.

Il permet de visualiser les relations entre les entités.

Dans notre exemple précédent, on peut identifier :

Les entités :

Client, Produit, Commande, Détail

Et les associations :
  • Un Client passe une Commande
  • La Commande est comosée de Detail
  • Les Detail spécifient des quantités de Produit

En schéma Entité-Association, cette base de données serait représentée de la sorte :

    
---
title: Boutique
---
erDiagram
  Clients {
      int numero PK  
      string nom
      string email
      string rue
      string codePostal
      string ville
      string telephone
  }

  Commandes {
      int numero PK
      int numeroClient FK
      date dateCommande
      string statut
  }

  Produits {
      int numero PK
      string nom
      double prix
      int stock
  }

  Details {
      int numeroCommande PK, FK
      int numeroProduit PK, FK
      int quantite
  }

  Clients ||--o{ Commandes : "passent des"
  Commandes ||--o{ Details : "sont composées de"
  Produits ||--o{ Details : "sont liés à des"

Représentation textuelle logique

Similaire à la représentation textuelle conceptuelle, mais avec des informations sur les types de données en plus


  • Clients (numero : integer, nom : String, email : String, rue : String, codePostal: Number, ville : String, telephone: String)
  • Commandes (numero : integer, numeroClient* : integer, dateCommande : DateTime, statut : enum(‘en cours’, ‘envoyée’, ‘livrée’, ‘annulée’))
  • Produits (numero : integer, nom ; String, prix : Float, stock : integer)
  • Details (numeroCommande* : integer, numeroProduit* : integer, Quantité : integer)

Schéma logique

Le schéma logique est une représentation des tables et des relations entre les tables plus proche de la machine que le schéma conceptuel.

Il est utilisé pour créer et maintenir la base de données.

Schema Logique

Conclusion sur les schémas

  • Ils permettent de visualiser la structure d’une base de données
  • Ils permettent de comprendre les relations entre les tables
  • Ils permettent de définir les contraintes d’intégrité
  • Ils permettent de communiquer sur la structure d’une base de données
  • Ils permettent de documenter la base de données
  • Les schémas ne permettent pas de visualiser les données elles-mêmes et il n’existe pas de schéma universel.
La conception et les schémas seront abordés plus en détail dans la seconde partie de ce cours