Creare un database
di Microsoft
Questo è il passaggio 2 di un'esercitazione gratuita sull'applicazione "NerdDinner" che illustra come creare un'applicazione Web di piccole dimensioni, ma completa, usando ASP.NET MVC 1.
Il passaggio 2 illustra i passaggi per creare il database contenente tutti i dati di cena e RSVP per l'applicazione NerdDinner.
Se si usa ASP.NET MVC 3, è consigliabile seguire le esercitazioni Introduzione Con MVC 3 o MVC Music Store.
NerdDinner Passaggio 2: Creazione del database
Verrà usato un database per archiviare tutti i dati Dinner e RSVP per l'applicazione NerdDinner.
La procedura seguente illustra la creazione del database usando l'edizione gratuita SQL Server Express (che è possibile installare facilmente tramite V2 del Installazione guidata piattaforma Web Microsoft). Tutto il codice che verrà scritto funziona sia con SQL Server Express che con il SQL Server completo.
Creazione di un nuovo database SQL Server Express
Si inizierà facendo clic con il pulsante destro del mouse sul progetto Web e quindi scegliendo il comando di menu Aggiungi nuovo> elemento :
Verrà visualizzata la finestra di dialogo "Aggiungi nuovo elemento" di Visual Studio. Verrà applicato un filtro in base alla categoria "Dati" e si selezionerà il modello di elemento "SQL Server Database":
Il database SQL Server Express verrà denominato "NerdDinner.mdf" e si raggiungerà ok. Visual Studio chiederà quindi se si vuole aggiungere questo file alla directory \App_Data (che è già una directory già configurata con ACL di sicurezza di lettura e scrittura):
Fare clic su "Sì" e il nuovo database verrà creato e aggiunto al Esplora soluzioni:
Creazione di tabelle all'interno del database
È ora disponibile un nuovo database vuoto. Verranno ora aggiunte alcune tabelle.
A tale scopo, si passerà alla finestra della scheda "Esplora server" in Visual Studio, che consente di gestire database e server. SQL Server Express database archiviati nella cartella \App_Data dell'applicazione verranno visualizzati automaticamente all'interno di Esplora server. Facoltativamente, è possibile usare l'icona "Connetti al database" nella parte superiore della finestra "Esplora server" per aggiungere altri SQL Server database (sia locali che remoti) all'elenco:
Verranno aggiunte due tabelle al database NerdDinner, una per archiviare le cene e l'altra per tenere traccia delle accettazione RSVP. È possibile creare nuove tabelle facendo clic con il pulsante destro del mouse sulla cartella "Tabelle" all'interno del database e scegliendo il comando di menu "Aggiungi nuova tabella":
Verrà aperta una finestra di progettazione tabelle che consente di configurare lo schema della tabella. Per la tabella "Dinners" aggiungeremo 10 colonne di dati:
Si vuole che la colonna "DinnerID" sia una chiave primaria univoca per la tabella. È possibile configurare questa impostazione facendo clic con il pulsante destro del mouse sulla colonna "DinnerID" e scegliendo la voce di menu "Imposta chiave primaria":
Oltre a rendere DinnerID una chiave primaria, è necessario configurarla anche come colonna "identity" il cui valore viene incrementato automaticamente man mano che vengono aggiunte nuove righe di dati alla tabella (ovvero la prima riga di Dinner inserita avrà un Valore DinnerID pari a 1, la seconda riga inserita avrà un Valore DinnerID pari a 2 e così via).
A tale scopo, selezionare la colonna "DinnerID" e quindi usare l'editor "Proprietà colonna" per impostare la proprietà "(Is Identity)" sulla colonna su "Sì". Verranno usate le impostazioni predefinite dell'identità standard (a partire da 1 e incrementare 1 in ogni nuova riga dinner):
Si salverà quindi la tabella digitando CTRL-S o usando il comando di menu Salva file>. Verrà richiesto di denominare la tabella. Lo chiameremo "Dinners":
La nuova tabella Dinners verrà quindi visualizzata all'interno del database in Esplora server.
Ripeteremo quindi i passaggi precedenti e creeremo una tabella "RSVP". Questa tabella con 3 colonne. Verrà configurata la colonna RsvpID come chiave primaria e verrà impostata anche una colonna Identity:
Lo salvaremo e assegnargli il nome "RSVP".
Configurazione di una relazione di chiave esterna tra tabelle
Sono ora disponibili due tabelle all'interno del database. L'ultimo passaggio di progettazione dello schema consiste nel configurare una relazione "uno-a-molti" tra queste due tabelle, in modo da poter associare ogni riga Dinner a zero o più righe RSVP applicabili. Questa operazione verrà eseguita configurando la colonna "DinnerID" della tabella RSVP in modo da avere una relazione di chiave esterna con la colonna "DinnerID" nella tabella "Dinners".
A tale scopo, si aprirà la tabella RSVP all'interno di Progettazione tabelle facendo doppio clic su di essa in Esplora server. Selezionare quindi la colonna "DinnerID" all'interno, fare clic con il pulsante destro del mouse e scegliere "Relazioni..." comando di menu di scelta rapida:
Verrà visualizzata una finestra di dialogo che è possibile usare per configurare le relazioni tra le tabelle:
Fare clic sul pulsante "Aggiungi" per aggiungere una nuova relazione alla finestra di dialogo. Dopo aver aggiunto una relazione, espanderemo il nodo di visualizzazione albero "Tabelle e specifica colonna" nella griglia delle proprietà a destra della finestra di dialogo e quindi fare clic su "..." pulsante a destra di esso:
Fare clic su "..." verrà visualizzata un'altra finestra di dialogo che consente di specificare quali tabelle e colonne sono coinvolte nella relazione, nonché consentire di denominare la relazione.
La tabella chiave primaria verrà modificata in "Dinners" e verrà selezionata la colonna "DinnerID" nella tabella Dinners come chiave primaria. La tabella RSVP sarà la tabella chiave esterna e rsvp. La colonna DinnerID verrà associata come chiave esterna:
Ora ogni riga nella tabella RSVP verrà associata a una riga nella tabella Dinner. SQL Server manterrà l'integrità referenziale per noi e impedisce di aggiungere una nuova riga RSVP se non punta a una riga dinner valida. Impedisce inoltre di eliminare una riga Dinner se vi sono ancora righe RSVP che vi fanno riferimento.
Aggiunta di dati alle tabelle
A questo punto, aggiungere alcuni dati di esempio alla tabella Dinners. È possibile aggiungere dati a una tabella facendo clic con il pulsante destro del mouse su di esso all'interno di Esplora server e scegliendo il comando "Mostra dati tabella":
Verranno aggiunte alcune righe di dati Dinner che è possibile usare in un secondo momento quando si inizia a implementare l'applicazione:
passaggio successivo
La creazione del database è stata completata. È ora possibile creare classi di modelli che è possibile usare per eseguire query e aggiornarla.