Kurz: Návrh relační databáze ve službě Azure SQL Database pomocí nástroje Azure Data Studio (ADS)
Platí pro: Azure SQL Database
Azure SQL Database je relační databáze jako služba (DBaaS) v Microsoft Cloudu (Azure). V tomto kurzu se naučíte používat Azure Portal a Azure Data Studio (ADS) k:
- Připojení k databázi pomocí nástroje Azure Data Studio
- Vytváření tabulek pomocí nástroje Azure Data Studio
- Hromadně načítat data pomocí BCP
- Dotazování dat pomocí nástroje Azure Data Studio
Poznámka:
Pro účely tohoto kurzu používáme Službu Azure SQL Database. Můžete také použít databázi ve fondu v elastickém fondu nebo ve spravované instanci SQL. Informace o připojení ke spravované instanci SQL najdete v těchto rychlých startech ke službě SQL Managed Instance: Rychlý start: Konfigurace virtuálního počítače Azure pro připojení ke spravované instanci Azure SQL a rychlý start: Konfigurace připojení typu point-to-site ke spravované instanci Azure SQL z místního prostředí.
Požadavky
K dokončení tohoto kurzu se ujistěte, že jste nainstalovali:
- Azure Data Studio (nejnovější verze)
- BCP a SQLCMD (nejnovější verze).
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Pokud ještě nemáte vytvořenou službu Azure SQL Database, přejděte na rychlý start: Vytvoření izolované databáze. Vyhledejte možnost použití vaší nabídky k vyzkoušení služby Azure SQL Database zdarma (Preview).
Přihlaste se k portálu Azure Portal.
Přihlaste se k portálu Azure.
Vytvoření pravidla brány firewall protokolu IP na úrovni serveru
Azure SQL Database vytvoří bránu firewall protokolu IP na úrovni serveru. Tato brána firewall brání externím aplikacím a nástrojům v připojení k serveru a jakékoli databáze na serveru, pokud pravidlo brány firewall neumožňuje jejich IP adresu prostřednictvím brány firewall. Pokud chcete povolit externí připojení k databázi, musíte nejprve přidat pravidlo brány firewall protokolu IP pro vaši IP adresu (nebo rozsah IP adres). Následujícím postupem vytvoříte pravidlo brány firewall protokolu IP na úrovni serveru.
Důležité
Azure SQL Database používá ke komunikaci port 1433. Pokud se pokoušíte připojit k této službě z podnikové sítě, nemusí brána firewall vaší sítě povolit odchozí provoz přes port 1433. Pokud ano, nemůžete se k databázi připojit, pokud správce neotevře port 1433.
Po dokončení nasazení vyberte databáze SQL z nabídky webu Azure Portal nebo vyhledejte a vyberte databáze SQL z libovolné stránky.
Vyberte databáziDatabase na stránce databáze SQL. Otevře se stránka přehledu pro vaši databázi s plně kvalifikovaným názvem serveru (například
contosodatabaseserver01.database.windows.net
) a poskytuje možnosti pro další konfiguraci.Zkopírujte tento plně kvalifikovaný název serveru pro připojení k serveru a databázím z aplikace SQL Server Management Studio.
V části Nastavení vyberte Sítě. Zvolte kartu Veřejný přístup a potom v části Přístup k veřejné síti vyberte Vybrané sítě. Zobrazí se část Pravidla brány firewall.
Na panelu nástrojů vyberte Přidat protokol IPv4 klienta a přidejte aktuální IP adresu do nového pravidla brány firewall protokolu IP. Pravidlo brány firewall protokolu IP může otevřít port 1433 pro jednu IP adresu nebo rozsah IP adres.
Zvolte Uložit. Vytvoří se pravidlo brány firewall protokolu IP na úrovni serveru pro vaši aktuální IP adresu, která otevírá port 1433 na serveru.
Vyberte OK a pak zavřete stránku nastavení brány firewall.
Vaše IP adresa teď může projít bránou firewall protokolu IP. K databázi se teď můžete připojit pomocí aplikace SQL Server Management Studio nebo jiného nástroje podle vašeho výběru. Nezapomeňte použít účet správce serveru, který jste vytvořili dříve.
Důležité
Ve výchozím nastavení je přístup přes bránu firewall protokolu IP služby SQL Database povolený pro všechny služby Azure. Výběrem možnosti VYPNUTO na této stránce zakážete všechny služby Azure.
Připojte se k databázi.
K navázání připojení k databázi použijte Azure Data Studio .
Otevřete Azure Data Studio.
V okně Nové připojení z Průzkumník objektů vytvořte nové připojení a zadejte následující informace. Ostatní možnosti ponechte jako výchozí.
Nastavení Navrhovaná hodnota Popis Typ připojení: Microsoft SQL Server Tato hodnota je povinná. Název serveru Plně kvalifikovaný název logického serveru Azure SQL Database Například your_logical_azure_sql_server.database.windows.net
.Typ ověřování Ověřování serveru SQL Server K zadání uživatelského jména a hesla použijte ověřování SQL Serveru. Ověřování Microsoft Entra Pokud se chcete připojit pomocí Microsoft Entra ID, pokud jste správcem serveru Microsoft Entra, zvolte Microsoft Entra ID – Universal s podporou vícefaktorového ověřování. Další informace najdete v tématu Konfigurace a správa ověřování Microsoft Entra pro Azure SQL. Přihlášení Účet správce serveru Jedná se o účet, který jste zadali při vytváření serveru. Heslo Heslo pro účet správce serveru Heslo, které jste zadali při vytváření serveru. Vyberte Připojit. Okno Průzkumník objektů se otevře v ADS.
V Průzkumník objektů rozbalte databáze a potom rozbalte databáziDatabase, abyste zobrazili objekty v ukázkové databázi.
V Průzkumník objektů klikněte pravým tlačítkem na databáziDatabase a vyberte Nový dotaz. Otevře se prázdné okno dotazu připojené k vaší databázi.
Vytváření tabulek v databázi
Vytvořte schéma databáze se čtyřmi tabulkami, které modeluje systém správy studentů pro univerzity pomocí Návrháře tabulek v Azure Data Studiu:
Person
Course
Student
Credit
Následující diagram znázorňuje, jak spolu tyto tabulky vzájemně souvisejí. Některé z těchto tabulek odkazují na sloupce v jiných tabulkách. Například Student
tabulka odkazuje na PersonId
sloupec Person
tabulky. Prohlédněte si diagram, abyste pochopili, jak spolu tabulky v tomto kurzu souvisejí. Podrobné informace o vytváření efektivních normalizovaných databázových tabulek najdete v tématu Návrh normalizované databáze. Informace o výběru datových typů najdete v tématu Datové typy. Ve výchozím nastavení se tabulky vytvářejí ve výchozím dbo
schématu, což znamená, že název tabulky bude dbo.Person
dvoudílný, například.
V Průzkumník objektů vyberte yourDatabase, která rozbalí rozevírací nabídku všech procesů uložených v této databázi, klikněte pravým tlačítkem myši na složku Tabulky a vyberte Možnost Nová tabulka. Otevře se prázdný návrhář tabulky, který je připojený k vaší databázi.
Pomocí rozhraní Návrháře tabulek vytvořte tyto čtyři tabulky v databázi. Další informace o vytváření tabulek pomocí Návrháře tabulek najdete v dokumentaci Návrháře tabulek:
Tabulka osob
Nezapomeňte nakonfigurovat nastavení primárního klíče pro tabulku osob , jak je znázorněno níže:
Tabulka studentů
Nezapomeňte nakonfigurovat nastavení primárního klíče pro tabulku studentů , jak je znázorněno níže:
Nezapomeňte nakonfigurovat nastavení cizího klíče pro tabulku studentů , jak je znázorněno níže:
Tabulka kurzů
Nezapomeňte nakonfigurovat nastavení primárního klíče pro tabulku kurzů , jak je znázorněno níže:
Tabulka kreditů
Nezapomeňte nakonfigurovat nastavení cizího klíče pro tabulku kreditů , jak je znázorněno níže:
Nezapomeňte nakonfigurovat nastavení omezení kontroly pro tabulku kreditů , jak je znázorněno níže:
Pokud chcete k vytvoření čtyř nových tabulek použít T-SQL, tady je T-SQL, který se má spustit v novém okně dotazu.
-- 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 ) )
Rozbalte uzel Tabulky v databáziDatabase v Průzkumník objektů zobrazte čtyři nové tabulky, které jste vytvořili.
Načtení dat do tabulek
Vytvořte složku s názvem sampleData v místní složce stažené pracovní stanice pro ukládání ukázkových dat pro vaši databázi. Například
c:\Users\<your user name>\Downloads
.Klikněte pravým tlačítkem myši na následující odkazy a uložte je do složky sampleData .
Otevřete nové okno příkazového řádku windows a přejděte do složky sampleData . Například
cd c:\Users\<your user name>\Downloads
.Spuštěním následujících
bcp
příkazů vložte ukázková data do tabulek a nahraďte hodnoty pro server, databázi, uživatele a heslo hodnotami pro vaše prostředí.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 ","
Teď jste načetli ukázková data do tabulek, které jste předtím vytvořili.
Zadávání dotazů na data
Spuštěním následujících dotazů T-SQL načtěte informace z databázových tabulek.
Tento první dotaz spojí všechny čtyři tabulky a najde studenty, které učí "Dominick Pope", kteří mají známku vyšší než 75 %. V okně dotazu spusťte následující dotaz T-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;
Tento dotaz spojí všechny čtyři tabulky a najde kurzy, ve kterých se kdy zaregistroval Noe Coleman. V okně dotazu spusťte následující dotaz T-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';
Tip
Další informace o psaní dotazů SQL najdete v kurzu: Psaní příkazů jazyka Transact-SQL.
Související obsah
- Kurz: Návrh relační databáze ve službě Azure SQL Database
- Vyzkoušejte azure SQL Database zdarma (Preview)
- Co je nového ve službě Azure SQL Database?
- Konfigurace a správa referenčních informací k obsahu – Azure SQL Database
- Plánování a správa nákladů na službu Azure SQL Database
Tip
Jste připravení začít vyvíjet aplikaci .NET? V tomto bezplatném modulu Learn se dozvíte, jak vyvíjet a konfigurovat ASP.NET aplikaci, která dotazuje službu Azure SQL Database, včetně vytvoření jednoduché databáze.
Další krok
V následujícím kurzu se dozvíte, jak navrhnout databázi pomocí sady Visual Studio a jazyka C#.