Compartir a través de


Introducción a la arquitectura de las características de bases de datos de Visual Studio

Visual Studio ofrece a los desarrolladores de bases de datos muchas de las herramientas, características y funciones que ofrece a otros miembros de un equipo de desarrollo de aplicaciones. Por ejemplo, puede usar para la base de datos el mismo sistema del control de versiones y otras herramientas de ciclo de vida que usan los desarrolladores de software para el código fuente. Puesto que la arquitectura de Visual Studio está estrechamente integrada con Visual Studio Team Foundation Server, le resultará más fácil administrar el proceso de desarrollo de la base de datos a la vez que mejora la coordinación con los programadores que se encargan de otros aspectos de la aplicación.

Para obtener más información sobre las capacidades que admiten el desarrollo de la base de datos en Visual Studio, vea Administrar los cambios de la base de datos.

Integración con Visual Studio

No solo la arquitectura básica de Visual Studio está integrada con Visual Studio Team Foundation Server, sino que también la interfaz es uniforme en todos los componentes. Se trabaja con proyectos de base de datos, proyectos de servidor y proyectos de aplicación de capa de datos de una manera muy similar a como se trabaja con otros tipos de proyectos en Visual Studio. En los cuadros de diálogo Nuevo proyecto y Agregar elemento de proyecto se muestran plantillas específicas para bases de datos. Además, puede realizar acciones (como compilar e implementar) y establecer parámetros de configuración (como la conexión a la base de datos de destino y la intercalación de la base de datos) diseñados específicamente para el desarrollo de bases de datos.

Los proyectos de base de datos se muestran en el Explorador de soluciones como proyectos del mismo nivel que los otros tipos de proyecto existentes. Puede agregar estos proyectos al sistema de control de versiones, agregar y quitar elementos de proyecto, y compilarlos con MSBuild.

Arquitectura

Visual Studio incluye las siguientes áreas de arquitectura:

  • Proyecto de base de datos

  • Infraestructura del ciclo de vida de una base de datos

Cada proyecto de base de datos es una representación sin conexión de una base de datos y se encuentra dentro de la estructura de una solución de Visual Studio. Debe compilar e implementar los cambios en un proyecto de base de datos para que afecten a una instancia activa de Microsoft SQL Server 2005 o Microsoft SQL Server 2008.

Infraestructura del ciclo de vida de una base de datos

La infraestructura del ciclo de vida de una base de datos proporciona diversos servicios entre el proyecto de base de datos y la representación lógica (modelo) de la base de datos. Esta infraestructura incluye características fundamentales necesarias para cualquier proyecto de base de datos. Estas características constituyen la base del proyecto de base de datos. Las características creadas a partir de esa base se denominan características de proyecto de base de datos.

Base de un proyecto de base de datos

La base de un proyecto de base de datos incluye las siguientes funciones principales:

  • Análisis de proyectos y elementos de proyecto
    La base analiza los artefactos de proyecto de base de datos y sus elementos, como las tablas, las vistas y los procedimientos almacenados. Al hacerlo, extrae información sobre los objetos de base de datos de los scripts que constituyen el proyecto de base de datos. Esta funcionalidad se aplica, por ejemplo, al importar objetos de base de datos desde scripts de base de datos existentes. Los proyectos de base de datos están constituidos por conjuntos de scripts T-SQL (Transact-SQL). El sistema de proyectos de base de datos interpreta estos scripts para que el usuario pueda interactuar con ellos tratándolos como objetos de esquema lógicos.

  • Importar esquema de base de datos
    Puede usar Importar esquema de base de datos para traer una base de datos existente a Visual Studio y agregarla al sistema de control de versiones. Incluso en un entorno en el que la base de datos está bajo control de versiones, pueden producirse cambios en un servidor de bases de datos activo que habrá que aplicar al proyecto de base de datos. Puede usar la Comparación de esquemas para importar los cambios de un servidor de bases de datos en un proyecto de base de datos en desarrollo.

  • Realizar un seguimiento de las dependencias entre objetos de base de datos
    El sistema de proyectos de base de datos realiza automáticamente un seguimiento de las dependencias entre los objetos de la base de datos. El seguimiento de las dependencias entre objetos garantiza la compilación e implementación de los objetos correctos. Si realiza un cambio importante en un producto, descubrirá que el cambio es importante cuando lo guarde. Puede utilizar el Visor de dependencias del esquema para ver y navegar por las dependencias entre los objetos de base de datos. Normalmente, estos cambios se descubren al intentar generar, implementar o ejecutar una prueba unitaria de base de datos. La refactorización de base de datos usa esas dependencias para identificar los cambios necesarios y la generación de datos puede mostrar las relaciones de dependencia como parte del plan de generación de datos.

  • Refactorización de base de datos
    La refactorización de base de datos identifica las dependencias entre los objetos de la base de datos y usa esa información para propagar los cambios con precisión en los proyectos de base de datos y de prueba unitaria. La refactorización de la base de datos sólo está disponible en Visual Studio Premium y Visual Studio Ultimate.

  • Crear scripts de implementación para implementaciones nuevas y existentes
    Los scripts de implementación se utilizan para crear una base de datos o actualizar una base de datos existente de forma que coincida con el esquema del proyecto de base de datos. Los scripts de implementación constan de scripts de ejecución previa a la implementación, scripts de creación de objetos de base de datos y scripts de ejecución posterior a la implementación. Si implementa en una base de datos existente, el proyecto de base de datos se compara en tiempo de implementación con el esquema actual de la base de datos de destino. Se genera un script de actualización para actualizar la base de datos de destino mediante una combinación de instrucciones ALTER, CREATE y DROP.

  • Validar generaciones
    Esta funcionalidad incluye la validación de la estructura y las relaciones de los objetos del proyecto de base de datos y la validación de la sintaxis de los scripts de ejecución previa y posterior a la implementación, así como la notificación de estos resultados.

Características de un proyecto de base de datos

Además de los servicios básicos que se proporcionan para proyectos de base de datos, hay otras características creadas a partir de la base del proyecto de base de datos. Entre estas características se incluyen las siguientes:

  • Comparación de esquemas de base de datos
    Permite comparar dos esquemas de base de datos, que pueden estar en una versión actual de un proyecto de base de datos, en una versión anterior del archivo .dbschema compilado que se crea al compilar un proyecto de base de datos o en una o más bases de datos activas. También puede generar los scripts necesarios para hacer que la estructura de la base de datos de destino coincida con la estructura de la base de datos de origen. La comparación de esquemas sólo está disponible en Visual Studio Premium y Visual Studio Ultimate.

  • Comparar datos de bases de datos
    Proporciona la capacidad de comparar los datos de dos bases de datos activas con esquemas coincidentes. También puede generar los scripts necesarios para hacer que los datos de la base de datos de destino coincidan con los datos de la base de datos de origen. La comparación de datos sólo está disponible en Visual Studio Premium y Visual Studio Ultimate.

  • Pruebas unitarias de bases de datos
    Genera automáticamente pruebas unitarias para un procedimiento almacenado o una función, y admite la creación manual de pruebas unitarias que contengan código Transact-SQL válido. Puede usar este servicio para comprobar que los cambios realizados en otra parte no interfieren en su trabajo. Como parte de una prueba unitaria, puede generar e implementar automáticamente la base de datos, y generar datos de prueba reproducibles para establecer un estado inicial coherente. Este servicio también incluye una API pública que puede usar para escribir condiciones de prueba personalizadas con el fin de agregar lógica de validación reutilizable para las pruebas unitarias. Puede ejecutar pruebas unitarias de base de datos en Visual Studio Professional, Visual Studio Premium o Visual Studio Ultimate, pero debe tener Visual Studio Premium y Visual Studio Ultimate para crearlas o modificarlas.

  • Generar datos
    Proporciona la capacidad de llenar una base de datos con datos de prueba realistas que no son una mera copia de datos de producción y que podrían contener información confidencial. También puede crear generadores de datos personalizados. Este servicio también incluye una API pública para escribir generadores de datos personalizados para su uso con tipos de datos de CLR, tipos definidos por el usuario y tipos de datos definidos por el usuario, o para usar algoritmos de generación de datos personalizados para los tipos integrados. Para crear o modificar un planes de generación de datos, debe tener Visual Studio Premium y Visual Studio Ultimate.

  • Crear y ejecutar scripts de base de datos
    Proporciona un editor de Transact-SQL en el que puede crear, analizar y ejecutar scripts de base de datos de manera similar a como se usa el Analizador de consultas o SQL Server Management Studio. Es el mismo editor que se utiliza para modificar los scripts en el proyecto de base de datos. Por esta razón, proporciona una interfaz de usuario uniforme, independientemente de si está trabajando con un proyecto de base de datos sin conexión o ejecutando scripts directamente en un servidor de bases de datos activo.

Compatibilidad con la línea de comandos

Algunas de las actividades que se realizan regularmente deben poder ejecutarse como parte de un proceso automatizado. Por esta razón, se proporciona al usuario la capacidad de generar el proyecto de base de datos, implementarlo y ejecutar pruebas unitarias (que pueden incluir la generación de datos de prueba predecibles y representativos) desde la línea de comandos.

Vea también

Tareas

Tutorial: Crear un entorno de desarrollo de bases de datos aislado

Tutorial: Establecer una línea base para el entorno de desarrollo aislado

Tutorial: Desarrollo iterativo de bases de datos en un entorno de desarrollo aislado

Conceptos

Administrar los cambios de la base de datos

Extender las características de base de datos de Visual Studio