Esercitazione: Progettare un database relazionale in un database singolo in Database SQL di Azure con SSMSTutorial: Design a relational database in a single database within Azure SQL Database using SSMS

Il database SQL di Azure è un database relazionale distribuito come servizio in Microsoft Cloud (Azure).Azure SQL database is a relational database-as-a-service (DBaaS) in the Microsoft Cloud (Azure). Questa esercitazione illustra come usare il portale di Azure e SQL Server Management Studio (SSMS) per le operazioni seguenti:In this tutorial, you learn how to use the Azure portal and SQL Server Management Studio (SSMS) to:

  • Creare un database singolo con il portale di Azure*Create a single database using the Azure portal*
  • Configurare una regola del firewall IP a livello di server con il portale di AzureSet up a server-level IP firewall rule using the Azure portal
  • Connettersi al database con SSMSConnect to the database with SSMS
  • Creare tabelle con SQL Server Management StudioCreate tables with SSMS
  • Eseguire il caricamento bulk dei dati con BCPBulk load data with BCP
  • Eseguire query sui dati con SSMSQuery data with SSMS

*Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.*If you don't have an Azure subscription, create a free account before you begin.

Suggerimento

Il modulo gratuito seguente di Microsoft Learn contiene informazioni su come sviluppare e configurare un'applicazione ASP.NET che esegue query su un database SQL di Azure, inclusa la creazione di un database semplice.The following Microsoft Learn module helps you learn for free how to Develop and configure an ASP.NET application that queries an Azure SQL Database, including the creation of a simple database.

Nota

Per le finalità di questa esercitazione viene usato un database singolo.For the purpose of this tutorial, we are using a single database. È anche possibile usare un database in un pool elastico o un database di un'istanza gestita.You could also use a pooled database in an elastic pool or an instance database in a managed instance. Per la connettività a un'istanza gestita, vedere queste guide introduttive relative alle istanze gestite: Guida introduttiva: Configurare una macchina virtuale di Azure per la connessione a Istanza gestita di database SQL di Azure e Guida introduttiva: Configurare una connessione da punto a sito a Istanza gestita di database SQL di Azure da un computer locale.For connectivity to a managed instance, see these managed instance quickstarts: Quickstart: Configure Azure VM to connect to an Azure SQL Database Managed Instance and Quickstart: Configure a point-to-site connection to an Azure SQL Database Managed Instance from on-premises.

PrerequisitiPrerequisites

Per completare questa esercitazione, assicurarsi di aver installato quanto segue:To complete this tutorial, make sure you've installed:

Accedere al portale di AzureSign in to the Azure portal

Accedere al portale di Azure.Sign in to the Azure portal.

Creare un database singolo vuotoCreate a blank single database

Un database singolo in Database SQL di Azure viene creato con un set definito di risorse di calcolo e di archiviazione.A single database in Azure SQL Database is created with a defined set of compute and storage resources. Il database viene creato in un gruppo di risorse di Azure e viene gestito usando un server di database.The database is created within an Azure resource group and is managed using an database server.

Per creare un database singolo vuoto, seguire questa procedura.Follow these steps to create a blank single database.

  1. Fare clic su Crea una risorsa nell'angolo superiore sinistro del portale di Azure.Click Create a resource in the upper left-hand corner of the Azure portal.

  2. Nella pagina Nuovo, selezionare Database nella sezione Azure Marketplace e quindi fare clic su Database SQL nella sezione In primo piano.On the New page, select Databases in the Azure Marketplace section, and then click SQL Database in the Featured section.

    creare database vuoto

  3. Compilare il modulo Database SQL con le informazioni seguenti, come illustrato nell'immagine precedente:Fill out the SQL Database form with the following information, as shown on the preceding image:

    ImpostazioneSetting       Valore consigliatoSuggested value DescrizioneDescription
    Nome databaseDatabase name yourDatabaseyourDatabase Per informazioni sui nomi di database validi, vedere Identificatori del database.For valid database names, see Database identifiers.
    SottoscrizioneSubscription yourSubscriptionyourSubscription Per informazioni dettagliate sulle sottoscrizioni, vedere Sottoscrizioni.For details about your subscriptions, see Subscriptions.
    Gruppo di risorseResource group yourResourceGroupyourResourceGroup Per i nomi di gruppi di risorse validi, vedere Regole di denominazione e restrizioni.For valid resource group names, see Naming rules and restrictions.
    Select source (Seleziona origine)Select source Database vuotoBlank database Indica che deve essere creato un database vuoto.Specifies that a blank database should be created.
  4. Fare clic su Server per usare un server di database esistente oppure crearne e configurarne uno nuovo.Click Server to use an existing database server or create and configure a new database server. Selezionare un server esistente oppure fare clic su Crea un nuovo server e compilare il modulo Nuovo server con le informazioni seguenti:Either select an existing server or click Create a new server and fill out the New server form with the following information:

    ImpostazioneSetting       Valore consigliatoSuggested value DescrizioneDescription
    Nome serverServer name Qualsiasi nome globalmente univocoAny globally unique name Per i nomi di server validi, vedere Regole di denominazione e restrizioni.For valid server names, see Naming rules and restrictions.
    Accesso amministratore serverServer admin login Qualsiasi nome validoAny valid name Per informazioni sui nomi di accesso validi, vedere Identificatori del database.For valid login names, see Database identifiers.
    PasswordPassword Qualsiasi password validaAny valid password La password deve contenere almeno otto caratteri delle tre categorie seguenti: maiuscole, minuscole, numeri e caratteri non alfanumerici.Your password must have at least eight characters and must use characters from three of the following categories: upper case characters, lower case characters, numbers, and non-alphanumeric characters.
    PosizioneLocation Qualsiasi località validaAny valid location Per informazioni sulle aree, vedere Aree di Azure.For information about regions, see Azure Regions.

    Creare il server di database

  5. Fare clic su Seleziona.Click Select.

  6. Fare clic su Piano tariffario per specificare il livello di servizio, il numero di DTU o vCores e la quantità di risorse di archiviazione.Click Pricing tier to specify the service tier, the number of DTUs or vCores, and the amount of storage. Esplorare le opzioni relative al numero di DTU/vCore e di risorse di archiviazione disponibile per ogni livello di servizio.You may explore the options for the number of DTUs/vCores and storage that is available to you for each service tier.

    Dopo aver selezionato il livello di servizio, il numero di DTU o vCore e la quantità di spazio di archiviazione, fare clic su Applica.After selecting the service tier, the number of DTUs or vCores, and the amount of storage, click Apply.

  7. Immettere le regole di confronto per il database vuoto. Per questa esercitazione usare il valore predefinito.Enter a Collation for the blank database (for this tutorial, use the default value). Per altre informazioni sulle regole di confronto, vedere Collations (Regole di confronto)For more information about collations, see Collations

  8. Dopo aver completato il modulo Database SQL, fare clic su Crea per effettuare il provisioning del database singolo.Now that you've completed the SQL Database form, click Create to provision the single database. Questo passaggio potrebbe richiedere alcuni minuti.This step may take a few minutes.

  9. Sulla barra degli strumenti fare clic su Notifiche per monitorare il processo di distribuzione.On the toolbar, click Notifications to monitor the deployment process.

    notifica

Creare una regola del firewall IP a livello di serverCreate a server-level IP firewall rule

Il servizio Database SQL crea un firewall per gli indirizzi IP a livello di server.The SQL Database service creates an IP firewall at the server-level. Questo impedisce alle applicazioni e agli strumenti esterni di connettersi al server e ai database nel server a meno che una regola del firewall non consenta allo specifico indirizzo IP di superare il firewall.This firewall prevents external applications and tools from connecting to the server and any databases on the server unless a firewall rule allows their IP through the firewall. Per abilitare la connettività esterna al database singolo, è prima di tutto necessario aggiungere una regola del firewall IP o l'intervallo di indirizzi IP.To enable external connectivity to your single database, you must first add an IP firewall rule for your IP address (or IP address range). Per creare una regola del firewall IP a livello di server di database SQL, seguire questa procedura.Follow these steps to create a SQL Database server-level IP firewall rule.

Importante

Il servizio Database SQL comunica sulla porta 1433.The SQL Database service communicates over port 1433. Se si intende connettersi al servizio da una rete aziendale, il firewall della rete potrebbe non consentire il traffico in uscita sulla porta 1433.If you are trying to connect to this service from within a corporate network, outbound traffic over port 1433 may not be allowed by your network's firewall. In questo caso, non è possibile connettersi al database singolo a meno che l'amministratore non apra la porta 1433.If so, you cannot connect to your single database unless your administrator opens port 1433.

  1. Al termine della distribuzione, fare clic su Database SQL nel menu a sinistra e quindi su yourDatabase nella pagina Database SQL.After the deployment completes, click SQL databases from the left-hand menu and then click yourDatabase on the SQL databases page. Verrà visualizzata la pagina di panoramica del database, che mostra il nome server completo, ad esempio yourserver.database.windows.net, e offre opzioni per operazioni di configurazione aggiuntive.The overview page for your database opens, showing you the fully qualified Server name (such as yourserver.database.windows.net) and provides options for further configuration.

  2. Copiare il nome completo del server per usarlo per la connessione al server e ai database da SQL Server Management Studio.Copy this fully qualified server name for use to connect to your server and databases from SQL Server Management Studio.

    Nome del server

  3. Fare clic su Imposta firewall server sulla barra degli strumenti.Click Set server firewall on the toolbar. Si apre la pagina Impostazioni del firewall per il server di database SQL.The Firewall settings page for the SQL Database server opens.

    regola del firewall IP a livello di server

  4. Fare clic su Aggiungi IP client sulla barra degli strumenti per aggiungere l'indirizzo IP corrente a una nuova regola del firewall per gli indirizzi IP.Click Add client IP on the toolbar to add your current IP address to a new IP firewall rule. Una regola del firewall per gli indirizzi IP può aprire la porta 1433 per un singolo indirizzo IP o un intervallo di indirizzi IP.An IP firewall rule can open port 1433 for a single IP address or a range of IP addresses.

  5. Fare clic su Save.Click Save. Viene creata una regola del firewall IP a livello di server per l'indirizzo IP corrente, che apre la porta 1433 nel server di database SQL.A server-level IP firewall rule is created for your current IP address opening port 1433 on the SQL Database server.

  6. Fare clic su OK e quindi chiudere la pagina Impostazioni del firewall.Click OK and then close the Firewall settings page.

L'indirizzo IP può ora superare il firewall per gli indirizzi IP.Your IP address can now pass through the IP firewall. È quindi possibile connettersi al database singolo usando SQL Server Management Studio o un altro strumento di propria scelta.You can now connect to your single database using SQL Server Management Studio or another tool of your choice. Assicurarsi di usare l'account amministratore del server creato in precedenza.Be sure to use the server admin account you created previously.

Importante

Per impostazione predefinita, l'accesso attraverso il firewall per gli indirizzi IP di Database SQL è abilitato per tutti i servizi di Azure.By default, access through the SQL Database IP firewall is enabled for all Azure services. Selezionando NO in questa pagina permette di disabilitare tutti i servizi di Azure.Click OFF on this page to disable for all Azure services.

Connettersi al databaseConnect to the database

Usare SQL Server Management Studio per stabilire una connessione al database singolo.Use SQL Server Management Studio to establish a connection to your single database.

  1. Aprire SQL Server Management Studio.Open SQL Server Management Studio.

  2. Nella finestra di dialogo Connetti al server immettere le informazioni seguenti:In the Connect to Server dialog box, enter the following information:

    ImpostazioneSetting       Valore consigliatoSuggested value DESCRIZIONEDescription
    Tipo di serverServer type Motore di databaseDatabase engine Questo valore è obbligatorio.This value is required.
    Nome serverServer name Nome completo del serverThe fully qualified server name Ad esempio, yourserver.database.windows.net.For example, yourserver.database.windows.net.
    autenticazioneAuthentication Autenticazione di SQL ServerSQL Server Authentication L'autenticazione SQL è l'unico tipo di autenticazione configurato in questa esercitazione.SQL Authentication is the only authentication type that we've configured in this tutorial.
    AccessoLogin Account amministratore del serverThe server admin account Account specificato quando è stato creato il server.The account that you specified when you created the server.
    PasswordPassword Password per l'account amministratore del serverThe password for your server admin account Password specificata quando è stato creato il server.The password that you specified when you created the server.

    connetti al server

  3. Fare clic su Opzioni nella finestra di dialogo Connetti al server.Click Options in the Connect to server dialog box. Nella sezione Connetti al database immettere yourDatabase per connettersi a tale database.In the Connect to database section, enter yourDatabase to connect to this database.

    connettersi al database nel server

  4. Fare clic su Connetti.Click Connect. In SSMS verrà visualizzata la finestra Esplora oggetti.The Object Explorer window opens in SSMS.

  5. In Esplora oggetti espandere Database e quindi yourDatabase per visualizzare gli oggetti presenti nel database di esempio.In Object Explorer, expand Databases and then expand yourDatabase to view the objects in the sample database.

    oggetti di database

Creare tabelle nel databaseCreate tables in your database

Creare uno schema di database con quattro tabelle che modellano un sistema di gestione degli studenti per le università tramite Transact-SQL:Create a database schema with four tables that model a student management system for universities using Transact-SQL:

  • PersonPerson
  • CorsoCourse
  • StudenteStudent
  • RiconoscimentiCredit

Nel diagramma seguente viene illustrato come queste tabelle sono correlate tra loro.The following diagram shows how these tables are related to each other. Alcune di queste tabelle fanno riferimento a delle colonne in altre tabelle.Some of these tables reference columns in other tables. La tabella Student, ad esempio, fa riferimento alla colonna PersonId della tabella Person.For example, the Student table references the PersonId column of the Person table. Studiare il diagramma per comprendere come sono correlate tra loro le tabelle in questa esercitazione.Study the diagram to understand how the tables in this tutorial are related to one another. Per un esame approfondito su come creare tabelle di database efficaci, vedere Create effective database tables (Creare tabelle di database efficaci).For an in-depth look at how to create effective database tables, see Create effective database tables. Per informazioni sulla scelta dei tipi di dati, vedere Tipi di dati.For information about choosing data types, see Data types.

Nota

È anche possibile usare la Progettazione delle tabelle in SQL Server Management Studio per creare e progettare le tabelle.You can also use the table designer in SQL Server Management Studio to create and design your tables.

Relazioni tra tabelle

  1. In Esplora oggetti fare clic con il pulsante destro del mouse su yourDatabase e scegliere Nuova query.In Object Explorer, right-click yourDatabase and select New Query. Viene visualizzata una finestra di query vuota, connessa al database.A blank query window opens that is connected to your database.

  2. Nella finestra di query, eseguire la query seguente per creare quattro tabelle nel database:In the query window, execute the following query to create four tables in your database:

    -- Create Person table
    CREATE TABLE Person
    (
        PersonId INT IDENTITY PRIMARY KEY,
        FirstName NVARCHAR(128) NOT NULL,
        MiddelInitial NVARCHAR(10),
        LastName NVARCHAR(128) NOT NULL,
        DateOfBirth DATE NOT NULL
    )
    
    -- Create Student table
    CREATE TABLE Student
    (
        StudentId INT IDENTITY PRIMARY KEY,
        PersonId INT REFERENCES Person (PersonId),
        Email NVARCHAR(256)
    )
    
    -- Create Course table
    CREATE TABLE Course
    (
        CourseId INT IDENTITY PRIMARY KEY,
        Name NVARCHAR(50) NOT NULL,
        Teacher NVARCHAR(256) NOT NULL
    )
    
    -- Create Credit table
    CREATE TABLE Credit
    (
        StudentId INT REFERENCES Student (StudentId),
        CourseId INT REFERENCES Course (CourseId),
        Grade DECIMAL(5,2) CHECK (Grade <= 100.00),
        Attempt TINYINT,
        CONSTRAINT [UQ_studentgrades] UNIQUE CLUSTERED
        (
            StudentId, CourseId, Grade, Attempt
        )
    )
    

    Creare tabelle

  3. In Esplora oggetti espandere il nodo Tabelle in yourDatabase per visualizzare le tabelle create.Expand the Tables node under yourDatabase in the Object Explorer to see the tables you created.

    tabelle create con SQL Server Management Studio

Caricare i dati nelle tabelleLoad data into the tables

  1. Creare una cartella denominata sampleData nella cartella Download per archiviare dati di esempio per il database.Create a folder called sampleData in your Downloads folder to store sample data for your database.

  2. Fare clic con il pulsante destro del mouse sui collegamenti seguenti e salvare i dati nella cartella sampleData.Right-click the following links and save them into the sampleData folder.

  3. Aprire una finestra del prompt dei comandi e passare alla cartella sampleData.Open a command prompt window and navigate to the sampleData folder.

  4. Eseguire questi comandi per inserire i dati di esempio nelle tabelle, sostituendo i valori server, database, user e password con i valori dell'ambiente in uso.Execute the following commands to insert sample data into the tables replacing the values for server, database, user, and password with the values for your environment.

    bcp Course in SampleCourseData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Person in SamplePersonData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Student in SampleStudentData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    bcp Credit in SampleCreditData -S <server>.database.windows.net -d <database> -U <user> -P <password> -q -c -t ","
    

A questo punto, sono stati caricati i dati di esempio nelle tabelle create in precedenza.You have now loaded sample data into the tables you created earlier.

Eseguire query sui datiQuery data

Eseguire le query seguenti per recuperare informazioni dalle tabelle del database.Execute the following queries to retrieve information from the database tables. Per altre informazioni sulla scrittura di query SQL, vedere l'articolo su come scrivere query SQL.See Write SQL queries to learn more about writing SQL queries. La prima query crea un join di tutte le quattro tabelle per trovare tutti gli studenti con "Dominick Pope" come insegnante e un voto superiore al 75%.The first query joins all four tables to find the students taught by 'Dominick Pope' who have a grade higher than 75%. La seconda query crea un join di tutte le quattro tabelle e trova i corsi a cui è stato iscritto "Noe Coleman".The second query joins all four tables and finds the courses in which 'Noe Coleman' has ever enrolled.

  1. In una finestra di query di SQL Server Management Studio, eseguire la query seguente:In a SQL Server Management Studio query window, execute the following query:

    -- Find the students taught by Dominick Pope who have a grade higher than 75%
    SELECT  person.FirstName, person.LastName, course.Name, credit.Grade
    FROM  Person AS person
        INNER JOIN Student AS student ON person.PersonId = student.PersonId
        INNER JOIN Credit AS credit ON student.StudentId = credit.StudentId
        INNER JOIN Course AS course ON credit.CourseId = course.courseId
    WHERE course.Teacher = 'Dominick Pope'
        AND Grade > 75
    
  2. In una finestra di query eseguire questa query:In a query window, execute the following query:

    -- Find all the courses in which Noe Coleman has ever enrolled
    SELECT  course.Name, course.Teacher, credit.Grade
    FROM  Course AS course
        INNER JOIN Credit AS credit ON credit.CourseId = course.CourseId
        INNER JOIN Student AS student ON student.StudentId = credit.StudentId
        INNER JOIN Person AS person ON person.PersonId = student.PersonId
    WHERE person.FirstName = 'Noe'
        AND person.LastName = 'Coleman'
    

Passaggi successiviNext steps

In questa esercitazione sono state illustrate molte attività di base sui database.In this tutorial, you learned many basic database tasks. Si è appreso come:You learned how to:

  • Creare un database singoloCreate a single database
  • Configurare una regola del firewall per gli indirizzi IP a livello di serverSet up a server-level IP firewall rule
  • Connettersi al database con SQL Server Management Studio (SSMS)Connect to the database with SQL Server Management Studio (SSMS)
  • Creare tabelleCreate tables
  • Eseguire il caricamento bulk dei datiBulk load data
  • Eseguire query sui datiQuery that data

Per informazioni sulla progettazione di un database con Visual Studio e C#, passare all'esercitazione successiva.Advance to the next tutorial to learn about designing a database using Visual Studio and C#.