Información general acerca de los proyectos de base de datos

Actualización: noviembre 2007

Un proyecto de base de datos es la representación sin conexión de un esquema de base de datos. Esta representación contiene las definiciones de objeto y los scripts de implementación necesarios para crear una instancia independiente de esa base de datos o para actualizar una existente. Al crear un proyecto de base de datos, puede colocar la base de datos en el sistema de control de versiones.

Puede realizar las tareas siguientes con los proyectos de base de datos.

  • Crear e implementar una base de datos.

  • Colocar la base de datos en el sistema de control de versiones.

  • Crear un proyecto de base de datos importando los objetos desde una base de datos implementada.

  • Comparar su proyecto de base de datos con una base de datos implementada.

  • Importar los cambios realizados en una base de datos implementada para que el proyecto de base de datos siga coincidiendo con la base de datos implementada.

  • Agregar, modificar y eliminar objetos de base de datos y scripts.

  • Crear uno o varios planes de generación de datos para llenar la base de datos con datos de prueba.

Importar esquemas de base de datos

Puede importar un esquema de base de datos desde una instancia de base de datos o desde una secuencia de comandos. Al importar un esquema de base de datos, se valida. Las instrucciones que no se entienden se colocan en el archivo ScriptsIgnoredOnImport.sql. Si importa definiciones de objeto que hacen referencia a objetos que ya no existen, debe resolver esos errores para poder generar e implementar el proyecto de base de datos. Puede resolver los errores eliminando el objeto. Por ejemplo, si importa un procedimiento almacenado que hace referencia a una tabla que ya no existe, simplemente quite ese procedimiento almacenado.

El proceso de limpieza inicial puede llevar mucho tiempo si se importa un esquema de base de datos grande. Sin embargo, después de haber eliminado los errores, Visual Studio Team System Database se asegurará de que no se incorporen otros nuevos. Cuando se guarda la definición de objeto modificada, todos los cambios se validan.

Estructura del proyecto de base de datos

Un proyecto de base de datos consiste en un archivo .dbproj que contiene tres subcarpetas predeterminadas que se denominan Planes de generación de datos, Objetos de esquema y Scripts. Cada subcarpeta se describe con mayor detalle más adelante en este tema. El Explorador de soluciones proporciona una vista basada en archivos del proyecto de base de datos. Cada elemento que aparece en el Explorador de soluciones corresponde a un archivo o a una carpeta del disco. En cambio, la Vista de esquema proporciona una vista basada en objetos que permite identificar los objetos de la base de datos, existan como archivos independientes o no.

En el Explorador de soluciones, puede realizar acciones que afecten al proyecto como conjunto o a archivos individuales. En el Explorador de soluciones, puede realizar las acciones siguientes en un proyecto de base de datos:

  • Importar esquema de base de datos
    Puede importar la información de esquema de una base de datos que especifique.

  • Importar script
    Puede importar la información de esquema para uno o más objetos desde un script que contenga definiciones de objeto.

  • Generar
    Puede generar un script de generación que cree una base de datos con el mismo esquema o que sincronice una base de datos existente con ese esquema. Las propiedades del proyecto de base de datos controlan la implementación, así como la configuración en la base de datos de destino.

  • Volver a generar
    Puede utilizar esta opción para generar el proyecto, aun cuando no se hayan producido cambios desde la última vez que lo generó.

  • Implementar
    Puede implementar su proyecto de base de datos en una base de datos nueva o existente, utilizando la configuración que haya seleccionado. Esta acción también genera el proyecto de base de datos antes de implementarlo en caso de que no esté actualizado.

  • Limpiar
    Puede eliminar los scripts de implementación existentes creados como resultado de una operación de generación, regeneración o implementación.

  • Agregar
    Puede agregar carpetas y archivos de elemento de proyecto a su proyecto de base de datos. Por ejemplo, puede agregar elementos de proyecto que contengan definiciones de objeto de base de datos.

  • Establecer como proyecto de inicio
    Puede especificar que el proyecto de base de datos se marque como proyecto de inicio para la solución. Si la solución tiene otros proyectos, seguramente uno de ellos será el más adecuado como proyecto de inicio, porque los proyectos de base de datos no contienen elementos de interfaz de usuario.

  • Agregar solución al control de código fuente
    Puede colocar la solución que contiene su proyecto de base de datos en el sistema de control de versiones.

  • Cortar
    Puede copiar el proyecto en el Portapapeles. Esta acción también marca el proyecto para que se quite de la ubicación actual en la solución cuando se pegue en otro lugar.

  • Quitar
    Puede quitar el proyecto de base de datos de la solución actual.

  • Cambiar nombre
    Puede cambiar el nombre del proyecto de base de datos. Si el proyecto se encuentra en el sistema de control de versiones, se desprotegerá para realizar esta acción.

  • Descargar proyecto
    Puede descargar el proyecto de base de datos. Quizás sea necesario si abre una solución grande que contiene varios proyectos y sólo desea cargar los proyectos en los que esté trabajando activamente. Después de descargar un proyecto de base de datos, puede utilizar el comando Volver a cargar el proyecto para volver a cargarlo.

  • Mostrar todos los archivos
    Puede utilizar esta opción para mostrar u ocultar los archivos que haya excluido del proyecto de base de datos.

  • Propiedades
    Puede ver y personalizar las propiedades del proyecto, que controlan aspectos de la generación e implementación del proyecto de base de datos.

  • Actualizar
    Puede actualizar los objetos de base de datos que aparecen en el Explorador de soluciones. Esta acción volverá a interpretar el contenido de los archivos que contienen las definiciones de objeto.

Planes de generación de datos

De forma predeterminada, esta subcarpeta contiene los planes creados para generar datos de prueba representativos para una base de datos implementada.

Puede realizar las acciones siguientes en la subcarpeta Planes de generación de datos:

  • Agregar nuevo elemento
    Puede crear un elemento de proyecto, como un plan de generación de datos, y agregarlo al proyecto.

  • Agregar elemento existente
    Puede agregar un elemento que ya exista al proyecto de base de datos. Se hace una copia de ese elemento en la carpeta del proyecto o en una subcarpeta de dicha carpeta.

  • Copiar
    Puede copiar todos los planes de generación de datos del proyecto en el Portapapeles.

Objetos de esquema

De forma predeterminada, esta subcarpeta incluye todos los archivos que contienen las definiciones de los objetos de su proyecto de base de datos, agrupados por tipo de objeto.

Puede realizar las acciones siguientes en la subcarpeta Objetos de esquema:

  • Agregar nuevo elemento
    Puede crear un elemento de proyecto, como una definición de tabla, y agregarlo al proyecto.

  • Agregar elemento existente
    Puede agregar un elemento que ya exista al proyecto de base de datos. Se hace una copia de ese elemento en la carpeta del proyecto o en una subcarpeta de dicha carpeta.

  • Copiar
    Puede copiar todos los objetos de esquema del proyecto en el Portapapeles.

Los objetos de esquema de base de datos se definen en un conjunto de archivos .sql que se almacenan en la carpeta del proyecto. La mayoría de los objetos se definen en archivos independientes. Son excepciones las columnas de una tabla (que se especifican en el archivo que contiene la definición de tabla) y los parámetros de un procedimiento almacenado o función (que se especifican en el archivo que contiene el procedimiento almacenado o la función).

La propiedad Acción de generación de un archivo .sql indica si se analiza para ver si contiene la definición de un objeto de base de datos. De forma predeterminada, los archivos que contienen definiciones de objeto de base de datos se establecen en Generar y otros scripts .sql y archivos de diversa índole se establecen en No está en la generación. La propiedad Acción de generación también determina si el archivo se incluye en la secuencia de comandos de generación.

Como se observa a continuación, el nombre del objeto determina su nombre de archivo y su tipo determina cuál será su extensión predeterminada:

Tipo de objeto de base de datos

Nombre

Function

nombreDeObjeto.function.sql

Índice

nombreDeObjeto.index.sql

Procedimiento almacenado

nombreDeObjeto.proc.sql

Table

nombreDeObjeto.table.sql

Desencadenador

nombreDeObjeto.trigger.sql

View

nombreDeObjeto.view.sql

Restricción PRIMARY KEY

nombreDeObjeto.pkey.sql

Restricción FOREIGN KEY

nombreDeObjeto.fkey.sql

Restricción UNIQUE KEY

nombreDeObjeto.ukey.sql

Restricción CHECK

nombreDeObjeto.chkconst.sql

Restricción DEFAULT

nombreDeObjeto.defconst.sql

Estadísticas

nombreDeObjeto.statistic.sql

Si define en el archivo .sql un objeto cuyo tipo no coincide con el tipo de objeto que implica su nombre de archivo, aparecerá un error en la ventana Lista de errores. Por ejemplo, si agrega un archivo denominado MiTabla.table.sql al proyecto de base de datos pero dentro del archivo define una vista, aparece un mensaje de error en la ventana Lista de errores.

Puede realizar las acciones siguientes con los archivos de la subcarpeta Objetos de esquema:

  • Abrir
    Abre el archivo en el editor que corresponda al tipo de archivo. Por ejemplo, se abrirá el editor de Transact-SQL (T-SQL) para los archivos .sql.

  • Abrir con
    Abre el archivo que contiene la definición del objeto en otro editor que especifique.

  • Ver código
    Abre el archivo en el editor de T-SQL.

  • Excluir del proyecto
    Marca el archivo como excluido del proyecto. Los archivos excluidos no forman parte del script de generación que se crea cuando posteriormente se genera o implementa el proyecto de base de datos. Podría excluir un archivo si todavía está trabajando con él y desea implementar el resto de la base de datos.

  • Cortar
    Copia el archivo o los archivos seleccionados en el Portapapeles y los elimina del proyecto de base de datos.

  • Ver objeto en Vista de esquema
    Abre la Vista de esquema si todavía no está visible y resalta el objeto de base de datos cuya definición se incluía en el archivo seleccionado en el que hizo clic. Esta opción sólo está disponible para archivos .sql que contienen definiciones de objeto válidas.

  • Copiar
    Copia el archivo o los archivos seleccionados en el Portapapeles.

  • Cambiar nombre
    Cambia el nombre del archivo. Se trata de un proceso simple de cambio de nombre de archivo; no se realiza una refactorización de cambio de nombre en el contenido del archivo.

  • Eliminar
    Elimina el archivo o los archivos seleccionados del proyecto de base de datos y los quita del disco. Después, se le pedirá que confirme la eliminación, porque es permanente.

  • Propiedades
    Abre la ventana de propiedades para el archivo o los archivos en los que hizo clic.

Scripts

De forma predeterminada, esta subcarpeta contiene los scripts de administración, los scripts anteriores a la implementación y los scripts posteriores a la implementación de su base de datos. La propiedad Acción de generación se establece en No está en la generación para los scripts de administración y en PreDeploy o PostDeploy para los scripts de implementación. En un proyecto de base de datos sólo puede haber un script anterior a la implementación y un script posterior a la implementación. A menudo, los scripts anteriores y posteriores a la implementación incluyen scripts adicionales. Los scripts adicionales también podrían formar parte del proyecto de base de datos, y tendrán la propiedad Acción de generación establecida en No está en la generación.

Puede realizar las acciones siguientes en la subcarpeta Scripts:

  • Agregar nuevo elemento
    Puede crear un elemento de proyecto, como un script de administración, y agregarlo al proyecto.

  • Agregar elemento existente
    Puede agregar un elemento que ya exista al proyecto de base de datos. Se hace una copia de ese elemento en la carpeta del proyecto o en una subcarpeta de dicha carpeta.

  • Copiar
    Puede copiar todos los scripts del proyecto en el Portapapeles.

Vista de esquema

La Vista de esquema muestra el proyecto de base de datos centrándose en los objetos de base de datos que contiene. Ni los planes de generación de datos ni los scripts tienen entradas en la Vista de esquema, ya que ninguno de estos dos tipos de elemento contiene definiciones de objetos de base de datos.

Puede realizar las acciones siguientes en el nodo de proyecto en la Vista de esquema:

  • Importar esquema de base de datos
    Puede importar la información de esquema de una base de datos que especifique.

  • Importar script
    Puede importar la información de esquema para uno o más objetos desde un script que contenga definiciones de objeto.

  • Comparar esquema
    Puede comparar la información de esquema del proyecto de base de datos con la de una base de datos implementada.

  • Agregar
    Puede agregar objetos de base de datos al proyecto de base de datos, incluidos tablas, vistas, procedimientos almacenados, funciones inline, funciones de tabla, funciones escalares, tipos de datos definidos por el usuario, grupos de archivos, funciones de aplicación de base de datos, funciones de base de datos y usuarios de base de datos.

  • Propiedades
    Puede ver las propiedades de la base de datos.

Nota:

No puede agregar claves simétricas, claves asimétricas y certificados como objetos al proyecto de base de datos. Debe crearlos en el script anterior a la implementación. Si importa el esquema de una base de datos que contiene estos objetos, el script anterior a la implementación contendrá comentarios de marcador de posición con los nombres de las claves y certificados. Debe modificar el script anterior a la implementación para crear esos objetos.

  • Actualizar
    Puede actualizar los objetos de base de datos que se muestran en la Vista de esquema. Esta acción volverá a interpretar el contenido de los archivos que contienen las definiciones de objeto.

  • Explorador de soluciones
    Puede alternar el foco entre el Explorador de soluciones y la Vista de esquema.

  • Filtrar Vista de esquema
    Puede alternar la presentación de objetos por Tipo de objeto o por Esquema. Debe seleccionar un nodo de proyecto o un elemento de un proyecto de base de datos para alternar la forma de agrupación.

Objetos de esquema

La Vista de esquema contiene un nodo para cada proyecto de base de datos del Explorador de soluciones. Cada nodo del proyecto de base de datos contiene todas las definiciones de los objetos del proyecto de base de datos, agrupados por tipo de objeto o por esquema.

Puede realizar las acciones siguientes en los objetos de base de datos que aparecen en la Vista de esquema:

  • Importar script
    Puede importar la información de esquema para uno o más objetos desde un script que contenga definiciones de objeto.

  • Abrir
    Puede abrir la definición del objeto en el editor de T-SQL. Los cambios que realice en el archivo podrían actualizar la Vista de esquema. Por ejemplo, si agrega columnas a una definición de tabla, esas columnas aparecerán en la Vista de esquema.

  • Abrir con
    Puede abrir el archivo que contiene la definición del objeto en otro editor que especifique.

  • Agregar
    Puede agregar objetos de base de datos al proyecto de base de datos, incluidos tablas, vistas, procedimientos almacenados, funciones inline, funciones de tabla, funciones escalares, tipos de datos definidos por el usuario, grupos de archivos, funciones de aplicación de base de datos, funciones de base de datos y usuarios de base de datos. Además, puede agregar carpetas en el proyecto de base de datos para organizar los objetos.

  • Cambiar nombre (en el submenú Refactorizar)
    Puede cambiar el nombre del objeto de base de datos. Si el objeto se encuentra en el sistema de control de versiones, el archivo que contiene la definición del objeto se desprotegerá para realizar esta acción. Esta acción invoca la operación de refactorización y actualiza todas las referencias al objeto cuyo nombre ha cambiado en el proyecto de base de datos y cualquier proyecto de prueba unitaria de base de datos asociado.

  • Ver archivo en Explorador de soluciones
    Puede utilizar esta opción para encontrar en el Explorador de soluciones el archivo que contiene la definición del objeto de base de datos en el que hizo clic.

  • Propiedades
    Puede ver las propiedades del objeto. Casi todas las propiedades que están disponibles para los objetos en la Vista de esquema son de sólo lectura. Para cambiar las propiedades, debe editar la definición del objeto.

Modificar la estructura de proyecto predeterminada

La estructura que se describe en este tema es la estructura de proyecto predeterminada en el Explorador de soluciones, pero es posible reorganizar el contenido del proyecto. Puede crear carpetas adicionales, cambiar el nombre de las carpetas existentes y mover archivos dentro del proyecto mediante la técnica de arrastrar o una operación de cortar y pegar. Las definiciones de objeto de base de datos se identifican por la propiedad Acción de generación, que se encuentra establecida en Generar, no por su ubicación en el proyecto. Las secuencias de comandos de implementación también se identifican por la propiedad Acción de generación, que se puede encontrar establecida en PreDeploy o PostDeploy. La propiedad Acción de generación para los demás archivos del proyecto se establece en No está en la generación.

La presentación de la Vista de esquema sólo se puede alternar para mostrar el contenido de un proyecto por Tipo de objeto o por Esquema.

Vea también

Conceptos

Información general acerca del trabajo con objetos de base de datos

Introducción a la terminología de Database Edition

Otros recursos

Información general acerca de la creación e implementación de bases de datos en entornos de equipo

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)