Información general acerca de la creación e implementación de bases de datos en entornos de equipo
Actualización: noviembre 2007
Con Team Edition for Database Professionals, el equipo de desarrollo puede administrar el cambio de la base de datos utilizando un proyecto de base de datos que esté bajo control de versiones. Si desempeña la función de administrador de bases de datos (DBA) en el equipo, creará ese proyecto, importará el esquema desde un servidor de producción, definirá la configuración de la base de datos y establecerá un plan para generar los datos de prueba. Cuando esté preparado para compartir el proyecto y su configuración con el resto del equipo, colocará los archivos asociados al proyecto en el sistema de control de versiones.
Si es un desarrollador o evaluador que está trabajando en la base de datos, desprotegerá la versión actual del esquema de base de datos del sistema del control de versiones y, a continuación, realizará sus cambios en un entorno de desarrollo aislado, o cajón de arena. Después, podrá probar los cambios en el entorno aislado para no afectar a los demás miembros del equipo. Una vez finalizados los cambios, volverá a proteger los archivos en el sistema de control de versiones para que puedan ser generados e implementados en un servidor de pruebas. Los demás integrantes del equipo podrán obtener sus cambios si se sincronizan con la versión que ha protegido en el sistema de control de versiones.
Preparar un proyecto de base de datos
En un entorno de equipo, si desempeña la función de DBA, preparará el proyecto para el equipo y, a continuación, cada integrante podrá trabajar con el mismo proyecto en su propio entorno de desarrollo aislado. Para preparar un proyecto, normalmente realizará las acciones siguientes:
Crear el proyecto de base de datos. Este paso suele realizarse junto con el siguiente.
Establecer el esquema para el proyecto de base de datos. La mayor parte del trabajo de desarrollo empieza con una base de datos existente. En ese caso, puede importar el esquema de esa base de datos al proyecto de base de datos. Para realizar este paso, debe tener el acceso a la base de datos de origen (que a menudo es una base de datos de producción). Si va a crear una base de datos, quizás tenga que trabajar con el arquitecto de bases de datos para desarrollar el esquema de base de datos inicial.
Establecer las propiedades del proyecto de base de datos que controlan la generación e implementación. Este paso incluye la configuración de la intercalación predeterminada, la definición de la ruta de acceso de los resultados de la generación, la especificación de las opciones de conexión y la definición del nombre de la base de datos de destino.
Proteger el proyecto de base de datos y su contenido en el sistema de control de versiones para que el equipo pueda tener acceso a ellos.
Definir un plan de generación de datos para permitir que cada miembro del equipo trabaje con datos de prueba realistas que no contengan información confidencial. A continuación, el plan debe agregarse al proyecto de base de datos y protegerse en el sistema de control de versiones.
Definir también pruebas unitarias de base de datos para la funcionalidad existente de la base de datos. Normalmente, las pruebas unitarias se incluyen en un proyecto independiente en la misma solución que el proyecto de base de datos y, después, se protege la solución completa en el sistema de control de versiones.
Ahora el equipo puede comenzar el trabajo de desarrollo.
Desarrollo iterativo en un entorno de desarrollo aislado
Como desarrollador, sincronizará su entorno de desarrollo local con el sistema de control de versiones. Personalizará la propiedad Conexión de destino del proyecto de base de datos de manera que señale al servidor donde desea hospedar su copia de la base de datos. Su trabajo consiste en realizar el proceso siguiente:
Identificará la tarea que se debe realizar. Este paso podría requerir la identificación de elementos de trabajo que se le hayan asignado en Seguimiento de elementos de trabajo de Team Foundation, por ejemplo.
Modificará el proyecto de base de datos, su contenido y el código fuente relacionado. Desprotegerá los archivos en el sistema de control de versiones, donde puede mantener sincronizados su código y el proyecto de base de datos.
Si es necesario, creará o modificará las pruebas unitarias y actualizará el plan de generación de datos.
Generará e implementará el proyecto de base de datos y la aplicación o aplicaciones relacionadas en el servidor donde tiene su copia privada de la base de datos.
Ejecutará las pruebas unitarias, y posiblemente utilizará el Generador de datos para crear los datos de las pruebas.
Repetirá los pasos del 2 al 5 hasta que todas las pruebas sean correctas y esté satisfecho con los resultados.
Protegerá todos los cambios realizados en su proyecto de base de datos, aplicación y pruebas unitarias cuando las pruebas unitarias se ejecuten correctamente y le satisfaga la calidad del trabajo.
Pasará a la tarea siguiente.
Al realizar este proceso, puede desarrollar y probar sus cambios de forma aislada, donde no puedan afectar a otros desarrolladores, mientras no tengan un nivel de calidad constante. Llegado ese momento, protegerá su trabajo en el sistema de control de versiones y permitirá que otros desarrolladores tengan acceso a las mejoras que ha realizado.
Implementar cambios en producción
Después de que el equipo ha realizado todos los cambios necesarios, el paso siguiente es actualizar el servidor de producción. Si es el responsable de esta tarea, puede obtener la versión más reciente del proyecto de base de datos en el sistema de control de versiones, generar el script de implementación, actualizar manualmente ese script según sea necesario y, a continuación, ejecutarlo para implementar los cambios del esquema en el entorno de producción.
Algunos programas de control de versiones permiten etiquetar un conjunto de archivos según se encuentran en un momento dado. Por ejemplo, puede etiquetar un proyecto de base de datos, código fuente de aplicación, pruebas unitarias y otros archivos tal como se encontraban en una versión determinada. Aunque el trabajo de desarrollo haya continuado desde entonces, siempre podrá recuperar los archivos que corresponden a esa versión. Para obtener más información sobre cómo implementar una versión previamente etiquetada del proyecto de base de datos, vea Cómo: Implementar una versión anterior de una base de datos bajo control de versiones.
Representaciones de la base de datos
Si sigue este proceso de desarrollo de base de datos, puede tener hasta tres representaciones de la base de datos:
La representación del servidor de bases de datos, que contiene la base de datos y los datos. Si es un desarrollador de bases de datos, trabajará principalmente con una base de datos de desarrollo o de prueba. Muchas organizaciones tienen una función de administrador de bases de datos independiente que tiene acceso a la base de datos de producción.
El proyecto de base de datos, que es la representación sin conexión del esquema de base de datos. Los proyectos de base de datos también incluyen los planes de generación de datos que utilice para generar los datos de prueba y los scripts que utilice para implementar y administrar la base de datos. Para obtener más información, vea Información general acerca de los proyectos de base de datos.
El repositorio de control de versiones, que realiza un seguimiento de todos los cambios que usted o cualquier miembro del equipo realiza en el proyecto de base de datos.
El servidor de bases de datos intercambia datos con el proyecto de base de datos, que también intercambia datos con el repositorio de control de versiones. Podrá administrar su base de datos más eficazmente si entiende el modo en que estas representaciones intercambian los datos con respecto al control de versiones, la importación del esquema y la implementación.
Vea también
Tareas
Tutorial: Crear un entorno de desarrollo aislado de bases de datos
Conceptos
Información general acerca del trabajo con objetos de base de datos
Introducción a la terminología de Database Edition
Otros recursos
Introducción a los proyectos de bases de datos
Generar e implementar esquemas de base de datos
Trabajar con scripts de base de datos
Trabajar con proyectos de base de datos en un entorno de equipo
Tutoriales (Crear y actualizar esquemas de base de datos con control de versiones)