Compartir a través de


Tutorial: Crear e implementar una nueva base de datos con control de versiones

Actualización: noviembre 2007

En este tutorial creará una base de datos simple con dos tablas y un procedimiento almacenado. Este proceso requiere crear un proyecto de base de datos, crear objetos de base de datos en el proyecto y, a continuación, generar e implementar los cambios en un servidor de base de datos. Si crea un proyecto de base de datos, puede agregar el esquema de la base de datos al sistema de control de versiones.

Los principales pasos de este tutorial son los siguientes:

  • Cree un proyecto de base de datos.

  • Crear las tablas de la base de datos.

  • Crear los índices, las claves y las restricciones para las tablas.

  • Crear un procedimiento almacenado.

  • Configurar las propiedades del proyecto de base de datos.

  • Generar el proyecto de base de datos.

  • Implementar el proyecto de base de datos.

  • Agregar el proyecto de base de datos al sistema de control de versiones.

Requisitos previos

Para realizar este tutorial, debe iniciar una sesión con una cuenta que tenga los permisos necesarios para crear una base de datos en un servidor de base de datos que ejecute Microsoft SQL Server 2000.

Para crear el proyecto de base de datos

  1. En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.

    Aparecerá el cuadro de diálogo Nuevo proyecto.

  2. En Tipos de proyecto, expanda Proyectos de base de datosy haga clic en Microsoft SQL Server.

  3. En Plantillas, haga clic en SQL Server 2000.

  4. En Nombre, escriba ProductsDB.

  5. Active la casilla Crear directorio para la solución.

  6. Acepte los valores predeterminados para Ubicación, Nombre de la solución y Agregar al control de código fuente y, a continuación, haga clic en Aceptar.

    Nota:

    En este punto del procedimiento puede agregar la solución al control de versiones. En este tutorial va a agregar la solución al sistema de control de versiones en el procedimiento final.

    El nuevo proyecto de base de datos, ProductsDB, aparece en el Explorador de soluciones.

  7. En el menú Ver, elija Otras ventanas y, a continuación, haga clic en Vista de esquema.

    Si no estaba visible, aparece la Vista de esquema.

    A continuación, agregue las tablas al proyecto de base de datos.

Para agregar la tabla Categories al proyecto de base de datos

  1. En la Vista de esquema, haga clic en el nodo Tablas de ProductsDB.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en el proyecto ProductsDB en la Vista de esquema, elegir Agregary hacer clic en Tabla.

  3. En Plantillas, haga clic en Tabla.

  4. En Nombre, escriba Categories como nombre de la nueva tabla.

  5. Haga clic en Agregar para agregar la tabla al proyecto de base de datos.

    El Explorador de soluciones muestra el nuevo archivo para la tabla en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de tabla. Aparece el editor de Transact-SQL (T-SQL), que muestra la definición de la nueva tabla.

  6. En el editor de T-SQL, modifique la definición de tabla de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create Categories table
    -- =============================================
    CREATE TABLE [dbo].[Categories]
    (
    [CategoryID] [int] NOT NULL IDENTITY(1, 1),
    [CategoryName] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [Description] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Picture] [image] NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    
  7. En el menú Archivo, haga clic en Guardar dbo.Categories.table.sql.

  8. Expanda el nodo dbo.Categories en la Vista de esquema.

  9. Expanda el nodo Columnas en la tabla dbo.Categories.

    Aparecen las cuatro columnas que definió en el editor de T-SQL.

    A continuación, agregue un índice a la tabla Categories.

Para agregar un índice a la tabla Categories

  1. En la Vista de esquema, haga clic en dbo.Categories.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en la tabla dbo.Categories en la Vista de esquema, elegir Agregar y hacer clic en Índice.

  3. En Plantillas, haga clic en Índice.

  4. En Nombre, escriba CategoriesCategoryID como nombre del nuevo índice.

  5. Haga clic en Agregar para agregar el índice a la tabla Categories.

    El Explorador de soluciones muestra el nuevo archivo para el índice en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de índice. Aparece el editor de T-SQL, que muestra la definición del nuevo índice.

    Nota:

    En la Vista de esquema, el icono del índice se muestra con un círculo de color rojo que contiene una "x" de color blanco, que indica que la definición predeterminada contiene un error. Esto es normal, ya que la definición predeterminada hace referencia a la columna "column_1", que no existe.

  6. En el editor de T-SQL, modifique la definición del índice de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create CategoriesCategoryID index 
    -- =============================================
    CREATE NONCLUSTERED INDEX [CategoriesCategoryID] 
    ON [dbo].[Categories] ([CategoryID]) 
    ON [PRIMARY]
    
  7. En el menú Archivo, haga clic en Guardar CategoriesCategoryID.index.sql.

    El indicador de error desaparece del icono, lo que indica que ahora la definición del índice es válida.

    A continuación, agregue una clave principal a la tabla Categories.

Para agregar una clave principal a la tabla Categories

  1. En la Vista de esquema, haga clic en dbo.Categories.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en la tabla dbo.Categories en la Vista de esquema, elegir Agregar y hacer clic en Clave principal.

  3. En Plantillas, haga clic en Clave principal.

  4. En Nombre, escriba PK_Categories como nombre de la nueva clave principal.

  5. Haga clic en Agregar para agregar la clave principal a la tabla Categories.

    El Explorador de soluciones muestra el nuevo archivo para la clave principal en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de clave principal. Aparece el editor de T-SQL, que muestra la definición de la nueva clave.

    Nota:

    En la Vista de esquema, el icono de la clave principal se muestra con un círculo de color rojo que contiene una "x" de color blanco, que indica que la definición predeterminada contiene un error. Esto es normal, ya que la definición predeterminada hace referencia a la columna "column_1", que no existe.

  6. En el editor de T-SQL, modifique la definición de la clave principal de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create PK_Categories primary key 
    -- =============================================
    ALTER TABLE [dbo].[Categories] 
    ADD CONSTRAINT [PK_Categories] 
    PRIMARY KEY CLUSTERED  ([CategoryID]) 
    ON [PRIMARY]
    
  7. En el menú Archivo, haga clic en Guardar PK_Categories.pkey.sql.

    El indicador de error desaparece del icono, lo que indica que ahora la definición de la clave principal es válida.

    A continuación, agregue la tabla Products.

Para agregar la tabla Products

  1. En la Vista de esquema, haga clic en ProductsDB.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en el proyecto ProductsDB en la Vista de esquema, elegir Agregary hacer clic en Tabla.

  3. En Plantillas, haga clic en Tabla.

  4. En Nombre, escriba Products como nombre de la nueva tabla.

  5. Haga clic en Agregar para agregar la tabla al proyecto de base de datos.

    El Explorador de soluciones muestra el nuevo archivo para la tabla en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de tabla. Aparece el editor de T-SQL, que muestra la definición de la nueva tabla.

  6. En el editor de T-SQL, modifique la definición de tabla de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create Products table
    -- =============================================
    CREATE TABLE [dbo].[Products]
    (
    [ProductID] [int] NOT NULL IDENTITY(1, 1),
    [ProductName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [CategoryID] [int] NULL,
    [QuantityPerUnit] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [UnitPrice] [money] NULL CONSTRAINT [DF_Products_UnitPrice] DEFAULT (0),
    [UnitsInStock] [smallint] NULL CONSTRAINT [DF_Products_UnitsInStock] DEFAULT (0),
    [UnitsOnOrder] [smallint] NULL CONSTRAINT [DF_Products_UnitsOnOrder] DEFAULT (0),
    [ReorderLevel] [smallint] NULL CONSTRAINT [DF_Products_ReorderLevel] DEFAULT (0),
    [Discontinued] [bit] NOT NULL CONSTRAINT [DF_Products_Discontinued] DEFAULT (0)
    ) ON [PRIMARY]
    
  7. En el menú Archivo, haga clic en Guardar dbo.Products.table.sql.

  8. Expanda el nodo dbo.Products en la Vista de esquema.

  9. Expanda el nodo Columnas en la tabla dbo.Products.

    Aparecen las nueve columnas que definió en el editor de T-SQL.

    A continuación, agregue un índice a la tabla Products.

Para agregar un índice a la tabla Products

  1. En la Vista de esquema, haga clic en dbo.Products.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en la tabla dbo.Products en la Vista de esquema, elegir Agregar y hacer clic en Índice.

  3. En Plantillas, haga clic en Índice.

  4. En Nombre, escriba ProductsCategoryID como nombre del nuevo índice.

  5. Haga clic en Agregar para agregar el índice a la tabla Products.

    El Explorador de soluciones muestra el archivo para el nuevo índice en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de índice. Aparece el editor de T-SQL, que muestra la definición del nuevo índice.

    Nota:

    En la Vista de esquema, el icono del índice se muestra con un círculo de color rojo que contiene una "x" de color blanco, que indica que la definición predeterminada contiene un error. Esto es normal, ya que la definición predeterminada hace referencia a la columna "column_1", que no existe.

  6. En el editor de T-SQL, modifique la definición del índice de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create ProductsCategoryID index
    -- =============================================
    CREATE NONCLUSTERED INDEX [ProductsCategoryID] 
    ON [dbo].[Products] ([CategoryID]) 
    ON [PRIMARY]
    
  7. En el menú Archivo, haga clic en Guardar ProductsCategoryID.index.sql.

    El indicador de error desaparece del icono, lo que indica que ahora la definición del índice es válida.

    A continuación, agregue una clave principal a la tabla Products.

Para agregar una clave principal a la tabla Products

  1. En la Vista de esquema, haga clic en dbo.Products.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en la tabla dbo.Products en la Vista de esquema, elegir Agregar y hacer clic en Clave principal.

  3. En Plantillas, haga clic en Clave principal.

  4. En Nombre, escriba PK_Products como nombre de la nueva clave principal.

  5. Haga clic en Agregar para agregar la clave principal a la tabla Products.

    El Explorador de soluciones muestra el archivo para la nueva clave principal en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de clave principal. Aparece el editor de T-SQL, que muestra la definición de la nueva clave principal.

    Nota:

    En la Vista de esquema, el icono de la clave principal se muestra con un círculo de color rojo que contiene una "x" de color blanco, que indica que la definición predeterminada contiene un error. Esto es normal, ya que la definición predeterminada hace referencia a la columna "column_1", que no existe.

  6. En el editor de T-SQL, modifique la definición de la clave principal de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create PK_Products primary key 
    -- =============================================
    ALTER TABLE [dbo].[Products] 
    ADD CONSTRAINT [PK_Products] 
    PRIMARY KEY CLUSTERED  ([ProductID]) 
    ON [PRIMARY]
    
  7. En el menú Archivo, haga clic en Guardar PK_Products.pkey.sql.

    El indicador de error desaparece del icono, lo que indica que ahora la definición de la clave principal es válida.

    A continuación, agregue una clave externa a la tabla Products.

Para agregar una clave externa entre la tabla Products y la tabla Categories

  1. En la Vista de esquema, haga clic en dbo.Products.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en la tabla dbo.Products en la Vista de esquema, elegir Agregar y hacer clic en Clave externa.

  3. En Plantillas, haga clic en Clave externa.

  4. En Nombre, escriba FK_ProductsCategories como nombre de la nueva clave externa.

  5. Haga clic en Agregar para agregar la clave externa a la tabla Products.

    El Explorador de soluciones muestra el archivo para la nueva clave externa en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de clave externa. Aparece el editor de T-SQL, que muestra la definición de la nueva clave externa.

    Nota:

    En la Vista de esquema, el icono de la clave externa se muestra con un círculo de color rojo que contiene una "x" de color blanco, que indica que la definición predeterminada contiene un error. Esto es normal, ya que la definición predeterminada hace referencia a la columna "column_1", que no existe.

  6. En el editor de T-SQL, modifique la definición de la clave externa de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create FK_Products_Categories foreign key
    -- =============================================
    ALTER TABLE [dbo].[Products] WITH NOCHECK
    ADD CONSTRAINT [FK_Products_Categories] FOREIGN KEY ([CategoryID])
    REFERENCES [dbo].[Categories] ([CategoryID])
    
  7. En el menú Archivo, haga clic en Guardar FK_ProductsCategories.fkey.sql.

    El indicador de error desaparece del icono, lo que indica que ahora la definición de la clave externa es válida.

    A continuación, agregue una restricción CHECK a la tabla Products.

Para agregar una restricción CHECK a la tabla Products

  1. En la Vista de esquema, haga clic en dbo.Products.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en la tabla dbo.Products en la Vista de esquema, elegir Agregar y hacer clic en Restricción CHECK.

  3. En Plantillas, haga clic en Restricción CHECK.

  4. En Nombre, escriba CK_ProductsUnitPrice como nombre de la nueva restricción CHECK.

  5. Haga clic en Agregar para agregar la restricción a la tabla Products.

    El Explorador de soluciones muestra el archivo para la nueva restricción en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de restricción. Aparece el editor de T-SQL, que muestra la definición de la nueva restricción.

    Nota:

    En la Vista de esquema, el icono de la restricción se muestra con un círculo de color rojo que contiene una "x" de color blanco, que indica que la definición predeterminada contiene un error. Esto es normal, ya que la definición predeterminada hace referencia a la columna "column_1", que no existe.

  6. En el editor de T-SQL, modifique la definición de la restricción de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create CK_ProductsUnitPrice check constraint
    -- =============================================
    ALTER TABLE [dbo].[Products] WITH NOCHECK 
    ADD CONSTRAINT [CK_Products_UnitPrice] 
    CHECK (([UnitPrice] >= 0))
    
  7. En el menú Archivo, haga clic en Guardar CK_ProductsUnitPrice.chkconst.sql.

    El indicador de error desaparece del icono, lo que indica que ahora la definición de la restricción es válida.

    A continuación, agregue un procedimiento almacenado al proyecto.

Para crear un procedimiento almacenado

  1. En la Vista de esquema, haga clic en ProductsDB.

  2. En el menú Proyecto, haga clic en Agregar nuevo elemento.

    Aparecerá el cuadro de diálogo Agregar nuevo elemento.

    Nota:

    También puede hacer clic con el botón secundario en el proyecto ProductsDB en la Vista de esquema, elegir Agregary hacer clic en Procedimiento almacenado.

  3. En Plantillas, haga clic en Procedimiento.

  4. En Nombre, escriba Ten Most Expensive Products como nombre del nuevo procedimiento almacenado.

  5. Haga clic en Agregar para agregar el procedimiento almacenado al proyecto de base de datos.

    El Explorador de soluciones muestra el archivo para el nuevo procedimiento almacenado en el proyecto de base de datos. La Vista de esquema muestra el nuevo objeto de procedimiento almacenado. Aparece el editor de T-SQL, que muestra la definición del nuevo procedimiento almacenado.

  6. En el editor de T-SQL, modifique la definición del procedimiento almacenado de forma que coincida con el ejemplo siguiente:

    -- =============================================
    -- Create Ten Most Expensive Products
    --   stored procedure
    -- =============================================
    CREATE PROCEDURE [dbo].[Ten Most Expensive Products]
    AS
    SET ROWCOUNT 10
    SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice
    FROM Products
    ORDER BY Products.UnitPrice DESC
    RETURN 0
    
  7. En el menú Archivo, haga clic en Guardar dbo.Ten Most Expensive Products.proc.sql.

  8. Expanda el nodo Procedimientos almacenados en la Vista de esquema.

    Aparece el procedimiento que definió en el editor de T-SQL.

    A continuación, configure el proyecto antes de generarlo e implementarlo.

Para configurar la generación de proyecto

  1. En el Explorador de soluciones, haga clic en ProductsDB (el proyecto, no la solución).

  2. En el menú Proyecto, haga clic en Propiedades de ProductsDB.

    Aparecerá la ventana de propiedades del proyecto.

    Nota:

    También puede hacer clic con el botón secundario del mouse en ProductsDB en el Explorador de soluciones y, a continuación, hacer clic en Propiedades.

  3. Haga clic en la ficha Generar.

  4. Haga clic en el botón Editar para especificar la conexión de destino.

  5. Especifique la información para conectarse al servidor de base de datos en el que desea implementar la base de datos ProductsDB.

  6. En Seleccionar o escribir nombre de base de datos, escriba ProductsDB.

  7. Haga clic en Aceptar.

    En Conexión de destino se mostrará la cadena de conexión. Observe que el Nombre de la base de datos de destino es ProductsDB.

  8. Acepte los valores predeterminados para las demás opciones.

  9. En el menú Archivo, haga clic en Guardar los elementos seleccionados.

    Se guarda la configuración de generación del proyecto.

    A continuación, genere el proyecto de base de datos.

Para generar el proyecto de base de datos

  • En el menú Generar, haga clic en Generar solución.

    Se genera el proyecto de base de datos. Si la generación finaliza correctamente, aparece Generación satisfactoria en la barra de estado y se muestran los resultados de generación en la ventana Resultados.

    Por último, implemente el proyecto de base de datos.

Para implementar el proyecto de base de datos en el servidor de base de datos

  1. En el Explorador de soluciones, haga clic en ProductsDB (el proyecto, no la solución).

  2. En el menú Generar, elija Implementar nombreDeProyecto.

    El proyecto de base de datos se implementa a través de la conexión especificada en la configuración de generación. Se muestra el mensaje "Implementación correcta" en la ventana Resultados y en la barra de estado.

Para proteger el proyecto de base de datos en el sistema de control de versiones

  1. En el Explorador de soluciones, haga clic en ProductsDB (la solución).

  2. En el menú Archivo, elija Control de código fuente y haga clic en Agregar solución al control de código fuente.

    Siga las instrucciones del software de control de versiones para agregar la solución, el proyecto de base de datos y su contenido al sistema de control de versiones, y para proteger todos los archivos. El proyecto de base de datos representa la copia maestra del esquema de base de datos y está bajo control de versiones.

Pasos siguientes

Otros tutoriales le enseñarán a trabajar con bases de datos implementadas.

Vea también

Tareas

Tutorial: Agregar un esquema de base de datos al sistema de control de versiones

Tutorial: Modificar objetos de base de datos

Tutorial: Implementar cambios en una base de datos existente con control de versiones

Conceptos

Introducción a la terminología de Database Edition

Otros recursos

Generar e implementar esquemas de base de datos

Introducción a los proyectos de bases de datos