Olvasás angol nyelven

Megosztás a következőn keresztül:


Oktatóanyag: Relációs adatbázis tervezése az Azure SQL Database-ben

A következőkre vonatkozik:Azure SQL Database

Az Azure SQL Database egy szolgáltatásként nyújtott relációs adatbázis (DBaaS) a Microsoft Azure-ban. Ebben az oktatóanyagban a következőket sajátíthatja el:

  • Csatlakozás az adatbázishoz
  • Táblák létrehozása T-SQL-parancsokkal
  • Adatok tömeges betöltése a BCP-vel
  • Adatok lekérdezése T-SQL-parancsokkal

Megjegyzés

Ebben az oktatóanyagban az Azure SQL Database-t használjuk. Használhat egy készletezett adatbázist rugalmas készletben vagy egy felügyelt SQL-példányban is. Felügyelt SQL-példányhoz való csatlakozáshoz tekintse meg ezeket a felügyelt SQL-példányok gyorsútmutatóit: Gyorsútmutató: Azure VM konfigurálása Azure SQL felügyelt példányhoz való csatlakozáshoz és Gyorsútmutató: Pont–hely kapcsolat konfigurálása helyszínről Azure SQL felügyelt példányhoz.

Előfeltételek

Bejelentkezés az Azure Portalra

Jelentkezzen be az Azure portálra.

Kiszolgálószintű IP-tűzfalszabály létrehozása

Az Azure SQL Database kiszolgálószintű IP-tűzfalat hoz létre. Ez a tűzfal megakadályozza, hogy külső alkalmazások és eszközök csatlakozzanak a kiszolgálóhoz és a kiszolgálón lévő adatbázisokhoz, kivéve, ha egy tűzfalszabály engedélyezi az IP-címüket a tűzfalon keresztül. Az adatbázis külső kapcsolatának engedélyezéséhez először hozzá kell adnia egy IP-tűzfalszabályt az IP-címhez (vagy IP-címtartományhoz). Kövesse az alábbi lépéseket egy kiszolgálószintű IP-tűzfalszabálylétrehozásához.

Fontos

Az Azure SQL Database az 1433-as porton keresztül kommunikál. Ha vállalati hálózaton belülről próbál csatlakozni ehhez a szolgáltatáshoz, előfordulhat, hogy a hálózat tűzfala nem engedélyezi a kimenő forgalmat az 1433-as porton keresztül. Ha igen, csak akkor csatlakozhat az adatbázishoz, ha a rendszergazda meg nem nyitja az 1433-at.

  1. Az üzembe helyezés befejezése után válassza a SQL-adatbázisokat az Azure portál menüjéből, vagy keresse meg és válassza ki a SQL-adatbázisok bármely lapról.

  2. Válassza az adatbázisát a SQL-adatbázisok lapon. Megnyílik az adatbázis áttekintő oldala, amelyen a teljes kiszolgálónév (például contosodatabaseserver01.database.windows.net) látható, és további konfigurációs lehetőségeket biztosít.

    Képernyőkép az Azure Portalról, az adatbázis áttekintési oldaláról, amelyen a kiszolgáló neve ki van emelve.

  3. Másolja ki ezt a teljes kiszolgálónevet a kiszolgálóhoz és az adatbázisokhoz való csatlakozáshoz az SQL Server Management Studióból.

  4. Válassza a Hálózat opciót a Beállításokmenüben. Válassza a Nyilvános hozzáférés lapot, majd a Nyilvános hálózati hozzáférés területen válassza Kijelölt hálózatok lehetőséget a tűzfalszabályok szakasz megjelenítéséhez.

    Képernyőkép az Azure Portal hálózatkezelési oldaláról, amelyen a kiszolgálószintű IP-tűzfalszabály beállítása látható.

  5. Válassza az Az ügyfél IPv4- hozzáadása az eszköztáron az aktuális IP-cím új IP-tűzfalszabályhoz való hozzáadásához. Az IP-tűzfalszabály megnyithatja az 1433-at egyetlen IP-címhez vagy IP-címtartományhoz.

  6. Válassza a Mentéslehetőséget. Az aktuális IP-címére vonatkozóan létrejön egy kiszolgálószintű IP-tűzfalszabály, amely megnyitja a 1433-as portot a kiszolgálón.

  7. Válassza OK, majd zárja be a tűzfalbeállításokat lapot.

Az IP-cím most már áthaladhat az IP-tűzfalon. Most már csatlakozhat az adatbázishoz az SQL Server Management Studióval vagy egy tetszőleges másik eszközzel. Mindenképpen használja a korábban létrehozott kiszolgálói rendszergazdai fiókot.

Fontos

Alapértelmezés szerint az SQL Database IP-tűzfalon keresztüli hozzáférés minden Azure-szolgáltatáshoz engedélyezve van. Az összes Azure-szolgáltatás letiltásához válassza ki ezen a lapon.

Csatlakozás az adatbázishoz

Az Azure SQL-adatbázisok logikai SQL-kiszolgálókon belül léteznek. Jelentkezzen be a logikai SQL kiszolgáló master-ra, majd csatlakozzon az adatbázisához. Vagy egy által tartalmazott felhasználósegítségével közvetlenül csatlakozhat az Azure SQL-adatbázisához.

Az SQL Server Management Studio használatával csatlakozhat az Azure SQL-adatbázishoz.

  1. Nyissa meg az SQL Server Management Studiót.

  2. A Csatlakozás kiszolgálóhoz párbeszédpanelen adja meg a következő adatokat. Hagyja meg az egyéb beállításokat alapértelmezettként.

    Beállítás Javasolt érték Leírás
    kiszolgálótípus Adatbázismotor Ez az érték kötelező.
    kiszolgálónév Az Azure SQL Database logikai kiszolgálójának teljes neve Például your_logical_azure_sql_server.database.windows.net.
    Hitelesítés SQL Server-hitelesítés Az SQL Server-hitelesítés használatával adjon meg felhasználónevet és jelszót.
    Microsoft Entra-hitelesítés Ha Microsoft Entra-azonosítóval szeretne csatlakozni, ha Ön a Microsoft Entra-kiszolgáló rendszergazdája, válassza Microsoft Entra MFA. További információért lásd: A Microsoft Entra-hitelesítés konfigurálása és kezelése az Azure SQL.
    Bejelentkezés A kiszolgálói rendszergazdai fiók Ha SQL Server-hitelesítést használ, a megadott fiók az a fiók, amelyet megadott a szerver létrehozásakor.
    jelszó A kiszolgálói rendszergazdai fiók jelszava Ha SQL Server-hitelesítést használ, akkor a kiszolgáló létrehozásakor megadott jelszóra van szükség.

    Képernyőkép az SQL Server Management Studio (SSMS) Csatlakozás kiszolgálóhoz párbeszédpaneléről.

  3. Válassza a Beállítások lehetőséget a Csatlakozás kiszolgálóhoz párbeszédpanelen. A Csatlakozás az adatbázishoz szakaszban adja meg yourDatabase az adatbázishoz való csatlakozáshoz.

    Képernyőkép az SQL Server Management Studio (SSMS) Kiszolgálóhoz való csatlakozás párbeszédpanel beállítások lapján.

  4. Válassza Csatlakozáslehetőséget. Megnyílik az Object Explorer ablaka az SSMS-ben.

  5. Az Objektumkezelőbenbontsa ki az Adatbázisok elemet, majd bontsa ki a sajátAdatbázis elemet az objektumok megtekintéséhez a mintaadatbázisban.

    Képernyőkép az SQL Server Management Studio (SSMS) objektumkezelőben lévő adatbázis-objektumokról.

  6. Az Object Explorerablakban kattintson a jobb gombbal a yourDatabase elemre, és válassza az Új lekérdezéslehetőséget. Megnyílik egy üres lekérdezési ablak, amely az adatbázishoz csatlakozik.

Táblák létrehozása az adatbázisban

Hozzon létre négy olyan táblát, amelyek Transact-SQLhasználatával modelleznek egy hallgatói felügyeleti rendszert az egyetemek számára:

  • Person
  • Course
  • Student
  • Credit

Az alábbi ábra bemutatja, hogy ezek a táblák hogyan kapcsolódnak egymáshoz. Ezen táblák némelyike más táblák oszlopaira hivatkozik. A Student tábla például a Person tábla PersonId oszlopára hivatkozik. A diagram tanulmányozása annak megértéséhez, hogy az oktatóanyagban szereplő táblák hogyan kapcsolódnak egymáshoz. A hatékony normalizált adatbázistáblák létrehozásának részletes ismertetését Normalizált adatbázis tervezésecímű témakörben talál. További információ az adattípusok kiválasztásáról: Adattípusok. Alapértelmezés szerint a táblák az alapértelmezett dbo sémában jönnek létre, ami azt jelenti, hogy egy tábla kétrészes neve például dbo.Personlesz.

Megjegyzés

Az SQL Server Management Studio táblatervezőjével is létrehozhatja és megtervezheti a táblákat.

Az SQL Server Management Studio (SSMS) táblatervezőjének képernyőképe a táblakapcsolatokról.

  1. A lekérdezési ablakban hajtsa végre a következő T-SQL-lekérdezést, hogy négy táblát hozzon létre az adatbázisban:

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

    Képernyőkép az SSMS-ről, amelyen a tábla létrehozása szkript sikeresen lefutott.

  2. Bontsa ki a Táblák csomópontot a yourDatabase alatt a Object Explorer-ben, hogy megtekinthesse a létrehozott négy új táblát.

Adatok betöltése a táblákba

  1. Hozzon létre egy sampleData nevű mappát a helyi munkaállomáson, Letölti mappát az adatbázis mintaadatainak tárolásához. Például c:\Users\<your user name>\Downloads.

  2. Kattintson a jobb gombbal az alábbi hivatkozásokra, és mentse őket a sampleData mappába.

  3. Nyisson meg egy új Windows parancssori ablakot, és keresse meg a sampleData mappát. Például cd c:\Users\<your user name>\Downloads.

  4. Hajtsa végre a következő bcp parancsokat, hogy mintaadatokat szúrjon be a táblákba a kiszolgáló, adatbázis, felhasználói, valamint jelszó értékeit a környezet értékeire cserélve.

    Windows Command Prompt
    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 ","
    

Most már betöltötte a mintaadatokat a korábban létrehozott táblákba.

Adatok lekérdezése

Hajtsa végre a következő T-SQL-lekérdezéseket az adatbázistáblák adatainak lekéréséhez.

Ez az első lekérdezés mind a négy táblát összekapcsolja, hogy megtalálja a dominikai pápa által tanított diákokat, akik 75%-nél magasabb osztályzattal rendelkeznek. Egy lekérdezési ablakban hajtsa végre a következő T-SQL-lekérdezést:

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

Ez a lekérdezés mind a négy táblát összekapcsolja, és megkeresi azokat a kurzusokat, amelyeken a "Noe Coleman" valaha regisztrált. Egy lekérdezési ablakban hajtsa végre a következő T-SQL-lekérdezést:

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

Tipp

Ha többet szeretne megtudni az SQL-lekérdezések írásáról, látogasson el oktatóanyagba: Transact-SQL utasítások írása.

Tipp

Készen áll egy .NET-alkalmazás fejlesztésére? Ez az ingyenes Learn-modul bemutatja, hogyan fejleszthet és konfigurálhat olyan ASP.NET alkalmazásokat, amelyek lekérdeznek egy Azure SQL Database-, beleértve egy egyszerű adatbázis létrehozását is.

Következő lépés

Folytassa a következő oktatóanyaggal, amelyből megtudhatja, hogyan tervezhet adatbázist a Visual Studio és a C# használatával.