• creare-database-sql-server

    Creare un database con SQL Server 2017

    In questo articolo mostreremo come creare un database con le relative tabelle in SQL Server.

    Creazione di un nuovo database in SQL Server 2017

    Dopo aver installato SQL Server Developer Edition 2017 (vedi l’articolo Installare SQL Server 2017 Developer Edition su questo blog), possiamo creare un database e delle tabelle. La creazione di un database con SQL Server Management Studio (SSMS) è piuttosto semplice. Apri SSMS e dall’Object Explorer sulla sinistra, clicca con il tasto destro su Database e poi su Nuovo database…

    sql-server-nuovo-database

    Viene aperta la finestra per l’inserimento delle informazioni per la creazione del nuovo database.  Come puoi vedere sul menu di sinistra (sotto la voce Seleziona una pagina), ci sono informazioni generali, opzioni e filegroup. Ci interessa il primo: Generali.

    sql-server-aggiungi-nuovo-database

    Digita il nome del database, ad esempio HR (voglio creare un database sulla gestione delle Risorse Umane, Human Resources).

    • Vengono creati due file di database: HR per memorizzare i dati (le righe delle tabelle) e HR_log che è un file di log per tenere traccia delle transazioni e dei messaggi generati durante le attività sui dati.
    • La colonna Tipo file mostra cosa stiamo memorizzando in ogni file: dati RIGHR (ROWS data) per il primo e LOG per il secondo.
    • La colonna Filegroup indica che archiviamo tutti i dati in un singolo file di dati chiamato gruppo di file primario (per database di dimensioni elevate, può essere necessario suddividere i dati su più computer, in posizioni fisiche completamente diverse). Se si desidera creare file di dati aggiuntivi, basta cliccare sul pulsante Aggiungi.
    • La dimensione iniziale per un database è la quantità di spazio su disco riservato ai dati. Di default è impostato su 8 Mb per le righe dei dati e per i log, ma è possibile modificarlo con qualunque valore.
    • La colonna Aumento automatico/Dimensione max è un’opzione per definire come cresce il database cresce man mano che aggiungiamo dati. L’impostazione predefinita prevede di riservare ulteriori 64 megabyte di spazio ogni volta che raggiungiamo il limite di dimensioni e di consentire al database di crescere a una dimensione di file illimitata, se necessario. Se vuoi modificare questi parametri, fai clic sul pulsante con i puntini di sospensione a destra. Le opzioni consentono di aumentare le dimensioni del database di una percentuale o di un numero specifico di megabyte ogni volta. Possiamo anche limitare la dimensione massima del database solo per garantire che si perda il controllo. Ad esempio posso impostare un aumento di dimensioni di 8 Mb e limitare l’occupazione di spazio totale 100 Mb, sia per le tabelle, che per i log.
    • La colonna Percorso indica il percorso in cui si trovano i file (C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA). Se si desidera modificare questo percorso, è sufficiente cliccare sul pulsante con i puntini di sospensione a destra e digitare il nuovo percorso del file in cui si desidera archiviarli.
    • La colonna nome file può essere lasciata vuota per adottare semplicemente il nome del database come nome file sia per i dati che per i file di log.

    Clicca sul pulsante OK nella parte inferiore dello schermo. Verranno creati i due file sul disco e verrà aggiunto il nuovo database nell’istanza del server.

    sql-server-database-creato

     

     

    Creazione di una tabella con SSMS in SQL Server 2017

    Con SQL Server Management Studio è possibile creare una tabella in modo grafico oppure con uno script. Vediamo la prima modalità.

    Per creare una nuova tabella nel database HR appena creato, apri SSMS ed espandi il nodo Database in Esplora oggetti. Espandi il database HR e clicca con il pulsante destro del mouse su Tabelle, selezionando Nuovo e poi Tabella …

    sql-server-crea-tabella

    Verrà aperta una finestra in cui è possibile definire le colonne che costituiranno la struttura della tabella. Devi assegnare ad ogni colonna un nome, definire il tipo di dati della colonna, e indicare se può avere valori Null o meno. Ad esempio creiamo una tabella chiamata REGIONS, che memorizza le informazioni sulle regioni dei vari dipartimenti nel database fittizio sulle risorse umane (HR). La tabella avrà due colonne, una che viene utilizzata per identificare in modo univoco ogni record (RegionID, di tipo int, che sarà la chiave primaria), e una (RegionName, di tipo varchar(25)) per memorizzare il nome della regione.

    sql-server-definizione-colonne-tabella

    Crea la prima colonna (RegionID) consentendo valori Null, selezionando la colonna stessa e aggiungendo l’informazione che si tratta di una chiave primaria cliccando sul simbolo della chiave in alto a destra. Viene aggiunta un’iconcina a forma di chiave sulla colonna RegionID.

    Se desideri assegnare automaticamente dei RegionID alle nuove regioni, vai alla sezione Proprietà colonna nella parte inferiore dello schermo, cerca la proprietà Identity Specification ed espandila. Modifica la proprietà Identity da No a Sì. Puoi modificare anche altre due proprietà. “Incremento Identity” indica di quale valore viene incrementata ogni nuova regione rispetto alla precedente, “Valore di inizializzazione Identity” è il numero che avrà la prima regione inserita.

    sql-server-colonna-specifica-identity

    In realtà per questa tabella non mi interessa gestire l’incremento dell’identificativo in maniera automatica e imposto Identity a No.

    Per salvare la struttura della tabella, clicca sull’icona del dischetto nella barra degli strumenti (quella cerchiata in rosso in figura) e digita il nome della tabella.

    sql-server-salva-tabella

    Poi chiudi la scheda della tabella. Se espandi le tabella da Esplora oggetti, vedrai la nuova tabella dbo.Regions (se non la vedi clicca sul pulsante Aggiorna).

    sql-server-nuova-tabella

    Il prefisso dbo (Database Owner) indica che la tabella appartiene allo schema dbo, il proprietario del database.

     

    Popolamento di una tabella con SSMS in SQL Server 2017

    Per aggiungere dati a questa tabella in modo grafico, clicca sulla tabella dbo.Regions con il tasto destro del mouse e seleziona Modifica le prime 200 righe.

    sql-server-inserisci-righe

    Nella finestra che viene mostrata inserisci a mano i valori.

    sql-server-inserimento-righe

    Quando premi Invio, il cursore scende al record successivo (quello sotto) e i dati sono stati salvati nel database.

     

    Creazione di una tabella con Transact-SQL

    Adesso vediamo un’altro modo per creare una tabella: utilizzando il Transact-SQL mediante codice. Seleziona il database HR da Esplora oggetti e clicca sul pulsante Nuova query dalla barra degli strumenti.

    sql-server-nuova-query

    Nella workarea principale inserisci lo script di creazione della tabella.

    Infine clicca sul pulsante Esegui con il triangolino verde.

    Per aggiungere la relazione tra le due tabelle è possibile procedere con l’istruzione Transact-SQL seguente (sempre con Nuova query e poi Esegui):

     

    Popolamento di una tabella con Transact-SQL

    Per popolare una tabella utilizzando il Transact-SQL mediante codice, seleziona il database HR da Esplora oggetti e clicca sul pulsante Nuova query dalla barra degli strumenti e copia lo script sulla workarea.

    sql-server-inserimento-righe-con-script

    Di seguito lo script completo.

    Per verificare il corretto inserimento dei record, basta lanciare la query seguente:

    Oppure da Esplora oggetti sulla tabella dbo.Countries, con il tasto destro del mouse Seleziona le prime 1000 righe.

    Per verificare che la join funzioni correttamente lancia la seguente query:

    Di seguito un estratto dei risultati:

    sql-server-join

     

    Giulio Cantali – IT Consultant

    Creatore di Database Master, il primo percorso per diventare esperti di database

Lascia un commento

Se vuoi condividere la tua opinione, lascia un commento

Puoi usare questi tag e attributi: HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">