Modélisation
#Modélisation relationnelle
Tables, clés primaires/étrangères; formes normales et compromis pragmatiques.
#Objectifs
- Partir d’un domaine et obtenir un schéma cohérent et évolutif.
- Identifier entités, attributs, relations et cardinalités.
- Appliquer la normalisation jusqu’à 3NF (ou BCNF si pertinent).
#Démarche
- Recueillir les règles métier et cas d’usage.
- Diagramme conceptuel (entités, relations, cardinalités 1‑1, 1‑N, N‑N).
- Passage au relationnel: tables, clés primaires (PK), clés étrangères (FK), tables d’association.
#Exemples
bg-[rgba(var(--code-inline-bg),0.5)] text-[rgb(var(--fg))] px-1 roundedbg-[rgba(var(--code-inline-bg),0.5)] text-[rgb(var(--fg))] px-1 rounded
1-- Utilisateurs et articles de blog2create table users (3 id integer primary key,4 email text unique not null,5 name text not null6);7 8create table posts (9 id integer primary key,10 author_id integer not null references users(id),11 title text not null,12 body text not null,13 published_at datetime14);
Relation N‑N (tags): table d’association post_tags(post_id, tag_id)
avec PK composite.
#Normalisation (rappel)
- 1NF: valeurs atomiques, pas de listes dans les colonnes.
- 2NF: pas de dépendances partielles vis‑à‑vis d’une PK composite.
- 3NF: pas de dépendances transitives (attribut → autre attribut non‑clé).
#Compromis
- Dénormaliser pour la lecture (caches, vues matérialisées) si mesuré et justifié.