Oktatóanyag: Relációs adatbázis tervezése az Azure SQL Database-ben
A következőre 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 az alábbiakkal fog megismerkedni:
- Csatlakozás az adatbázishoz
- Táblák létrehozása T-SQL-parancsokkal
- Adatok kötegelt betöltése a BCP használatával
- Adatok lekérdezése T-SQL-parancsokkal
Feljegyzés
Ebben az oktatóanyagban az Azure SQL Database-t használjuk. Készletezett adatbázist is használhat rugalmas készletben vagy felügyelt SQL-példányban. Felügyelt SQL-példányhoz való csatlakozáshoz tekintse meg a felügyelt SQL-példányok gyorsútmutatóit: Rövid útmutató: Azure-beli virtuális gép konfigurálása felügyelt Azure SQL-példányhoz való csatlakozáshoz és rövid útmutató: Pont–hely kapcsolat konfigurálása felügyelt Azure SQL-példányhoz a helyszínen.
Előfeltételek
- Használja az SQL Server Management Studio (legújabb verzió) vagy az Azure SQL Database-hez készült Azure Portal Lekérdezésszerkesztő.
- Ugyanezt az oktatóanyagot az Azure Data Studio (ADS) használatával is követheti.
- BCP és SQLCMD (legújabb verzió).
- Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
- Ha még nem hozott létre Azure SQL Database-adatbázist, látogasson el a gyorsútmutatóra: Egyetlen adatbázis létrehozása. Keresse meg azt a lehetőséget, hogy az ajánlatával ingyenesen kipróbálhassa az Azure SQL Database-t (előzetes verzió).
Jelentkezzen be az Azure Portalra
Jelentkezzen be az Azure Portalra.
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ály létrehozásához.
Fontos
Az Azure SQL Database az 1433-as porton 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.
Az üzembe helyezés befejezése után válassza ki az SQL-adatbázisokat az Azure Portal menüjéből, vagy keressen és válasszon SQL-adatbázisokat bármelyik oldalról.
Válassza ki aDatabase-et az SQL-adatbázisok lapján. Megnyílik az adatbázis áttekintő oldala, amelyen a kiszolgáló teljes neve (például
contosodatabaseserver01.database.windows.net
) látható, és további konfigurációs lehetőségeket biztosít.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.
Válassza a Hálózatkezelés lehetőséget a Gépház alatt. Válassza a Nyilvános hozzáférés lapot, majd válassza a Kijelölt hálózatok lehetőséget a Nyilvános hálózati hozzáférés csoportban a Tűzfalszabályok szakasz megjelenítéséhez.
Az eszköztáron válassza az Ügyfél IPv4 hozzáadása lehetőséget 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.
Válassza a Mentés lehetőséget. Létrejön egy kiszolgálószintű IP-tűzfalszabály az aktuális IP-cím 1433-at megnyitó portjához a kiszolgálón.
Válassza az OK gombot, majd zárja be a Tűzfal beállításai 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 a KI lehetőséget ezen a lapon.
Csatlakozás az adatbázishoz
Az Azure SQL-adatbázisok logikai SQL-kiszolgálókon belül léteznek. Bejelentkezve csatlakozhat a logikai SQL-kiszolgálóhoz master
, majd csatlakozhat az adatbázishoz. Vagy egy tartalmazott felhasználóval közvetlenül csatlakozhat az Azure SQL-adatbázishoz.
Az SQL Server Management Studióval csatlakozhat az Azure SQL-adatbázishoz.
Nyissa meg az SQL Server Management Studiót.
A Csatlakozás kiszolgálóra 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 Ajánlott érték Leírás Kiszolgáló típusa Database engine Kötelezően megadandó érték. Kiszolgáló neve 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 a Microsoft Entra MFA-t. További információ: Microsoft Entra-hitelesítés konfigurálása és kezelése az Azure SQL-lel. Bejelentkezés A kiszolgálói rendszergazdai fiók HA SQL Server-hitelesítést használ, a kiszolgáló létrehozásakor megadott fiók. Jelszó A kiszolgálói rendszergazdai fiók jelszava HA SQL Server-hitelesítést használ, a kiszolgáló létrehozásakor megadott jelszó. Válassza a Beállítások lehetőséget a Csatlakozás kiszolgálóhoz párbeszédpanelen. Az adatbázishoz való Csatlakozás szakaszban adja meg aDatabase nevet az adatbázishoz való csatlakozáshoz.
Válassza a Kapcsolódás lehetőséget. Megnyílik az Objektumkezelő ablak az SSMS-ben.
Az Object Explorerben bontsa ki az Adatbázisok elemet, majd bontsa ki aDatabase fájlt a mintaadatbázis objektumainak megtekintéséhez.
Az Object Explorerben kattintson a jobb gombbal aDatabase fájlra, és válassza az Új lekérdezés lehetőséget. Megnyílik egy, az adatbázishoz csatlakoztatott üres lekérdezési ablak.
Táblák létrehozása az adatbázisban
Hozzon létre négy táblát, amelyek a Transact-SQL használatával modelleznek egy egyetem hallgatói felügyeleti rendszerét:
Person
Course
Student
Credit
Az alábbi ábrán látható, hogyan kapcsolódnak ezek a táblázatok egymáshoz. Ezen táblázatok némelyike más táblák oszlopaira hivatkozik. A tábla például Student
a PersonId
tábla oszlopára hivatkozik Person
. Tanulmányozza a diagramot az ebben az oktatóanyagban szereplő táblák kapcsolatainak megértéséhez. A hatékony normalizált adatbázistáblák létrehozásának részletes ismertetését lásd : Normalizált adatbázis tervezése. Az adattípusok kiválasztására vonatkozó további információkért lásd: 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 dbo.Person
kétrészes neve lesz például.
Feljegyzés
Használhatja az SQL Server Management Studio táblatervezőjét is a táblák létrehozásához és tervezéséhez.
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:
-- 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 ) )
Bontsa ki a Táblák csomópontot a Database alatt az Object Explorerben a létrehozott négy új tábla megtekintéséhez.
Adatok betöltése a táblákba
Hozzon létre egy sampleData nevű mappát a helyi munkaállomás Letöltések mappájában az adatbázis mintaadatainak tárolásához. Például:
c:\Users\<your user name>\Downloads
.Kattintson a jobb gombbal az alábbi hivatkozásokra, és mentse őket a sampleData mappába.
Nyisson meg egy új Windows parancssori ablakot, és keresse meg a sampleData mappát. Például:
cd c:\Users\<your user name>\Downloads
.Hajtsa végre a következő
bcp
parancsokat, hogy mintaadatokat szúrjon be a táblákba a kiszolgáló, az adatbázis, a felhasználó és a jelszó értékeit a környezet értékeire cserélve.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 ","
Ezzel mintaadatokat töltött be 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 "Dominik 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:
-- 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:
-- 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 a Transact-SQL-utasítások írása című oktatóanyagba.
Kapcsolódó tartalom
- Oktatóanyag: Relációs adatbázis tervezése az Azure SQL Database-ben az Azure Data Studio (ADS) használatával
- Próbálja ki ingyenesen az Azure SQL Database-t (előzetes verzió)
- Az Azure SQL Database újdonságai
- Tartalomhivatkozás konfigurálása és kezelése – Azure SQL Database
- Az Azure SQL Database költségeinek megtervezése és kezelése
Tipp.
Készen áll egy .NET-alkalmazás fejlesztésére? Ez az ingyenes Learn-modul bemutatja, hogyan fejleszthet és konfigurálhat egy Azure SQL Database-t lekérdező ASP.NET alkalmazást, beleértve egy egyszerű adatbázis létrehozását is.
Következő lépés
Folytassa a következő oktatóanyaggal, amely az adatbázisok Visual Studio és C# használatával történő tervezését ismerteti.