Outils de bases de données et SQL

SQL vers diagramme ERà partir des contraintes déclarées

Examinez le DDL sous forme de graphe, de colonnes et de structure exportable. Choisissez le dialecte du texte source.

SQL vers diagramme ER

Entrée SQL DDL

Vue de la structure

Saisissez du SQL ou choisissez un exemple.

Traitement local dans le navigateur. Aucune connexion à une base ni historique enregistré.

Dialecte et interprétation

CREATE TABLE et CREATE INDEX sur des colonnes nommées uniquement. Les liens exigent une clé étrangère explicite ; aucune exécution SQL.

Limites : 50 000 unités UTF-16, 50 tables, 1 000 colonnes et 200 clés, index, CHECK et clés étrangères au total. Affichage par 50 colonnes.

TypeScript décrit les lignes lues : grands entiers et décimaux exacts en string, types inconnus et SQLite en unknown. Vérifiez le contrat du pilote.

Résultat périmé. Traitez l’entrée actuelle avant d’exporter.

Passer de SQL vers diagramme ER aide à relire un fichier de définition sans disposer du serveur. Les clés composites et les références vers des tables absentes méritent une vérification plus précise qu’une simple liste de noms.

L’exemple associe deux tables avec une clé étrangère, des colonnes nullables, une clé unique et un index ordinaire. Comparez le schéma SQL à son inventaire : un champ nommé customer_id ne suffit pas à prouver une relation.

SQL vers diagramme ER : des liens vérifiables

Distinguez les déclarations du fichier des hypothèses métier.

Relier seulement les contraintes présentes

La conversion SQL vers diagramme ER relie les tables qui possèdent réellement une clé étrangère. Une cible absente reste visible sous forme de nœud externe en pointillés, afin de ne pas présenter un extrait comme un modèle complet.

Trois cartes de tables, dont deux reliées par une référence déclarée et une laissée indépendante.

Partager une seule interprétation

Le diagramme facilite le repérage, le JSON conserve l’inventaire et TypeScript propose une forme de ligne lue. Ces sorties proviennent du même résultat ; changer de vue ne modifie pas l’interprétation du DDL.

Une définition de table se répartit entre un diagramme, un arbre de structure et un document de types.

Trois vérifications avant de réutiliser le résultat

01

Accorder le dialecte au texte

Le sélecteur change la grammaire et les règles de nommage ; il ne traduit pas le SQL. MySQL exige une clause FOREIGN KEY séparée, tandis que PostgreSQL et SQLite acceptent aussi les références de colonne.

  • Tout changement de dialecte bloque les anciens exports jusqu’à une nouvelle analyse réussie.
02

Examiner les cibles non résolues

Un extrait peut déclarer une référence sans inclure sa table cible. Vérifiez le nœud en pointillés et les colonnes visées, puis ajoutez au besoin le CREATE TABLE manquant.

  • Une référence sans schéma vise uniquement une table sans schéma ; aucun search_path n’est simulé.
03

Lire le contrat des types

Une valeur DEFAULT ne rend pas facultative une propriété de ligne lue. Les décimaux exacts deviennent string ; les types connus et nullables reçoivent une union avec null.

  • Désactivez l’analyse automatique pour utiliser le bouton ou Ctrl/Cmd + Entrée.

Un inventaire des tables et de leurs contraintes

Trois grammaires explicites

Le lecteur prend en charge un sous-ensemble DDL de MySQL, PostgreSQL et SQLite. Les identifiants entre guillemets et les noms qualifiés sont conservés ; PostgreSQL normalise les noms non cités en minuscules.

Des clés composites intactes

Les clés primaires et uniques conservent une liste ordonnée de colonnes. Les clés étrangères préservent les deux côtés de la correspondance. Une table de liaison reste une table, sans raccourci métier plusieurs-à-plusieurs inventé.

Le détail des colonnes

Consultez le type déclaré, la nullabilité et l’appartenance à la clé primaire. La définition originale conserve DEFAULT, CHECK et les clauses générées comme texte. Les index explicites gardent l’ordre des colonnes et leur sens de tri.

Un instantané JSON

L’export comprend identités des tables, colonnes, clés, index, contrôles et références, y compris les cibles non résolues. Il sert à documenter ou à alimenter un script ; ce n’est pas un validateur JSON Schema.

Des types TypeScript prudents

Les interfaces portent des noms numérotés et les propriétés sont citées. Dates et heures deviennent string, données binaires Uint8Array, JSON et types inconnus unknown. Vérifiez toujours les valeurs réellement renvoyées par votre pilote.

Un diagramme entité-relation portable

Le SVG sauvegarde le graphe avec cartes et flèches. Une carte prévisualise cinq colonnes et peut abréger les noms longs. La vue détaillée et le JSON gardent toutes les colonnes pour accompagner l’aperçu dans la documentation.

Ce que le texte permet de conclure

Un sous-ensemble de DDL seulement
CREATE TABLE et CREATE INDEX sur colonnes nommées sont acceptés. ALTER, INSERT, vues, déclencheurs, procédures et CREATE TABLE AS/LIKE bloquent tout le lot. Les index d’expression, de préfixe et partiels sont refusés plutôt que simplifiés.
Aucune relation métier déduite
Le suffixe _id ne crée pas de flèche. Le graphe ne prouve ni cardinalité métier, ni unicité de la cible, ni application effective des contraintes par le moteur de stockage. Complétez les règles manquantes dans les déclarations source.
Pas de configuration serveur simulée
PostgreSQL met les noms non cités en minuscules et respecte ceux entre guillemets. MySQL compare exactement les noms de table, sans tenir compte de la casse pour les colonnes. SQLite ignore la casse ASCII. Les schémas omis et search_path ne sont pas déduits.
Références de colonne MySQL refusées
MySQL ignore REFERENCES dans une définition de colonne. L’outil demande une clause FOREIGN KEY distincte pour ne pas dessiner une déclaration ignorée comme relation valide. Une déclaration de table ne garantit pas davantage l’application réelle de la contrainte.
Règles particulières de SQLite
Une clé primaire ordinaire non INTEGER peut accepter NULL. Les clés INTEGER et les définitions WITHOUT ROWID prises en charge suivent leur règle de non-nullabilité. SQLite ayant un typage dynamique, chaque propriété de ligne est exportée en unknown.
Des limites communes au lot
Au plus 50 000 unités UTF-16, 50 tables et 1 000 colonnes. Clés, index explicites, CHECK conservés et clés étrangères partagent un plafond de 200 objets. S’ajoutent 15 000 jetons, 32 niveaux de parenthèses et 250 instructions ; tout dépassement bloque le résultat.
Des sorties en lecture seule
DEFAULT et CHECK sont conservés sans évaluation. Ni connexion, import de fichier, conception IA, sauvegarde cloud, édition graphique, génération de migrations, ni export PNG/DBML. TypeScript n’est ni un DTO d’insertion ni une validation à l’exécution.

SQL vers diagramme ER : vos questions

Faut-il fournir un accès à la base de données ?

Non. Un texte DDL pris en charge suffit, sans identifiants de connexion. L’outil ne vérifie pas les autorisations, les données existantes ou les réglages du serveur. La réussite de l’analyse ne prouve donc pas que le script est exécutable sur votre base.

Quels dialectes peuvent être lus ?

Vous pouvez choisir MySQL, PostgreSQL ou SQLite. Chaque option couvre un sous-ensemble de CREATE TABLE et de CREATE INDEX simples, pas toute la syntaxe du fournisseur. En cas d’erreur, vérifiez le dialecte puis la clause située à la position indiquée.

Comment distinguer les clés primaires des clés étrangères ?

Un symbole indique les colonnes de clé primaire dans les cartes, et les flèches représentent les clés étrangères. La vue des colonnes et clés permet de relire les listes complètes des clés composites. Les tables cibles absentes sont signalées comme externes ou non résolues.

Peut-on utiliser le résultat dans un devoir de conception ?

Oui, pour examiner et expliquer vos définitions de tables. L’outil ne juge pas la normalisation ou la pertinence du modèle métier. Il vous revient de relier les contraintes déclarées aux exigences de l’exercice et de justifier les choix de conception.

Une description du métier suffit-elle pour générer le schéma ?

Non. Il faut écrire les tables, colonnes et contraintes dans le DDL. Il n’y a ni génération IA à partir d’une description ni rapprochement de colonnes aux noms similaires. Chaque lien du résultat doit pouvoir se retrouver dans une déclaration explicite.

Un problème de mise en forme ?

Examiner le prochain schéma

Passez de SQL vers diagramme ER sur un petit extrait complet, puis contrôlez les clés et les cibles non résolues avant d’utiliser les exports.

Modifiez le DDL source pour changer la structure ; les résultats restent en lecture seule.