Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

La base de données "Fil rouge"

Icône Présentation
1 / 1

Tout au long de ce cours, nous allons travailler sur un exemple “fil rouge” : une base de données simplifiée d’une boutique en ligne.

Représentation textuelle

Clients (numero, nom, prenom, rue, codePostal, ville, telephone, categorie, compte)
Commandes (numero, numeroClient*, dateCommande, statut)
Produits (numero, nom, prix, stock)
Details (numeroCommande*, numeroProduit*, quantite)

Diagramme Entité-Association

erDiagram

    Clients {
        int numero PK
        string nom
        string prenom
        string rue
        string codePostal
        string ville
        string telephone
        string categorie
        float compte
    }

    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"

Jeu de données

Clients
numeronomprenomruecodePostalvilletelephonecategoriecompte
1 Lebreton Éléonore 6 avenue Françoise Olivier 38240 Meylan 0776059929 A1 10000
2 Vasseur Georges 54, avenue Jean 38000 Grenoble +33 1 44 68 49 74 B2 1903
3 Da Costa Léon 18, boulevard Brigitte Faivre 75000 Paris 0568740044 C3 -1500
4 Rey Michel 49, avenue de Adam 38220 Vizille B1 3251
5 Weiss Dominique 98, boulevard Remy 59000 Lille B2 0
6 Berlioz Diane 27 avenue de la Chartreuse 75000 Paris 123094
7 Lefevre Jean 12, rue de la République 69000 Lyon C1 -1000
9 Barda Jérôme 128 rue de la Paix 75000 Paris C1 -2000
8 Jacques Chaoui 1240 rue des Ateliers 75001 Paris C1 -1750
Produits
numeronomprixstock
1 T-shirt 25 30
2 Pantalon 60 50
3 Chaussures 120 100
4 Casquette 15 10
5 Sac à dos 80 5
Commandes
numeronumeroClientdateCommandestatut
1 1 2024-02-01 livrée
2 1 2024-03-15 livrée
3 3 2024-04-28 livrée
4 4 2024-06-24 annulée
5 5 2024-06-30 en cours
6 5 2024-07-12 en cours
7 4 2024-08-19 annulée
Details
numeroCommandenumeroProduitquantite
1 1 3
1 2 1
1 3 1
2 4 1
2 5 1
3 1 4
3 2 1
3 3 2
3 4 1
3 5 1
4 1 7
4 2 1
5 1 2
5 2 1
5 3 1
6 1 10
7 1 1

Jeu de données

On peut remarquer que le scénario de données est le suivant :

  • Le client 1 a commandé tous les produits en 2 commandes (la commande 1 et 2)
  • Le client 2 n’a rien commandé
  • Le client 3 a commandé tous les produits en 1 commande (la commande 3)
  • Le client 4 a commandé 2 produits en 1 commande (la commande 4)
  • Le client 5 a commandé 3 produits en 1 commande (la commande 5)

Travailler sur la base de données

Vous pouvez travailler directement sur cette base de données sur le Compilateur SQL en ligne

Vous pouvez aussi télécharger la base de données pour travailler dessus sur votre machine :

  • Fichier SQLite

  • Export MySQL

    • Fichier à importer dans un serveur MySQL
    • Par exemple avec phpMyAdmin
    • Ou en ligne de commande avec mysql -u root -p < ecommerce-fr-erd-v2-mysql-EXPORT.sql (en remplaçant root par votre utilisateur MySQL)
  • Export PostgreSQL

    • Fichier à importer dans un serveur PostgreSQL
    • Par exemple avec pgAdmin
    • Ou en ligne de commande avec psql -U postgres -f ecommerce-fr-erd-v2-postgresql-EXPORT.sql (en remplaçant postgres par votre utilisateur PostgreSQL)
  • Pour les plus aventureux, vous pouvez regarder comment je modifie et génère ces différents fichiers ici