Vos tables deviennent un schéma de base de données
Une carte par table, une ligne par colonne. Vous cochez les clés primaires, vous choisissez la table visée dans une liste, et le placement se calcule tout seul à partir des relations. Vous récupérez un schéma net pour une spécification ou une revue technique. Sans inscription.
Le + en bas d'une table ajoute une colonne, celui du bas ajoute une table, et la × supprime avec ce qu'elle contient. Cochez Clé pour une clé primaire. Dans Relation, choisissez la table visée : la colonne devient une clé étrangère, et vous réglez ensuite la cardinalité. Vous pouvez aussi coller un bloc de lignes dans une case Colonne, une ligne par colonne, et une ligne vide ouvre une table de plus.
À quoi ça sert ?
Un schéma de base de données met d'accord ceux qui parlent du même mot sans parler de la même chose. C'est le support qui sert à cadrer un modèle de données avant de le développer, à expliquer un existant à quelqu'un qui arrive sur le projet, à préparer une reprise de données, ou à annexer une vue lisible à une spécification.
On l'appelle aussi modèle de données, schéma relationnel, diagramme entité-association ou MLD. Cet outil dessine des tables, des colonnes et des clés, c'est-à-dire la base telle qu'elle existera vraiment. Si vous cherchez à représenter des concepts métier avant de parler de tables, ce n'est pas le bon support.
Comment faire ?
- Nommez une table en haut de sa carte, puis ajoutez ses colonnes avec le +. Le + Ajouter une table en bas ajoute la table suivante.
- Cochez Clé sur la colonne qui identifie une ligne de façon unique, en général
id. - Pour une clé étrangère, ouvrez la liste Relation et choisissez la table visée. Deux listes apparaissent : la colonne visée (sa clé primaire par défaut) et la cardinalité.
- Choisissez d'afficher ou non les types, la police, la couleur du texte et le jeu de couleurs, puis téléchargez en PNG, JPG, SVG ou PDF.
Comprendre les cardinalités
La cardinalité répond à une seule question : combien de lignes d'un côté pour une ligne de l'autre ? Elle se lit dans les deux sens, et c'est en la lisant à voix haute dans les deux sens qu'on trouve la bonne.
n vers 1, le cas courant
Plusieurs lignes de cette table pour une ligne de la table visée. Un client passe plusieurs commandes, une commande appartient à un seul client. La clé étrangère se pose du côté du n : c'est Commande qui porte client_id, jamais l'inverse. Si vous hésitez, posez-vous la question dans ce sens : la table qui ne peut désigner qu'une seule ligne de l'autre est celle qui porte la clé.
1 vers 1
Une ligne pour une ligne. Un salarié a un seul badge, un badge appartient à un seul salarié. C'est le cas le plus rare, et il mérite qu'on se demande pourquoi les deux tables ne sont pas une seule. Deux réponses valables : les colonnes sont rarement lues et on les sort pour alléger la table principale, ou elles n'existent que pour une partie des lignes.
1 vers n
Le même lien que le premier, lu depuis l'autre bout. Il sert quand vous décrivez une table de référence et que vous voulez montrer ce qui en dépend, sans changer l'endroit où se trouve la clé.
n vers n, et pourquoi il crée une table
Plusieurs lignes de chaque côté : une commande contient plusieurs produits, un produit apparaît dans plusieurs commandes. Ce lien ne peut pas exister directement entre deux tables. Une colonne ne contient qu'une valeur : si Commande portait produit_id, elle ne pourrait désigner qu'un seul produit, et le problème serait le même en le posant de l'autre côté.
La solution est toujours la même : une table de liaison, qui porte les deux clés étrangères, une ligne par couple. C'est ce que fait Ligne_commande dans l'exemple. Quand vous choisissez n vers n dans la liste, l'outil crée cette table et ses deux relations, et retire la colonne d'où partait le geste, puisqu'elle essayait d'exister au mauvais endroit. Ctrl+Z revient en arrière si ce n'était pas ce que vous vouliez.
Le bon réflexe ensuite : cette table porte souvent des colonnes à elle. Une quantité, un prix au moment de l'achat, une date. C'est même le signe qu'elle était nécessaire.
Questions fréquentes
Puis-je déplacer les tables à la main ?
Non, et c'est volontaire. Le placement se déduit des relations : une table citée par une autre se range à sa gauche, si bien que les tables de référence sont d'un côté et les tables de mouvement de l'autre. C'est ce qui permet d'avoir un schéma en dix secondes, là où un outil de dessin libre demande de tout positionner soi-même.
Pourquoi certains traits passent-ils derrière les tables ?
Parce qu'un trait qui barre une table de part en part la rend illisible. Les liens sont dessinés en premier et les tables par-dessus : un trait qui croise une table disparaît dessous, ce qui se lit comme un passage en arrière-plan. Ses deux extrémités, elles, restent visibles, avec le n et le 1 qui disent le sens.
Puis-je reprendre un schéma que j'ai déjà écrit ailleurs ?
Oui. Collez un bloc de lignes dans une case Colonne : chaque ligne devient une colonne, une étoile en tête marque une clé primaire, le mot suivant est le type, et une ligne vide ouvre une table de plus. Vos anciens enregistrements écrits en texte s'ouvrent tels quels, ils sont convertis à l'ouverture.
Puis-je écrire les types ?
Oui, la colonne Type de la grille : decimal, varchar, date. Le bouton Types permet de les masquer d'un coup, ce qui est souvent plus lisible pour un public fonctionnel.
Faut-il une clé primaire sur chaque table ?
En pratique oui. C'est elle qui permet de désigner une ligne sans ambiguïté, donc de la modifier, de la supprimer et de la viser depuis une autre table. Une table sans clé primaire est une table dont on ne sait pas parler.
Combien de tables ?
Jusqu'à 14 tables et 24 colonnes par table. Au-delà, un schéma projeté en réunion n'est plus lisible : mieux vaut le couper par domaine fonctionnel.
Puis-je retrouver mon schéma plus tard ?
Oui. Ce que vous saisissez est conservé dans votre navigateur, et le bouton Enregistrer vous permet de garder plusieurs schémas. Ctrl+Z annule la dernière action.
Est-ce vraiment gratuit ?
Oui, sans inscription et sans limite de nombre de schémas. La version gratuite ajoute une petite mention du site en bas de l'image et permet de conserver jusqu'à 3 enregistrements.
Toutes les questions fréquentes, sur les sept outils.