Strumento di Inferenza Schema
Ogni nuova integrazione comincia allo stesso modo: un'API restituisce un oggetto JSON e ti serve un modello dove conservarlo. Scrivere 20 campi a mano è noioso e soggetto a errori. Questo strumento analizza un oggetto JSON di esempio, sceglie un tipo di colonna per ogni chiave e genera uno schema pronto da incollare nel formato che preferisci: SQL CREATE TABLE, schema Mongoose o definizione di modello Sequelize.
Come inferire uno schema dal JSON
-
1
Incolla un oggetto di esempio
Inserisci un oggetto JSON, o un array di oggetti (viene letto il primo oggetto dell'array). Usa un record completo con tutti i campi valorizzati affinché ogni colonna riceva un tipo.
-
2
Scegli il formato di output
SQL CREATE TABLE (stile Postgres / MySQL / SQLite), Mongoose per app Node.js con MongoDB o Sequelize per app relazionali Node.js.
-
3
Dai un nome alla tabella o al modello
Imposta il nome della tabella nell'output SQL, oppure il nome dello schema o del modello nell'output Mongoose e Sequelize.
-
4
Copia lo schema generato
Incollalo direttamente in una migrazione o in un file di modello come punto di partenza.
Come vengono inferiti i tipi
L’inferenza è una stima. Lo strumento legge i valori di un oggetto di esempio e sceglie un tipo di colonna per ogni chiave a partire dal valore che vede. Non confronta i record e non deduce quali campi siano facoltativi, quindi forniscigli un oggetto completo e rappresentativo.
Corrispondenza dei tipi
| Valore JSON | Tipo SQL | Tipo Mongoose | Tipo Sequelize |
|---|---|---|---|
42 (intero) |
INTEGER | Number | DataTypes.INTEGER |
3.14 (decimale) |
DECIMAL(10,2) | Number | DataTypes.FLOAT |
"ciao" (stringa breve) |
VARCHAR(255) | String | DataTypes.STRING |
| stringa più lunga di 255 caratteri | TEXT | String | DataTypes.STRING |
"2026-04-18T10:00:00Z" |
TIMESTAMP | Date | DataTypes.DATE |
"2026-04-18" |
DATE | Date | DataTypes.DATEONLY |
true / false |
BOOLEAN | Boolean | DataTypes.BOOLEAN |
null |
TEXT | String | DataTypes.STRING |
[1, 2, 3] (array) |
JSON | Object | DataTypes.JSON |
{ "nested": ... } (oggetto) |
JSON | Object | DataTypes.JSON |
Cosa aggiunge l’output SQL
Il CREATE TABLE SQL inizia sempre con una chiave primaria auto-incrementante:
id INTEGER PRIMARY KEY AUTOINCREMENT,
Gli output Mongoose e Sequelize non aggiungono un campo id, perché entrambe le librerie lo creano per te.
Valori predefiniti e limiti da tenere a mente
- Viene letto un solo oggetto. Se incolli un array, viene esaminato solo il primo elemento, quindi sono i suoi campi a definire l’intero schema.
- Una chiave assente è una colonna assente. I campi non presenti nell’oggetto di esempio semplicemente non compaiono nell’output.
- Oggetti e array annidati diventano un’unica colonna JSON. Lo strumento non li espande in sotto-tabelle, sotto-schemi o chiavi esterne.
- Non viene generato alcun vincolo. Le colonne vengono emesse senza
NOT NULL, univocità o indici, quindi accettano tutte i valori nulli finché non le restringi.
Consigli per un risultato più pulito
- Usa un record completamente valorizzato. Un campo che nell’esempio è
nullviene tipizzato come testo/stringa, che raramente è ciò che vuoi. - Rinomina le parole riservate dopo la generazione. Campi come
type,orderouserandranno racchiusi tra virgolette in SQL. - Tratta l’output come un’impalcatura. Regola le lunghezze VARCHAR e la precisione DECIMAL, aggiungi indici, marca le colonne come
NOT NULLe scegli chiavi reali prima di andare in produzione.
Domande frequenti
Un oggetto o array annidato viene mappato su un’unica colonna JSON (JSON in SQL e Sequelize, un campo di tipo Object in Mongoose). Lo strumento non espande le strutture annidate in sotto-tabelle o sotto-schemi, quindi le appiattisci o normalizzi tu stesso se necessario.
No. Se incolli un array di oggetti, viene esaminato solo il primo oggetto e sono le sue chiavi a definire lo schema. Assicurati che quel primo record abbia tutti i campi che ti interessano, con un valore reale in ciascuno.
No. Ogni colonna viene emessa con il solo tipo, quindi l’output non ha chiavi esterne, vincoli di univocità, indici o clausole NOT NULL. Aggiungili a mano, perché codificano un’intenzione che lo strumento non può recuperare da un campione.
Scegli SQL CREATE TABLE per una migrazione di database relazionale, Mongoose Schema per un’app Node.js su MongoDB, o Sequelize Model per un’app Node.js su un database relazionale tramite l’ORM Sequelize.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Creatore di diagrammi di flusso
Crea nel browser diagrammi di flusso visivi con cinque tipi di nodo, connessioni dirette e download SVG o PNG.
Validatore Email
Valida un indirizzo email: controllo della sintassi RFC 5322, verifica in tempo reale dei record MX, più dettagli su parte locale, dominio e lunghezza. Non viene inviata alcuna email.
Strumento disponibile in altre lingue
- Herramienta de Inferencia de Esquema [ES]
- 스키마 추론 도구 [KO]
- Outil d'inférence de schéma [FR]
- Schemainferensverktyg [SV]
- เครื่องมืออนุมาน Schema [TH]
- スキーマ推論ツール [JA]
- Schema-Inferenz-Tool [DE]
- Schema-inferentie-tool [NL]
- Công cụ suy luận lược đồ [VI]
- Alat Inferensi Skema [ID]
- أداة استنتاج المخطط [AR]
- Narzędzie do wnioskowania schematu [PL]
- Ferramenta de Inferência de Esquema [PT]
- Schema Inference Tool [EN]
- Инструмент вывода схемы [RU]
- Şema Çıkarım Aracı [TR]
- 模式推断工具 [ZH]