Prácticas recomendadas para el esquema de base de datos en la generación de consultas DDL y SQL
El paso de guión Ejecuta una consulta SQL mediante lenguaje natural y la función GetTableDDL generan lenguaje de definición de datos (DDL) que resume el esquema de base de datos de las ocurrencias de las tablas especificadas. La lógica subyacente se basa en la configuración de campo y el gráfico de relaciones para la mayor parte del esquema de la base de datos, pero también puede incluir los comentarios de campo que introduzca en el cuadro de diálogo Administrar base de datos como información adicional.
Cuando el esquema de la base de datos se envía a un modelo de IA para generar consultas SQL, seguir estas prácticas recomendadas ayuda a mejorar la capacidad del modelo para generar secuencias SQL útiles.
Utilizar tablas alfanuméricas y nombres de campo
Lo mejor es que los nombres de los campos cumplan con el estándar SQL-92. En general, use caracteres alfanuméricos; no use caracteres especiales, excepto el guión bajo (_). Trate de evitar el uso de espacios, pero puede hacerlo si es necesario (FileMaker gestiona correctamente los nombres de tablas y campos que contienen espacios mientras se comunica con un modelo de IA).
Utilizar los campos de clave principal y de clave externa
Los campos de clave principal y clave externa en una relación deben tener el mismo tipo de datos: número, texto o incluso fecha o marca de tiempo, si hay una razón para hacerlo.
Campo de clave principal
Cualquier campo con un valor único se puede utilizar como campo de clave principal. Sin embargo, la práctica recomendada es utilizar los mismos criterios que utiliza FileMaker para detectar automáticamente un campo de clave principal.
Para que pueda detectarse, un campo de clave principal debe ser el campo de clave principal predeterminado (o una copia del mismo) o cumplir con uno de los siguientes criterios:
-
utiliza un número de serie de introducción automática y se han seleccionado las siguientes opciones:
-
Para la introducción automática, Prohibir la modificación del valor durante la introducción de datos.
-
Para la validación, Valor único.
-
-
utiliza un cálculo de introducción automática que incluye la función Get ( UUID ) o Get ( UUIDNumber ), y se ha seleccionado la opción Prohibir la modificación del valor durante la introducción de datos.
-
es un campo de cálculo almacenado que incluye la función Get ( UUID ) o Get ( UUIDNumber ).
-
utiliza un número de serie de introducción automática
Consulte Definir la entrada de datos automática, Definir validaciones de campoy Definir opciones de indexación de campos.
Campo de clave externa
Un campo de clave externa puede tener el mismo nombre que el campo de clave principal correspondiente en una tabla relacionada, pero no es necesario. Por ejemplo, un campo de clave externa llamado fk_Contactos en la tabla Direcciones representa una relación entre la tabla Contactos y la tabla Direcciones. La práctica recomendada es usar un nombre que tenga sentido para usted, porque también será un nombre útil para el modelo de IA.
Para aclarar el propósito del campo y especificar la relación con otra tabla, puede describir el campo con más detalle en los comentarios del campo (ver más abajo). Por ejemplo, agregue lo siguiente como comentario en el campo Direcciones::fk_Contactos: "[LLM] Clave externa para la relación uno a muchos con la tabla Contactos".
Nota Una clave externa y su relación con una tabla relacionada se incluyen en el DDL solo si se especifican ambas ocurrencias de la tabla en la relación.
Añadir comentarios de campo
Los comentarios de campo que introduzca en el cuadro de diálogo Administrar base de datos se incluyen en el DDL. Con el fin de mejorar la capacidad del modelo de generar secuencias SQL útiles basadas en el DDL, puede usar el comentario para explicar el propósito del campo. Por ejemplo, cuando un campo es una clave externa que identifica un registro en una tabla relacionada, o cuando el nombre del campo podría no entenderse comúnmente. Cuando se trata de un campo de clave principal, incluso si FileMaker lo detecta e indica en el DDL que es una clave principal, sigue siendo una buena idea identificarlo como tal en el comentario de campo.
Consulte Definir y modificar campos.
Añada la etiqueta [LLM] para limitar los campos incluidos
En lugar de incluir todos los campos de una tabla en el DDL, puede especificar solo los campos que importan para reducir la información innecesaria enviada al modelo que puede degradar la calidad de la respuesta. Para hacerlo, agregue la etiqueta especial [LLM]
al comienzo del comentario del campo y luego siga con un comentario descriptivo según sea necesario. Cualquier otro campo de la tabla cuyo comentario no comience con la etiqueta [LLM]
se excluye del DDL.
Por ejemplo, si la tabla Productos incluye estos campos, pero el comentario en el campo Estado no comienza con la etiqueta [LLM]
:
Nombre de campo |
Comentario |
---|---|
ProductID |
[LLM] Clave principal que identifica de forma única un producto |
ProductName |
[LLM] Nombre descriptivo del producto |
Precio |
[LLM] Precio del producto en USD |
Estado |
Estado del producto en el inventario. Los valores son En existencias, Pedido en curso |
Entonces el DDL para esta tabla es:
CREATE TABLE "Productos" (
"ProductID" int, /*Clave principal que identifica de forma única un producto*/
"ProductName" varchar(255), /*Nombre descriptivo del producto*/
"Price" int, /*Nombre descriptivo del producto en USD*/
PRIMARY KEY (ProductID)
);
Tenga en cuenta que solo se incluyen los tres campos con la etiqueta [LLM]
, y se omite la etiqueta [LLM]
en sí
Distinguir campos con el mismo nombre en varias tablas
A veces, una base de datos puede tener campos con el mismo nombre en varias tablas. Por ejemplo, un campo Foto de la tabla Contactos almacena la imagen de los clientes, mientras que otro campo Foto de la tabla Pedidos almacena la imagen de los recibos de pedido. Para ayudar a garantizar que un modelo de IA pueda distinguir los diferentes propósitos de estos campos, agregue comentarios de campo para aclararlo Por ejemplo, añada"[LLM] Foto de cliente" al comentario del campo Contactos::Foto y "[LLM] Foto de recibos de pedido" al comentario Pedidos::Foto del campo Foto.
Especificarcuándo es importante el caso
Las consultas SQL distinguen entre mayúsculas y minúsculas, por lo que los resultados pueden diferir dependiendo de si el texto está en mayúsculas o minúsculas. Por ejemplo, un campo Etiquetas en la tabla Productos almacena las etiquetas de cada producto, todas en formato de título. En este caso, para evitar resultados de consulta inesperados, agregue "[LLM] Etiquetas de producto, en formato de título" como comentario para el campo Productos::Etiquetas.
Proporcionar los valores de campo válidos
En los campos que utilizan listas de valores personalizadas para especificar valores de campo válidos, una práctica recomendada es proporcionar los valores válidos en un comentario de campo para que el modelo de IA pueda generar la mejor consulta SQL. Por ejemplo, agregue "[LLM] Puesto, los valores válidos son Cirujano, Médico, Dentista, Enfermero y Farmacéutico" como comentario de campo para el campo Contactos::Puesto.
No consultar campos de sumario
El valor de un campo de sumario en una base de datos de FileMaker depende de los registros del conjunto encontrado actual, por lo que una consulta SQL puede devolver un resultado incorrecto en algunos casos. En lugar de ello, use la etiqueta [LLM]
en los comentarios del campo para que se excluyan los campos de sumario. SQL es lo suficientemente sofisticado como para realizar las tareas de los campos de sumario sin incluirlos en el DDL.