Tutoriel : concevoir une base de données relationnelle dans la base de données Azure SQL

S’applique à Azure SQL Database

La base de données Azure SQL est une base de données en tant que service (DBaaS) relationnelle dans Microsoft Azure. Dans ce tutoriel, vous allez apprendre à :

  • Se connecter à la base de données
  • Créer des tables avec des commandes T-SQL
  • Charger en masse des données avec BCP
  • Interroger des données avec des commandes T-SQL

Remarque

Pour les besoins de ce tutoriel, nous utilisons Azure SQL Database. Vous pouvez également utiliser une base de données mise en pool élastique ou une instance managée SQL. Pour la connexion à une instance managée SQL, consultez ces guides de démarrage rapide des instances managées SQL : Démarrage rapide : Configurer la machine virtuelle Azure pour qu’elle se connecte à une instance managée Azure SQL et Démarrage rapide : Configurer une connexion point à site à une instance managée Azure SQL à partir d’un emplacement local.

Prérequis

Connectez-vous au portail Azure.

Connectez-vous au portail Azure.

Créer une règle de pare-feu IP au niveau du serveur

Azure SQL Database crée un pare-feu IP au niveau du serveur. Ce pare-feu empêche les applications et outils externes de se connecter au serveur et à toutes les bases de données sur ce serveur, sauf si une règle de pare-feu autorise leur adresse IP à traverser le pare-feu. Pour activer la connectivité externe à votre base de données, vous devez d’abord ajouter une règle de pare-feu IP pour votre adresse IP (ou plage d’adresses IP). Suivez ces étapes pour créer une règle de pare-feu IP au niveau du serveur.

Important

Azure SQL Database communique par le biais du port 1433. Si vous essayez de vous connecter à ce service à partir d’un réseau d’entreprise, le trafic sortant sur le port 1433 peut ne pas être autorisé par le pare-feu de votre réseau. Dans ce cas, vous ne pouvez pas vous connecter à votre base de données, sauf si votre administrateur ouvre le port 1433.

  1. Une fois le déploiement terminé, sélectionnez Bases de données SQL dans le menu Portail Azure ou recherchez et sélectionnez Bases de données SQL à partir de n’importe quelle page.

  2. Sélectionnez YourDatabase dans la page Bases de données SQL. La page d’aperçu de votre base de données s’ouvre. Elle affiche le Nom du serveur complet (par exemple contosodatabaseserver01.database.windows.net) et fournit des options pour poursuivre la configuration.

    Screenshot of the Azure portal, database overview page with the server name highlighted.

  3. Copiez le nom complet du serveur pour vous connecter à votre serveur et aux bases de données à partir de SQL Server Management Studio.

  4. Sous Paramètres, sélectionnez Mise en réseau. Choisissez l’onglet Accès public, puis sélectionnez Réseaux sélectionnés sous Accès réseau public pour afficher la section Règles de pare-feu.

    Screenshot of the Azure portal, networking page, showing where to set the server-level IP firewall rule.

  5. Dans la barre d’outils, sélectionnez Ajouter votre client IPv4 afin d’ajouter votre adresse IP actuelle à une nouvelle règle de pare-feu IP. Une règle de pare-feu IP peut ouvrir le port 1433 pour une seule adresse IP ou une plage d’adresses IP.

  6. Sélectionnez Enregistrer. Une règle de pare-feu IP au niveau du serveur est créée pour votre adresse IP actuelle et ouvre le port 1433 sur le serveur.

  7. Sélectionnez OK, puis fermez la page Paramètres de pare-feu.

Votre adresse IP peut désormais traverser le pare-feu IP. Vous pouvez maintenant vous connecter à votre base de données à l’aide de SQL Server Management Studio ou tout autre outil de votre choix. Veillez à utiliser le compte d’administrateur de serveur que vous avez créé précédemment.

Important

Par défaut, l’accès par le biais du pare-feu IP SQL Database est activé pour tous les services Azure. Sélectionnez INACTIF dans cette page pour le désactiver pour tous les services Azure.

Se connecter à la base de données

Les bases de données Azure SQL existent dans des serveurs SQL logiques. Vous pouvez vous connecter au master du serveur SQL logique à l’aide d’une connexion, puis vous connecter à votre base de données. Ou, à l’aide d’un utilisateur contenu, vous pouvez vous connecter directement à votre base de données Azure SQL.

Utilisez SQL Server Management Studio pour vous connectez à votre base de données Azure SQL.

  1. Ouvrez SQL Server Management Studio.

  2. Dans la zone de dialogue Se connecter au serveur, entrez les informations suivantes : Conservez les valeurs par défaut des autres options.

    Paramètre Valeur suggérée Description
    Type de serveur Moteur de base de données Cette valeur est requise.
    Nom du serveur Le nom complet de votre serveur logique de base de données Azure SQL Par exemple : your_logical_azure_sql_server.database.windows.net.
    Authentification Authentification SQL Server Utilisez l’authentification SQL Server pour entrez un nom d’utilisateur et un mot de passe.
    Authentification Microsoft Entra Pour vous connecter à l’aide de Microsoft Entra ID, si vous êtes l’administrateur du serveur Microsoft Entra, choisissez Microsoft Entra MFA. Pour plus d’informations, consultez Configurer et gérer l’authentification Microsoft Entra avec Azure SQL.
    Connexion Compte d’administrateur de serveur Si vous utilisez l’authentification SQL Server, le compte que vous avez spécifié lors de la création du serveur.
    Mot de passe Mot de passe de votre compte d’administrateur de serveur Si vous utilisez l’authentification SQL Server, mot de passe que vous avez spécifié lors de la création du serveur.

    Screenshot of the connect to an Azure SQL Database logical server server dialog box in SQL Server Management Studio (SSMS).

  3. Sélectionnez Options dans la zone de dialogue Se connecter au serveur. Dans la section Se connecter à la base de données, entrez yourDatabase pour vous connecter à cette base de données.

    Screenshot of the options tab of the connect to server dialog box in SQL Server Management Studio (SSMS).

  4. Sélectionnez Se connecter. La fenêtre Explorateur d’objets s’ouvre dans SSMS.

  5. Dans l’Explorateur d’objets, développez Bases de données, puis yourDatabase pour afficher les objets dans l’exemple de base de données.

    Screenshot of SQL Server Management Studio (SSMS) showing database objects in object explorer.

  6. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur yourDatabase et sélectionnez Nouvelle requête. Une fenêtre de requête vide connectée à votre base de données s’ouvre.

Créer des tables dans votre base de données

Créez quatre tables qui modélisent un système de gestion des étudiants pour les universités à l’aide de Transact-SQL :

  • Person
  • Course
  • Student
  • Credit

Le diagramme suivant montre comment ces tables sont liées entre elles. Certaines de ces tables référencent des colonnes d’autres tables. Par exemple, la table Student référence la colonne PersonId de la table Person. Étudiez le diagramme pour comprendre comment les tables présentées dans ce didacticiel sont liées entre elles. Pour obtenir une vue d’ensemble de la création de tables de base de données normalisées efficaces, consultez Conception d’une base de données normalisée. Pour plus d’informations sur le choix des types de données, consultez Types de données. Par défaut, les tables sont créées dans le schéma par défaut dbo, ce qui signifie que le nom en deux parties d’une table sera dbo.Person, par exemple.

Remarque

Vous pouvez également utiliser le concepteur de tables dans SQL Server Management Studio pour créer et concevoir vos tables.

Screenshot of the table designer in SQL Server Management Studio (SSMS) showing the table relationships.

  1. Dans la fenêtre de requête, exécutez la requête T-SQL suivante pour créer quatre tables dans votre base de données :

    -- 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
        )
    )
    

    Screenshot from SSMS showing the create tables script has been successfully executed.

  2. Développez le nœud Tables sous yourDatabase dans l’Explorateur d’objets pour afficher les quatre tables que vous avez créées.

Charger des données dans les tables

  1. Créez un dossier nommé sampleData dans le dossier Téléchargements de votre station de travail locale pour y stocker les exemples de données pour votre base de données. Par exemple : c:\Users\<your user name>\Downloads.

  2. Cliquez avec le bouton droit sur les liens suivants et enregistrez-les dans le dossier sampleData.

  3. Ouvrez une nouvelle fenêtre d’invite de commandes Windows et accédez au dossier sampleData. Par exemple : cd c:\Users\<your user name>\Downloads.

  4. Exécutez les bcp commandes suivantes pour insérer des exemples de données dans les tables, en remplaçant les valeurs de server, database, user et password par les valeurs correspondant à votre environnement.

    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 ","
    

Vous avez maintenant chargé des exemples de données dans les tables que vous avez créées précédemment.

Interroger des données

Exécutez les requêtes T-SQL suivantes pour récupérer des informations à partir des tables de base de données.

Cette première requête réunit les quatre tables pour rechercher tous les étudiants inscrits au cours de « Dominick Pope » ayant une note supérieure à 75 %. Dans la fenêtre de requête, exécutez la requête T-SQL suivante :

-- 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;

Cette requête réunit les quatre tables et recherche les cours que « Noe Coleman » a déjà suivis. Dans la fenêtre de requête, exécutez la requête T-SQL suivante :

-- 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';

Conseil

Pour en savoir plus sur l’écriture de requêtes T-SQL, consultez Didacticiel : écrire des instructions Transact-SQL.

Conseil

Prêt à commencer à développer une application .NET ? Ce module Learn gratuit explique comment Développer et configurer une application ASP.Net qui interroge une base de données Azure SQL Database, ce qui comprend la création d’une base de données simple.

Étape suivante

Passez au didacticiel suivant pour en savoir plus sur la conception d’une base de données à l’aide de Visual Studio et C#.