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.
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.