Condividi tramite


Procedura dettagliata: creazione e distribuzione di un nuovo database con controllo delle versioni

Aggiornamento: novembre 2007

In questa procedura dettagliata viene creato un database semplice che contiene due tabelle e una stored procedure. Per completare il processo, è necessario creare un progetto di database, quindi creare oggetti di database in tale progetto e infine generare e distribuire le modifiche in un server di database. La creazione di un progetto di database consente di inserire schema di database nel controllo delle versioni inserendo il progetto di database nel controllo delle versioni.

I passaggi principali di questa procedura dettagliata sono i seguenti:

  • Creare un progetto di database.

  • Creare le tabelle di database.

  • Creare gli indici, le chiavi e i vincoli relativi a tali tabelle.

  • Creare una stored procedure.

  • Configurare le proprietà del progetto di database.

  • Generare il progetto di database.

  • Distribuire il progetto di database.

  • Inserire il progetto di database nel controllo delle versioni.

Prerequisiti

Per eseguire questa procedura dettagliata, è necessario effettuare l'accesso con un account che dispone delle autorizzazioni per creare un database in un server di database che esegue Microsoft SQL Server 2000.

Per creare il progetto di database

  1. Scegliere Nuovo dal menu File, quindi scegliere Progetto.

    Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. In Tipi progetto espandere Progetti di database, quindi fare clic su Microsoft SQL Server.

  3. In Modelli fare clic su SQL Server 2000.

  4. In Nome digitare ProductsDB.

  5. Selezionare la casella di controllo Crea directory per soluzione.

  6. Accettare i valori predefiniti per Percorso, Nome soluzione e Aggiungi al controllo del codice sorgente, quindi scegliere OK.

    Nota:

    A questo punto, sarebbe possibile aggiungere la soluzione al controllo delle versioni. In questa procedura dettagliata la soluzione verrà aggiunta al controllo delle versioni nel passaggio finale.

    Il nuovo progetto di database ProductsDB verrà visualizzato in Esplora soluzioni.

  7. Scegliere Altre finestre dal menu Visualizza, quindi Visualizzazione schema.

    Verrà visualizzata la Visualizzazione schema se non è già visibile.

    A questo punto, verranno aggiunte le tabelle al progetto di database.

Per aggiungere la tabella Categories al progetto di database

  1. In Visualizzazione schema fare clic sul nodo Tabelle sotto ProductsDB.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sul progetto ProductsDB in Visualizzazione schema, scegliere Aggiungi, quindi Tabella.

  3. In Modelli fare clic su Tabella.

  4. In Nome digitare Categories come nome da assegnare alla nuova tabella.

  5. Fare clic su Aggiungi per aggiungere la tabella al progetto di database.

    In Esplora soluzioni verrà visualizzato il nuovo file relativo alla tabella del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto tabella. Verrà aperto l'editor T-SQL (Transact-SQL) in cui verrà visualizzata la definizione della nuova tabella.

  6. Nell'editor T-SQL modificare la definizione della tabella in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- 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. Scegliere Salva dbo.Categories.table.sql dal menu File.

  8. Espandere il nodo dbo.Categories in Visualizzazione schema.

  9. Espandere il nodo Colonne nella tabella dbo.Categories.

    Verranno visualizzate le quattro colonne definite nell'editor T-SQL.

    A questo punto, verrà aggiunto un indice alla tabella Categories.

Per aggiungere un indice alla tabella Categories

  1. In Visualizzazione schema fare clic su dbo.Categories.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sulla tabella dbo.Categories in Visualizzazione schema, scegliere Aggiungi, quindi Indice.

  3. In Modelli fare clic su Indice.

  4. In Nome digitare CategoriesCategoryID come nome da assegnare al nuovo indice.

  5. Fare clic su Aggiungi per aggiungere l'indice alla tabella Categories.

    In Esplora soluzioni verrà visualizzato il nuovo file relativo all'indice del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto indice. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione del nuovo indice.

    Nota:

    In Visualizzazione schema l'icona relativa all'indice è contraddistinta dal cerchio rosso contenente una "x" bianca, a indicare che la definizione predefinita contiene un errore. Questo comportamento è previsto perché la definizione predefinita fa riferimento alla colonna "colonna_1", che tuttavia non esiste.

  6. Nell'editor T-SQL modificare la definizione dell'indice in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- Create CategoriesCategoryID index 
    -- =============================================
    CREATE NONCLUSTERED INDEX [CategoriesCategoryID] 
    ON [dbo].[Categories] ([CategoryID]) 
    ON [PRIMARY]
    
  7. Scegliere Salva CategoriesCategoryID.index.sql dal menu File.

    Il contrassegno di errore scomparirà dall'icona, a indicare che la definizione dell'indice è ora valida.

    A questo punto, verrà aggiunta una chiave primaria alla tabella Categories.

Per aggiungere una chiave primaria alla tabella Categories

  1. In Visualizzazione schema fare clic su dbo.Categories.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sulla tabella dbo.Categories in Visualizzazione schema, scegliere Aggiungi, quindi Chiave primaria.

  3. In Modelli fare clic su Chiave primaria.

  4. In Nome digitare PK_Categories come nome da assegnare alla nuova chiave primaria.

  5. Fare clic su Aggiungi per aggiungere la chiave primaria alla tabella Categories.

    In Esplora soluzioni verrà visualizzato il nuovo file relativo alla chiave primaria del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto chiave primaria. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione della nuova chiave.

    Nota:

    L'icona relativa alla chiave primaria è contraddistinta dal cerchio rosso contenente una "x" bianca, a indicare che la definizione predefinita contiene un errore. Questo comportamento è previsto perché la definizione predefinita fa riferimento alla colonna "colonna_1", che tuttavia non esiste.

  6. Nell'editor T-SQL modificare la definizione della chiave primaria in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- Create PK_Categories primary key 
    -- =============================================
    ALTER TABLE [dbo].[Categories] 
    ADD CONSTRAINT [PK_Categories] 
    PRIMARY KEY CLUSTERED  ([CategoryID]) 
    ON [PRIMARY]
    
  7. Scegliere Salva PK_Categories.pkey.sql dal menu File.

    Il contrassegno di errore scomparirà dall'icona, a indicare che la definizione della chiave primaria è ora valida.

    A questo punto, verrà aggiunta la tabella Products.

Per aggiungere la tabella Products

  1. In Visualizzazione schema fare clic su ProductsDB.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sul progetto ProductsDB in Visualizzazione schema, scegliere Aggiungi, quindi Tabella.

  3. In Modelli fare clic su Tabella.

  4. In Nome digitare Products come nome da assegnare alla nuova tabella.

  5. Fare clic su Aggiungi per aggiungere la tabella al progetto di database.

    In Esplora soluzioni verrà visualizzato il nuovo file relativo alla tabella del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto tabella. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione della nuova tabella.

  6. Nell'editor T-SQL modificare la definizione della tabella in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- 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. Scegliere Salva dbo.Products.table.sql dal menu File.

  8. Espandere il nodo dbo.Products in Visualizzazione schema.

  9. Espandere il nodo Colonne nella tabella dbo.Products.

    Verranno visualizzate le nove colonne definite nell'editor T-SQL.

    A questo punto, verrà aggiunto un indice alla tabella Products.

Per aggiungere un indice alla tabella Products

  1. In Visualizzazione schema fare clic su dbo.Products.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sulla tabella dbo.Products in Visualizzazione schema, scegliere Aggiungi, quindi Indice.

  3. In Modelli fare clic su Indice.

  4. In Nome digitare ProductsCategoryID come nome da assegnare al nuovo indice.

  5. Fare clic su Aggiungi per aggiungere l'indice alla tabella Products.

    In Esplora soluzioni verrà visualizzato il file relativo al nuovo indice del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto indice. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione del nuovo indice.

    Nota:

    In Visualizzazione schema l'icona relativa all'indice è contraddistinta dal cerchio rosso contenente una "x" bianca, a indicare che la definizione predefinita contiene un errore. Questo comportamento è previsto perché la definizione predefinita fa riferimento alla colonna "colonna_1", che tuttavia non esiste.

  6. Nell'editor T-SQL modificare la definizione dell'indice in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- Create ProductsCategoryID index
    -- =============================================
    CREATE NONCLUSTERED INDEX [ProductsCategoryID] 
    ON [dbo].[Products] ([CategoryID]) 
    ON [PRIMARY]
    
  7. Scegliere Salva ProductsCategoryID.index.sql dal menu File.

    Il contrassegno di errore scomparirà dall'icona, a indicare che la definizione dell'indice è ora valida.

    A questo punto, verrà aggiunta una chiave primaria alla tabella Products.

Per aggiungere una chiave primaria alla tabella Products

  1. In Visualizzazione schema fare clic su dbo.Products.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sulla tabella dbo.Products in Visualizzazione schema, scegliere Aggiungi, quindi Chiave primaria.

  3. In Modelli fare clic su Chiave primaria.

  4. In Nome digitare PK_Products come nome da assegnare alla nuova chiave primaria.

  5. Fare clic su Aggiungi per aggiungere la chiave primaria alla tabella Products.

    In Esplora soluzioni verrà visualizzato il file relativo alla nuova chiave primaria del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto chiave primaria. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione della nuova chiave primaria.

    Nota:

    L'icona relativa alla chiave primaria è contraddistinta dal cerchio rosso contenente una "x" bianca, a indicare che la definizione predefinita contiene un errore. Questo comportamento è previsto perché la definizione predefinita fa riferimento alla colonna "colonna_1", che tuttavia non esiste.

  6. Nell'editor T-SQL modificare la definizione della chiave primaria in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- Create PK_Products primary key 
    -- =============================================
    ALTER TABLE [dbo].[Products] 
    ADD CONSTRAINT [PK_Products] 
    PRIMARY KEY CLUSTERED  ([ProductID]) 
    ON [PRIMARY]
    
  7. Scegliere Salva PK_Products.pkey.sql dal menu File.

    Il contrassegno di errore scomparirà dall'icona, a indicare che la definizione della chiave primaria è ora valida.

    A questo punto, verrà aggiunta una chiave esterna alla tabella Products.

Per aggiungere una chiave esterna tra la tabella Products e la tabella Categories

  1. In Visualizzazione schema fare clic su dbo.Products.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sulla tabella dbo.Products in Visualizzazione schema, scegliere Aggiungi, quindi Chiave esterna.

  3. In Modelli fare clic su Chiave esterna.

  4. In Nome digitare FK_ProductsCategories come nome da assegnare alla nuova chiave esterna.

  5. Fare clic su Aggiungi per aggiungere la chiave esterna alla tabella Products.

    In Esplora soluzioni verrà visualizzato il file relativo alla nuova chiave esterna del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto chiave esterna. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione della nuova chiave esterna.

    Nota:

    L'icona relativa alla chiave esterna è contraddistinta dal cerchio rosso contenente una "x" bianca, a indicare che la definizione predefinita contiene un errore. Questo comportamento è previsto perché la definizione predefinita fa riferimento alla colonna "colonna_1", che tuttavia non esiste.

  6. Nell'editor T-SQL modificare la definizione della chiave esterna in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- 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. Scegliere Salva FK_ProductsCategories.fkey.sql dal menu File.

    Il contrassegno di errore scomparirà dall'icona, a indicare che la definizione della chiave esterna è ora valida.

    A questo punto, verrà aggiunto un vincolo CHECK alla tabella Products.

Per aggiungere un vincolo CHECK alla tabella Products

  1. In Visualizzazione schema fare clic su dbo.Products.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sulla tabella dbo.Products in Visualizzazione schema, scegliere Aggiungi, quindi Vincolo CHECK.

  3. In Modelli fare clic su Vincolo CHECK.

  4. In Nome digitare CK_ProductsUnitPrice come nome da assegnare al nuovo vincolo CHECK.

  5. Fare clic su Aggiungi per aggiungere il vincolo alla tabella Products.

    In Esplora soluzioni verrà visualizzato il file relativo al nuovo vincolo del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto vincolo. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione del nuovo vincolo.

    Nota:

    L'icona relativa al vincolo è contraddistinta dal cerchio rosso contenente una "x" bianca, a indicare che la definizione predefinita contiene un errore. Questo comportamento è previsto perché la definizione predefinita fa riferimento alla colonna "colonna_1", che tuttavia non esiste.

  6. Nell'editor T-SQL modificare la definizione del vincolo in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- Create CK_ProductsUnitPrice check constraint
    -- =============================================
    ALTER TABLE [dbo].[Products] WITH NOCHECK 
    ADD CONSTRAINT [CK_Products_UnitPrice] 
    CHECK (([UnitPrice] >= 0))
    
  7. Scegliere Salva CK_ProductsUnitPrice.chkconst.sql dal menu File.

    Il contrassegno di errore scomparirà dall'icona, a indicare che la definizione del vincolo è ora valida.

    A questo punto, verrà aggiunta una stored procedure al progetto.

Per creare una stored procedure

  1. In Visualizzazione schema fare clic su ProductsDB.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

    Nota:

    È inoltre possibile fare clic con il pulsante destro del mouse sul progetto ProductsDB in Visualizzazione schema, scegliere Aggiungi, quindi Stored procedure.

  3. In Modelli fare clic su Routine.

  4. In Nome digitare Ten Most Expensive Products come nome da assegnare alla nuova stored procedure.

  5. Fare clic su Aggiungi per aggiungere la stored procedure al progetto di database.

    In Esplora soluzioni verrà visualizzato il file relativo alla nuova stored procedure del progetto di database. In Visualizzazione schema verrà invece visualizzato il nuovo oggetto stored procedure. Verrà aperto l'editor T-SQL in cui verrà visualizzata la definizione della nuova stored procedure.

  6. Nell'editor T-SQL modificare la definizione della stored procedure in modo che corrisponda all'esempio seguente:

    -- =============================================
    -- 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. Scegliere Salva dbo.Ten Most Expensive Products.proc.sql dal menu File.

  8. Espandere il nodo Stored procedure in Visualizzazione schema.

    Verrà visualizzata la routine definita nell'editor T-SQL.

    A questo punto, verranno configurate le impostazioni del progetto prima di generare e distribuire il progetto.

Per configurare le impostazioni di generazione del progetto

  1. In Esplora soluzioni fare clic sul progetto ProductsDB e non sulla soluzione.

  2. Scegliere Proprietà ProductsDB dal menu Progetto.

    Verrà visualizzata la finestra delle proprietà del progetto.

    Nota:

    È anche possibile fare clic con il pulsante destro del mouse su ProductsDB in Esplora soluzioni e quindi scegliere Proprietà.

  3. Fare clic sulla scheda Generazione.

  4. Fare clic sul pulsante Modifica per specificare la connessione di destinazione.

  5. Specificare le informazioni per la connessione al server di database in cui si desidera distribuire il database ProductsDB.

  6. In Seleziona o immetti nome di database digitare ProductsDB.

  7. Scegliere OK.

    Nel campo Connessione di destinazione viene inserita la stringa di connessione. Si noti che il campo Nome database di destinazione è impostato su ProductsDB.

  8. Accettare i valori predefiniti per le altre opzioni.

  9. Scegliere Salva elementi selezionati dal menu File.

    Le impostazioni di generazione del progetto verranno salvate.

    A questo punto, verrà generato il progetto di database.

Per generare il progetto di database

  • Scegliere Genera soluzione dal menu Generazione.

    Il progetto di database verrà generato. Se l'operazione viene completata correttamente, sulla barra di stata viene visualizzato il messaggio Generazione completata e i risultati della generazione vengono visualizzati nella finestra Output.

    Verrà infine distribuito il progetto di database.

Per distribuire il progetto di database nel server di database

  1. In Esplora soluzioni fare clic sul progetto ProductsDB e non sulla soluzione.

  2. Scegliere Distribuisci NomeProgetto dal menu Compilazione.

    Il progetto di database verrà distribuito utilizzando la connessione specificata nella configurazione di generazione. Nella finestra Output e sulla barra di stato verrà visualizzato il messaggio "Distribuzione completata".

Per archiviare il progetto di database nel controllo delle versioni

  1. In Esplora soluzioni fare clic sulla soluzione ProductsDB.

  2. Scegliere Controllo del codice sorgente dal menu File e quindi Aggiungi soluzione a controllo del codice sorgente.

    Attenersi alle istruzioni del software per il controllo delle versioni per aggiungere la soluzione, il progetto di database e il relativo contenuto al controllo delle versioni e archiviare tutti i file. Il progetto di database rappresenta la copia master dello schema di database ed è inserito nel controllo delle versioni.

Passaggi successivi

Per ulteriori informazioni sull'utilizzo di database distribuiti, vedere le altre procedure dettagliate disponibili.

Vedere anche

Attività

Procedura dettagliata: includere uno schema di database esistente nel controllo delle versioni

Procedura dettagliata: modificare gli oggetti di database

Procedura dettagliata: distribuzione delle modifiche a un database esistente con controllo della versione

Concetti

Panoramica sulla terminologia di Database Edition

Altre risorse

Generazione e distribuzione di schemi di database

Guida introduttiva ai progetti di database