Migliori metodologie operative per lo schema del database nella generazione di query DDL ed SQL

L'istruzione di script Esegui ricerca SQL per linguaggio naturale e la funzione GetTableDDL generano un DDL (Data Definition Language) che riassume lo schema del database delle ricorrenze di tabella specificate. La logica sottostante si basa sulle impostazioni dei campi e sul grafico delle relazioni per la maggior parte dello schema del database, ma può anche includere i commenti dei campi che vengono inseriti nella finestra di dialogo Gestisci database come informazioni aggiuntive.

Quando lo schema del database viene inviato a un modello di AI per generare query SQL, seguire queste metodologie operative aiuta a migliorare la capacità del modello di generare istruzioni SQL utili.

Utilizzare i nomi alfanumerici di tabelle e campi

L'ideale è che i nomi dei campi siano conformi allo standard SQL-92. In generale, utilizzare caratteri alfanumerici; non usare caratteri speciali, tranne il trattino basso (_). Cercare di non utilizzare spazi, ma se necessario possono essere impiegati (nel comunicare con un modello di AI, FileMaker gestisce correttamente i nomi di tabelle e campi contenenti spazi).

Utilizzare i campi chiave primaria e chiave esterna

I campi chiave primaria e chiave esterna in una relazione devono avere lo stesso tipo di dati: numero, testo o anche data o data e ora, se c'è un motivo per farlo.

Campo chiave primaria

Qualsiasi campo con un valore univoco può essere utilizzato come campo chiave primaria. Tuttavia, la metodologia migliore consiste nell'utilizzare gli stessi criteri impiegati da FileMaker per rilevare automaticamente un campo chiave primaria.

Per essere rilevato, un campo chiave primaria deve essere il campo ChiavePrimaria predefinito (o una copia di esso) oppure deve soddisfare uno dei seguenti criteri:

  • utilizzare un numero di serie a immissione automatica e aver selezionato le seguenti opzioni:

    • per l'immissione automatica, Impedisci modifica valore durante immissione dati

    • per la convalida, Valore unico

  • utilizzare un calcolo a immissione automatica che includa la funzione Get ( IDUU ) o Get ( NumeroIDUU ) e aver selezionato l'opzione di immissione automatica Impedisci modifica valore durante immissione dati

  • è un campo Calcolo memorizzato che include la funzione Get ( IDUU ) o Get ( NumeroIDUU )

  • utilizzare un numero di serie a immissione automatica

Vedere Definizione dell'immissione automatica dei dati, Definizione della verifica dei campi e Definizione delle opzioni di indicizzazione per i campi.

Campo chiave esterna

Un campo chiave esterna può avere lo stesso nome del campo chiave primaria corrispondente in una tabella correlata, ma non è indispensabile. Ad esempio, un campo chiave esterna fk_Contatti nella tabella Indirizzi rappresenta una relazione dalla tabella Contatti alla tabella Indirizzi. La metodologia migliore consiste nell'utilizzare un nome significativo, perché sarà anche un nome utile per un modello di AI.

Per rendere più chiaro lo scopo del campo e per specificare la relazione con un'altra tabella, è possibile descrivere ulteriormente il campo negli appositi commenti (vedere di seguito). Ad esempio, aggiungere quanto segue come commento nel campo Indirizzi::fk_Contatti: "[LLM] Chiave esterna per la relazione uno a molti con la tabella Contatti".

Nota  Una chiave esterna e la sua relazione a una tabella correlata sono incluse nel DDL solo se sono specificate entrambe le ricorrenze di tabella nella relazione.

Aggiungere commenti campo

I commenti campo che si inseriscono nella finestra di dialogo Gestisci database sono inclusi nel DDL. Per migliorare la capacità del modello di generare istruzioni SQL utili in base al DDL, è possibile utilizzare il commento per spiegare lo scopo del campo. Ad esempio, quando un campo è una chiave esterna che identifica un record della tabella correlata o quando il nome del campo potrebbe non essere di immediata comprensione. Per un campo chiave primaria, anche se FileMaker lo rileva e indica nel DDL che si tratta di una chiave primaria, è comunque bene identificarlo come tale nel commento campo.

Vedere Definizione e modifica dei campi.

Aggiungere il tag [LLM] per limitare i campi inclusi

Piuttosto che includere tutti i campi di una tabella nel DDL, è possibile specificare solo quelli che contano, riducendo le informazioni estranee inviate al modello che possono peggiorare la qualità della risposta. Per fare questo, aggiungere il tag speciale [LLM] all'inizio del commento del campo, aggiungendovi un commento descrittivo adeguato. Tutti gli altri campi della tabella il cui commento non inizia con il tag [LLM] sono esclusi dal DDL.

Ad esempio, se la tabella Prodotti include questi campi ma il commento nel campo Stato non inizia con il tag [LLM]:

Nome del campo

Commento

IDProdotto

[LLM] Chiave primaria che identifica in modo univoco un prodotto

NomeProdotto

[LLM] Nome descrittivo del prodotto

Prezzo

[LLM] Prezzo del prodotto in USD

Stato

Stato del prodotto nell'inventario. I valori sono In magazzino, Su ordinazione

Quindi il DDL per questa tabella è:

Copia
CREATE TABLE "Products" (
"ProductID" int, /*Chiave primaria che identifica in modo univoco un prodotto*/
"ProductName" varchar(255), /*Nome descrittivo del prodotto*/
"Price" int, /*Prezzo del prodotto in USD*/
PRIMARY KEY (ProductID)
);

Si noti che sono inclusi solo i tre campi con il tag [LLM] e il tag [LLM] è omesso.

Distinguere i campi con lo stesso nome in più tabelle

A volte un database può avere campi con lo stesso nome in più tabelle. Ad esempio, un campo Foto nella tabella Contatti memorizza l'immagine dei clienti, mentre un altro campo Foto nella tabella Ordini memorizza l'immagine delle ricevute degli ordini. Per garantire che un modello di AI possa distinguere i diversi scopi di questi campi, aggiungere commenti campo per chiarire. Ad esempio, aggiungere "[LLM] Foto del cliente" al commento del campo Contatti::Foto e "[LLM] Foto delle ricevute degli ordini" al commento del campo Ordini::Foto.

Specificare quando è importante distinguere tra maiuscole e minuscole

Le query SQL fanno distinzione tra maiuscole e minuscole, quindi i risultati possono differire a seconda che il testo sia scritto in lettere maiuscole o minuscole. Ad esempio, un campo Etichette nella tabella Prodotti memorizza le etichette di ciascun prodotto, tutte come titolo. In questo caso, per evitare risultati di query imprevisti, aggiungere "[LLM] Etichette del prodotto, come titolo" come commento al campo Prodotti::Etichette.

Fornire i valori di campo validi

Per i campi che utilizzano elenchi di valori personalizzati per specificare valori di campo validi, la migliore metodologia operativa consiste nel fornire i valori validi in un commento campo in modo che il modello di AI possa generare la query SQL migliore. Ad esempio, aggiungere "[LLM] Qualifica, i valori validi sono Chirurgo, Medico, Dentista, Infermiere e Farmacista" come commento per il campo Contatti::Titolo.

Non impostare query per i campi Riassunto

Il valore di un campo Riassunto di un database FileMaker dipende dai record del gruppo trovato corrente quindi, in alcuni casi, una query SQL può restituire un risultato errato. Piuttosto, utilizzare il tag [LLM] nei commenti campo in modo da escludere i campi Riassunto. SQL è abbastanza sofisticato da eseguire le attività dei campi Riassunto senza includerli nel DDL.