Exemples de diagrammes entité-association
Voici les systèmes les plus demandés en cours de bases de données. Chacun est accompagné du SQL qui le construit. Sur chaque page, vous voyez gratuitement le diagramme complet et le dictionnaire de données. Le SQL se copie librement.
Vous découvrez la notation ? La page Diagramme entité-association explique ce que veulent dire les boîtes et les extrémités des traits, avant que vous copiiez quoi que ce soit.
- Gestion scolaire
Schéma d’un système de gestion scolaire : élèves, enseignants, matières, cours, inscriptions avec notes et présences, avec SQL et dictionnaire.
- Gestion hospitalière
Schéma d’un système de gestion hospitalière : patients, médecins, services, consultations, hospitalisations et prescriptions, avec SQL et dictionnaire.
- Gestion de bibliothèque
Schéma d’un système de gestion de bibliothèque : livres, auteurs, exemplaires, adhérents, emprunts et réservations, avec SQL et dictionnaire de données.
- Diagramme entité-association : E-commerce Store
Ce qu’il enseigne : des tables d’association qui portent des données, des catégories qui se référencent elles-mêmes, des prix figés à l’achat
- Diagramme entité-association : Blog Platform
Ce qu’il enseigne : tous les types de relation en cinq tables, le premier schéma classique
- Diagramme entité-association : Hotel Management System
Ce qu’il enseigne : la réservation sur une plage de dates, et pourquoi la disponibilité est une requête et non une colonne
- Diagramme entité-association : Banking System
Ce qu’il enseigne : deux clés étrangères vers la même table, et des journaux où l’on ne fait qu’ajouter des lignes
- Diagramme entité-association : Inventory Management System
Ce qu’il enseigne : des totaux courants et l’historique des mouvements, rapprochés
- Diagramme entité-association : CRM
Ce qu’il enseigne : les étapes du pipeline sous forme de données, et le triangle entreprise, contact, affaire
- Diagramme entité-association : Restaurant Management System
Ce qu’il enseigne : une recette en nomenclature dans une table d’association, et des tables attribuées à l’installation des clients, pas à la réservation
- Diagramme entité-association : Northwind Database
Ce qu’il enseigne : des clés naturelles, un organigramme qui se référence lui-même et une clé étrangère nommée ship_via
- Diagramme entité-association : AdventureWorks Database
Ce qu’il enseigne : une table de supertype partagée par personnes, magasins et fournisseurs, et les notes de colonnes de Microsoft lui-même
- Diagramme entité-association : Sakila Database
Ce qu’il enseigne : un cycle de clés étrangères entre staff et store, et une copie de recherche tenue à jour par des triggers
- Diagramme entité-association : Chinook Database
Ce qu’il enseigne : deux clés étrangères vers la même table sans que les noms le disent, et des prix figés à la vente
Ces exemples s’ouvrent en anglais. Les trois du haut sont traduits.
Questions avant d’en copier un
Quels sont les principaux types de schémas de base de données ?
Quatre noms reviennent : plat (une seule table, sans relations), hiérarchique (un arbre strict de parents et d’enfants), réseau (un enregistrement peut avoir plusieurs parents) et relationnel (des tables reliées par des clés). Tous les exemples ci-dessous sont relationnels, car c’est le modèle de PostgreSQL, MySQL, SQL Server et SQLite. Les trois autres relèvent surtout de l’histoire. On s’en sert aussi pour décrire les bases orientées documents et les bases de graphes, qui ne sont pas du tout construites à partir de tables.
Puis-je utiliser ces schémas dans mon projet ou mon devoir ?
Oui. Chaque page donne le SQL complet, et il s’exécute tel quel sur PostgreSQL. Ce sont des schémas pédagogiques, pas des schémas de production. Chacun est assez court pour se lire d’une traite. Chacun est construit autour d’un choix de modélisation qui mérite d’être repris, ou discuté, ce qui est tout aussi utile dans un devoir.
Comment en faire le diagramme de ma propre base ?
Remplacez le SQL. Exportez votre schéma avec pg_dump --schema-only ou mysqldump --no-data et collez-le à la place de l’exemple. Vous pouvez aussi coller un schéma Prisma, du DBML, du Mermaid, du PlantUML, ou des modèles Django, SQLAlchemy, Sequelize ou TypeORM. Le format est détecté d’après ce que vous collez. Rien n’est envoyé : l’analyse se fait dans votre navigateur.
Par quel exemple commencer ?
Commencez par le schéma de blog si vous voulez tous les types de relation en cinq tables. Prenez celui de la boutique en ligne s’il vous faut une table d’association qui porte ses propres données. Si votre problème touche en fait au temps, prenez le schéma de l’hôtel ou de la bibliothèque. Réservations, emprunts et disponibilité sont les cas où les débutants modélisent le plus souvent une requête sous forme de colonne. Pour une base que vous croiserez en cours de SQL, commencez par Northwind ou Chinook. Pour une base qui ressemble à une vraie entreprise, prenez AdventureWorks.
Vous avez plutôt votre propre schéma ? Collez-le sur la page d’accueil : même outil, vos tables. Pour le document de référence imprimable, utilisez le générateur de dictionnaire de données.