Compartir vía


Integración de GitHub Copilot en el Diseñador de esquemas (versión preliminar)

El Diseñador de esquemas de la extensión MSSQL para Visual Studio Code incluye la integración de GitHub Copilot, por lo que puede diseñar, modificar y validar esquemas de base de datos mediante lenguaje natural. Describa lo que necesita en el panel de chat y GitHub Copilot traduce las solicitudes en acciones de esquema reflejadas en el lienzo del diagrama visual, T-SQL generado y cambios resaltados.

Captura de pantalla del Diseñador de esquemas con el panel de chat de GitHub Copilot abierto en Visual Studio Code.

Sugerencia

La integración de GitHub Copilot en el Diseñador de esquemas está actualmente en versión preliminar y podría cambiar en función de los comentarios. Únase a la comunidad en GitHub Discussions para compartir ideas o notificar problemas.

Características

La integración de GitHub Copilot en el Diseñador de esquemas ofrece estas funcionalidades:

  • Cree esquemas de base de datos a partir de descripciones de lenguaje natural, con tablas, columnas y relaciones generadas automáticamente.
  • Evolucione los esquemas existentes agregando, modificando o quitando tablas y columnas a través de avisos conversacionales.
  • Revisar los cambios propuestos por IA individualmente a través de un flujo de revisión de cambios guiado, con la capacidad de aceptar o deshacer cada edición.
  • Visualice las diferencias de esquema que muestran todos los cambios pendientes antes de aplicarlos a la base de datos.
  • Inicializar esquemas de aplicación en una base de datos vacía mediante un único mensaje en lenguaje natural.
  • Importe artefactos externos, como datos JSON, documentos o imágenes, y genere elementos de esquema a partir de ellos.
  • Valide los cambios de esquema con salvaguardias para claves principales faltantes, tipos de datos inválidos y problemas de normalización.

Prerrequisitos

Antes de usar GitHub Copilot en el Diseñador de esquemas, asegúrese de que se cumplen los siguientes requisitos:

Abrir el Diseñador de esquemas con GitHub Copilot

Puede abrir el Diseñador de esquemas con GitHub Copilot desde dos puntos de entrada:

  1. En el Explorador de objetos de la extensión MSSQL, haga clic con el botón derecho en un nodo de base de datos.

  2. Seleccione Diseñador de esquemas en el menú contextual.

    Captura de pantalla del menú contextual del botón derecho en un nodo de base de datos que muestra la opción Diseñador de esquemas.

  3. Cuando se abra el lienzo del Diseñador de esquemas con el esquema de base de datos cargado, seleccione el botón Chat (con el icono de GitHub Copilot) en la barra de herramientas del Diseñador de esquemas para abrir una sesión de chat de GitHub Copilot con ámbito en el contexto de esquema actual.

Sugerencia

También puede hacer clic con el botón derecho en un nodo de base de datos y seleccionar Abrir en modo agente de Copilot para iniciar una sesión de chat del agente de Copilot de GitHub. En el modo de agente, puede pedir a GitHub Copilot que abra automáticamente el Diseñador de esquemas, por ejemplo: "Open schema designer for AdventureWorksLT2022". Para obtener más información, consulte Inicio rápido: Uso del modo agente de Copilot de GitHub.

Creación de un esquema con lenguaje natural

Al abrir el panel de chat de GitHub Copilot en el Diseñador de esquemas, puede describir un esquema en inglés sin formato y verlo representado en el diagrama visual.

  1. Escriba una descripción del lenguaje natural del esquema que desea crear en el panel de chat.

  2. GitHub Copilot genera las tablas, columnas, claves principales y relaciones de clave externa en función de la descripción.

  3. Vea el lienzo del diagrama visual a medida que se actualiza en tiempo real y refleja el esquema generado.

Estos son algunos ejemplos de avisos que puede probar:

  • "Build a library management system with tables for Books, Authors, Members, and BookLoans"
  • "Design an e-commerce schema with Products, Categories, Orders, OrderItems, and Customers"
  • "Create a blog platform with Users, Posts, Comments, and Tags with many-to-many relationships"

Captura de pantalla de GitHub Copilot que genera cambios de esquema en el Diseñador de esquemas con la actualización del diagrama visual.

Evolución de un esquema existente

A partir de un esquema existente, use GitHub Copilot para evolucionarlo agregando, modificando o quitando tablas y columnas. El diagrama, el código y las vistas de diferencias reflejan estos cambios en directo.

Estos son algunos ejemplos de prompts para evolución de esquemas.

  • "Add a description column of type NVARCHAR(500) to the Books table"
  • "Remove the ratings table from the schema"
  • "Rename the 'NumberOfPages' column in the Books table to 'PageCount'"
  • "Add booking/reservation support to this app schema"
  • "Change the data type of the Price column in Products from INT to DECIMAL(10,2)"

El diagrama visual se actualiza al aplicar un cambio. Las adiciones de columna aparecen en la tarjeta de tabla correcta. Los elementos eliminados desaparecen del diagrama. El proceso conserva todas las relaciones.

Revisión de los cambios de esquema

Después de realizar modificaciones de esquema a través de GitHub Copilot o la interfaz de usuario, revise todos los cambios pendientes antes de aplicarlos a la base de datos.

Vista comparativa de esquemas

Seleccione el botón Mostrar cambios en la barra de herramientas del Diseñador de esquemas para abrir la vista de diferencias. La vista de diferencias muestra:

  • Se han agregado objetos, como tablas, columnas y claves externas, claramente marcados como Agregados.
  • Objetos quitados marcados como Quitados.
  • Objetos modificados que muestran valores anteriores y posteriores para el tipo de datos, la nulabilidad, la identidad, los valores predeterminados y las marcas de clave.
  • Nombres calificados por esquema para todos los objetos, como schema.table y schema.column.
  • Una opción Deshacer que aparece al pasar el ratón por encima de los cambios individuales.

Captura de pantalla de la vista de diferencias de esquema que muestra los objetos de esquema agregados, quitados y modificados.

Revisión de cambios de GitHub Copilot

Cuando GitHub Copilot aplica varias modificaciones de esquema, inicia automáticamente la revisión Cambios de Copilot . Este flujo guiado muestra cada edición propuesta por IA para que pueda revisarlas una por una:

  1. Navegue hacia adelante y hacia atrás entre los cambios.
  2. Seleccione Aceptar para mantener un cambio o Deshacer para revertirlo.
  3. Seleccione el distintivo de propiedad en una tarjeta de cambio para ver los valores detallados antes y después.

Captura de pantalla del flujo de revisión de cambios de Copilot de GitHub con los botones Aceptar y Deshacer para cada cambio de esquema.

Seleccione el distintivo de propiedad en una tarjeta de cambio para ver los valores detallados antes y después de cada propiedad modificada:

Captura de pantalla de un detalle de una tarjeta de cambio que muestra los valores antes y después de una propiedad del esquema modificada.

Iniciar un esquema desde cero

GitHub Copilot puede generar esquemas de aplicación completos. En una base de datos vacía, abra el Diseñador de esquemas con el panel de chat de GitHub Copilot y describa un concepto de aplicación. GitHub Copilot compila el modelo de datos, incluidas tablas, columnas, claves principales, claves externas y relaciones.

Estos son algunos ejemplos de solicitud para el arranque del esquema:

  • "Build a Twitter clone schema from scratch"
  • "Create a blog platform schema with users, posts, comments, and tags"
  • "Design an inventory management system with warehouses, products, stock levels, and suppliers"
  • "Generate a restaurant reservation system with tables for restaurants, menus, customers, and reservations"

Después de que GitHub Copilot genere el esquema inicial, puede seguir evolucionando con avisos de seguimiento como "Add a comments feature to this blog platform" o "Add direct messaging to this Twitter clone".

Importación de artefactos externos

GitHub Copilot puede aceptar contexto externo para generar o informar el diseño del esquema. La entrada admitida incluye datos JSON, documentos, imágenes o cualquier formato compatible con GitHub Copilot.

Estos son algunos ejemplos de indicaciones para importar artefactos externos:

  • "Import this JSON and model it as tables" seguido de una carga JSON
  • "I have this API response format, create tables to store this data" seguido de una respuesta JSON de ejemplo
  • Adjunte un documento o una imagen y pregunte: "Create a schema based on this document"

Los objetos anidados en JSON se modelan como tablas relacionadas independientes. El Diseñador de esquemas deduce los tipos de datos de la entrada y crea relaciones de clave externa para estructuras anidadas.

Captura de pantalla de GitHub Copilot que importa una carga JSON y genera tablas en el diagrama del Diseñador de esquemas.

Validación y barreras de protección

A medida que evolucionan los esquemas, GitHub Copilot valida los cambios y destaca problemas potenciales en línea. Las comprobaciones de validación incluyen:

  • Faltan claves principales en tablas.
  • Tipos de datos no válidos o no admitidos para la plataforma de SQL Server de destino.
  • Problemas de normalización, como la repetición de grupos almacenados en una sola columna.
  • Nombres de columna duplicados dentro de la misma tabla.
  • Referencias de clave externa a tablas o columnas inexistentes.

GitHub Copilot explica los problemas detectados en línea y sugiere acciones correctivas antes de continuar con los cambios solicitados.

Limitaciones

  • Estado de la sesión de chat: las sesiones de chat no mantienen el historial al cambiar el contexto de la base de datos. Un nuevo contexto restablece la memoria del chat.
  • Conexión de base de datos activa necesaria: necesita una conexión de base de datos activa a través de la extensión MSSQL para cargar y modificar esquemas. Al usar GitHub Copilot en modo de agente, el agente puede configurar la conexión automáticamente.
  • La salida generada por IA debe revisarse: GitHub Copilot podría sugerir recomendaciones de esquema incorrectas o subóptimas. Revise siempre los cambios de esquema y SQL generados antes de publicarlos en la base de datos.

Comentarios y soporte

Si tiene ideas, comentarios o quiere interactuar con la comunidad, únase a la discusión en https://aka.ms/vscode-mssql-discussions. Para notificar un error, visite https://aka.ms/vscode-mssql-bug. Para solicitar una nueva característica, vaya a https://aka.ms/vscode-mssql-feature-request.