Cos'è il database?
Un database è una raccolta di oggetti come tabelle, viste, stored procedure, trigger, funzioni, ecc.
Considera un con alcuni esempi nella vita reale:
- Abbiamo Libreria dove risiede Libri,
- Abbiamo case dove viviamo,
- Abbiamo parcheggi dove sono parcheggiati i veicoli e gli esempi sono innumerevoli.
Allo stesso modo, abbiamo DATABASE che è una sorta di home per tutte le nostre tabelle, viste, stored procedure, ecc. Che sono interconnesse.
Tecnicamente, il database archivia i dati in modo ben organizzato per un facile accesso e recupero. In SQL Server esistono due tipi di database:
- Database di sistema: i database di sistema vengono creati automaticamente quando si installa SQL Server. Svolgono un ruolo cruciale nel server, soprattutto nel garantire che gli oggetti del database vengano eseguiti correttamente. Esempi di database di sistema di SQL Server includono: Master, MSDB, Model, Tempdb, Resource
- Database utente: i database utente vengono creati dagli utenti del database come te a cui è stato concesso l'accesso per creare database
In questo tutorial imparerai:
- Regole per creare un database
- Crea database utilizzando SQL Server Management Studio
- Crea database con T-SQL
- Modifica database con SQL Server Management Studio
- Modifica database con Transact-SQL
- Elimina database SQL Server Management Studio
- Elimina database utilizzando Transact-SQL
- Ripristina database
Regole per creare un database
Innanzitutto, dobbiamo conoscere le regole di base per la creazione di un nuovo DB:
- I nomi dei database devono essere univoci all'interno di un'istanza di SQL Server.
- I nomi dei database possono contenere un massimo di 128 caratteri.
- L'istruzione CREATE DATABASE deve essere eseguita in modalità di commit automatico.
Esistono 2 modi per creare database in SQL server.
- SQL Server Management Studio
- Transact-SQL
Crea database utilizzando SQL Server Management Studio
Passaggio 1) Fare clic con il pulsante destro del mouse su "Database" dalla finestra "Esplora oggetti", quindi selezionare "Nuovo database".
Passaggio 2) Verrà visualizzata la schermata "Nuovo database". Immettere "Nome database". Si noti che: la colonna "Nome logico" verrà compilata automaticamente con:
- Edu | Tipi di file: righe e filegroup: PRIMARIO
- Edu_log | Tipi di file: LOG e filegroup: "Non applicabile"
Qui:
A) Edu | Tipi di file: righe e filegroup: PRIMARY è un file .mdf
B) Edu_log | Tipi di file: LOG e filegroup: "Non applicabile" è un file .ldf
Passaggio 3) (Facoltativo) Per impostazioni più complesse, possiamo navigare su "Opzioni" e "Filegroup". A livello principiante, sarà sufficiente creare un database dalla scheda Generale.
Passaggio 4) Fare clic su "Aggiungi".
Risultato: database "Edu" creato.
Possiamo espandere Database - "Edu" che conterrà tabelle, viste, ecc. Inizialmente sono vuote finché l'utente non crea una nuova tabella, viste, ecc.
Visualizza la query di origine:
È possibile visualizzare la query di origine del database "Edu" appena creato come: Navigazione: fare clic con il pulsante destro del mouse su Nome database> Database script come> CREA in> Nuova finestra dell'editor di query.
Finestra delle query:
Crea script:
USE [master]GOCREATE DATABASE [Edu]CONTAINMENT = NONEON PRIMARY( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )LOG ON( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
Crea database con T-SQL
Un altro metodo consiste nello scrivere la query T-SQL per creare un database ed eseguirla.
Diamo un'occhiata alla maggior parte delle query T-SQL per la creazione di database semplici.
Sintassi:
CREATE DATABASE
Query:
CREATE DATABASE [Edu_TSQL_file]
Fare clic su "Esegui"
Risultato: possiamo vedere Edu_TSQL creato in SQL Object Explorer.
Diamo un'occhiata quando vogliamo creare un database con file .mdf e .ldf. Qui possiamo fornire la posizione come parte implicita della nostra query.
Sintassi:
CREATE DATABASE database_name[ CONTAINMENT = { NONE | PARTIAL } ][ ON[ PRIMARY ][ ,… n ][ , [ ,… n ] ][ LOG ON [ ,… n ] ]];
Query:
CREATE DATABASE [Edu_TSQL_file]CONTAINMENT = NONEON PRIMARY( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )LOG ON( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
Come modificare il database
Come Crea query database, possiamo anche modificare il database. Possiamo rinominare il nome del database, modificare la posizione e l'impostazione del file, ecc.
Regole di base per modificare un nuovo DB:
- L'istruzione ALTER DATABASE deve essere eseguita in modalità di commit automatico.
- ALTER DATABASE non è consentito in una transazione esplicita o implicita.
Esistono 2 modi per modificare il database in SQL Server.
- SQL Server Management Studio
- Transact-SQL.
Modifica database con SQL Server Management Studio
Proviamo ad alterare il nome del nostro database pre-creato "Edu".
Passaggio 1) Fare clic con il pulsante destro del mouse sul nome del database. Fare clic su "Rinomina".
Passaggio 2) Il nome del database sarà modificabile. Immettere il nuovo nome e premere Invio.
Risultato: il database è ora rinominato come "Edu_Alter" da "Edu".
Modifica database con Transact-SQL
Ora alteriamo il database usando T-SQL
Sintassi:
ALTER DATABASEMODIFY NAME =
Query:
ALTER DATABASE Edu_TSQLMODIFY NAME = Edu_TSQL_Alter;
Eseguire la query precedente facendo clic su "Esegui".
Risultato: il database è ora rinominato come "Edu_TSQL_Alter" da "Edu_TSQL".
Sintassi generale:
ALTER DATABASE { database_name | CURRENT }{ MODIFY NAME = new_database_name| COLLATE collation_name|| SET [ ,… n ] [ WITH ]| SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }} ;
Modifica del nome del file .mdf / .ldf
Query:
Alter DATABASE Edu_TSQL_Alter;MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );
Modifica del percorso del file .mdf / .ldf
Query:
Alter DATABASE Edu_TSQL_Alter;MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );
Elimina database
Esistono 2 modi per eliminare il database in SQL Server.
- SQL Server Management Studio
- Transact-SQL.
Elimina database SQL Server Management Studio
Proviamo a eliminare il nostro database pre-creato "Edu_Alter".
Passaggio 1) Fare clic con il pulsante destro del mouse su Database. Fare clic su "Elimina" e quindi su "OK".
Risultato: "Edu_Alter" viene eliminato dall'elenco del database "Esplora oggetti".
Elimina database utilizzando Transact-SQL
Proviamo a eliminare il nostro database pre-creato "Edu_TSQL_Alter".
Sintassi:
DROP DATABASE
Query:
USE master;GODROP DATABASE Edu_TSQL_Alter;GO
Esegui la query precedente facendo clic su "Esegui".
Risultato: "Edu_TSQL_Alter" viene eliminato dall'elenco del database "Esplora oggetti".
Ripristina database
È possibile creare un database ripristinando un database di cui è stato eseguito il backup in precedenza. Può essere eseguito eseguendo il comando di ripristino del database che assume la seguente sintassi:
restore Databasefrom disk = '
La query dovrebbe essere eseguita all'interno della finestra della query proprio come il comando precedente. Per esempio:
restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'
È inoltre possibile utilizzare la navigazione GUI: Fare clic con il pulsante destro del mouse su Database> Ripristina database> Dispositivo> Importa file> Fare clic su OK.
Sommario:
- Possiamo usare sia la GUI di gestione SQL che T-SQL per eseguire tutte e tre le operazioni; Crea, modifica ed elimina database.
- È possibile specificare un massimo di 32.767 database in un'istanza di SQL Server.
- I database di sistema non possono essere eliminati.
- Crea, modifica e rilascia: tutte le operazioni non fanno distinzione tra maiuscole e minuscole. Possiamo usare sia le maiuscole che le minuscole come sintassi.