Samouczek: projektowanie relacyjnej bazy danych w usłudze Azure SQL Database przy użyciu programu Azure Data Studio (ADS)
Dotyczy: Azure SQL Database
Usługa Azure SQL Database to relacyjna baza danych oferowana jako usługa (DBaaS, database-as-a service) na platformie Microsoft Cloud (Azure). Z tego samouczka dowiesz się, jak używać witryny Azure Portal i programu Azure Data Studio (ADS) do:
- Nawiązywanie połączenia z bazą danych za pomocą narzędzia Azure Data Studio
- Tworzenie tabel za pomocą narzędzia Azure Data Studio
- Ładowanie zbiorcze danych za pomocą narzędzia BCP
- Wykonywanie zapytań dotyczących danych za pomocą narzędzia Azure Data Studio
Uwaga
Na potrzeby tego samouczka używamy usługi Azure SQL Database. Można również użyć bazy danych w puli elastycznej lub wystąpienia zarządzanego SQL. Aby uzyskać informacje na temat łączności z usługą SQL Managed Instance, zobacz następujące przewodniki Szybki start: Konfigurowanie maszyny wirtualnej platformy Azure w celu nawiązania połączenia z usługą Azure SQL Managed Instance i Szybki start: Konfigurowanie połączenia punkt-lokacja z usługą Azure SQL Managed Instance ze środowiska lokalnego.
Wymagania wstępne
Aby ukończyć kroki tego samouczka, upewnij się, że zainstalowano następujące elementy:
- Azure Data Studio (najnowsza wersja)
- BCP i SQLCMD (najnowsza wersja).
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Jeśli nie masz jeszcze utworzonej bazy danych Azure SQL Database, odwiedź stronę Szybki start: tworzenie pojedynczej bazy danych. Poszukaj opcji korzystania z oferty, aby wypróbować usługę Azure SQL Database bezpłatnie (wersja zapoznawcza).
Zaloguj się do witryny Azure Portal.
Zaloguj się w witrynie Azure Portal.
Tworzenie reguły zapory bazującej na adresach IP na poziomie serwera
Usługa Azure SQL Database tworzy zaporę adresów IP na poziomie serwera. Ta zapora uniemożliwia zewnętrznym aplikacjom i narzędziom łączenie się z serwerem i wszelkimi bazami danych na tym serwerze, chyba że reguła zapory zezwala na przechodzenie ruchu z ich adresów IP przez zaporę. Aby włączyć łączność zewnętrzną z bazą danych, musisz najpierw dodać regułę zapory ip dla adresu IP (lub zakresu adresów IP). Wykonaj następujące kroki, aby utworzyć regułę zapory adresów IP na poziomie serwera.
Ważne
Usługa Azure SQL Database komunikuje się przez port 1433. Jeśli próbujesz nawiązać połączenie z tą usługą z sieci firmowej, ruch wychodzący przez port 1433 może nie być dozwolony przez zaporę sieci. Jeśli tak, nie możesz nawiązać połączenia z bazą danych, chyba że administrator otworzy port 1433.
Po zakończeniu wdrażania wybierz pozycję Bazy danych SQL z menu witryny Azure Portal lub wyszukaj i wybierz pozycję Bazy danych SQL na dowolnej stronie.
Wybierz bazę danych Na stronie Bazy danych SQL. Zostanie otwarta strona przeglądu bazy danych zawierająca w pełni kwalifikowaną nazwę serwera (na przykład
contosodatabaseserver01.database.windows.net
) i opcje dalszej konfiguracji.Skopiuj tę w pełni kwalifikowaną nazwę serwera w celu nawiązania połączenia z serwerem i bazami danych w programie SQL Server Management Studio.
Wybierz pozycję Sieć w obszarze Ustawienia. Wybierz kartę Dostęp publiczny, a następnie wybierz pozycję Wybrane sieci w obszarze Dostęp do sieci publicznej, aby wyświetlić sekcję Reguły zapory.
Wybierz pozycję Dodaj adres IPv4 klienta na pasku narzędzi, aby dodać bieżący adres IP do nowej reguły zapory adresów IP. Reguła zapory bazująca na adresach IP może otworzyć port 1433 dla pojedynczego adresu IP lub zakresu adresów IP.
Wybierz pozycję Zapisz. Reguła zapory adresów IP na poziomie serwera jest tworzona dla bieżącego adresu IP otwierającego port 1433 na serwerze.
Wybierz przycisk OK, a następnie zamknij stronę Ustawienia zapory.
Adres IP może teraz być przekazywany przez zaporę IP. Teraz możesz nawiązać połączenie z bazą danych przy użyciu programu SQL Server Management Studio lub innego wybranego narzędzia. Używaj wcześniej utworzonego konta administratora serwera.
Ważne
Domyślnie dostęp przez zaporę IP usługi SQL Database jest włączony dla wszystkich usług platformy Azure. Wybierz przycisk WYŁ. na tej stronie, aby wyłączyć tę opcję dla wszystkich usług platformy Azure.
Łączenie z bazą danych
Użyj narzędzia Azure Data Studio , aby nawiązać połączenie z bazą danych.
Otwórz narzędzie Azure Data Studio.
W obszarze Nowe połączenie z Eksplorator obiektów utwórz nowe połączenie i wprowadź następujące informacje. Pozostaw inne opcje jako domyślne.
Ustawienie Sugerowana wartość Opis Connection type (Typ połączenia) Microsoft SQL Server Wartość ta jest wymagana. Nazwa serwera W pełni kwalifikowana nazwa serwera logicznego usługi Azure SQL Database Na przykład your_logical_azure_sql_server.database.windows.net
.Authentication type (Typ uwierzytelniania) Uwierzytelnianie programu SQL Server Użyj uwierzytelniania programu SQL Server, aby wprowadzić nazwę użytkownika i hasło. Uwierzytelnianie Microsoft Entra Aby nawiązać połączenie przy użyciu identyfikatora Entra firmy Microsoft, jeśli jesteś administratorem serwera Entra firmy Microsoft, wybierz pozycję Microsoft Entra ID — universal with MFA support (Obsługa uwierzytelniania wieloskładnikowego). Więcej informacji można znaleźć w temacie Konfigurowanie uwierzytelniania usługi Microsoft Entra i zarządzanie nim za pomocą usługi Azure SQL. Logowanie Konto administratora serwera Konto określone podczas tworzenia serwera. Hasło Hasło konta administratora serwera Hasło określone podczas tworzenia serwera. Wybierz pozycję Połącz. Zostanie otwarte okno Eksplorator obiektów w usłudze ADS.
W Eksploratorze obiektów rozwiń pozycję Bazy danych, a następnie rozwiń pozycję yourDatabase, aby wyświetlić obiekty w przykładowej bazie danych.
W Eksploratorze obiektów kliknij prawym przyciskiem myszy pozycję yourDatabase i wybierz pozycję Nowe zapytanie. Zostanie otwarte puste okno zapytania, które jest połączone z Twoją bazą danych.
Tworzenie tabel w bazie danych
Utwórz schemat bazy danych z czterema tabelami, które modeluje system zarządzania studentami dla uniwersytetów przy użyciu projektanta tabel w usłudze Azure Data Studio:
Person
Course
Student
Credit
Na poniższym diagramie przedstawiono, jak te tabele są ze sobą powiązane. Niektóre z tych tabel odwołują się do kolumn w innych tabelach. Na przykład Student
tabela odwołuje się do PersonId
kolumny Person
tabeli. Zapoznaj się z tym diagramem, aby zrozumieć, jak tabele w tym samouczku są ze sobą powiązane. Aby uzyskać szczegółowe informacje na temat tworzenia efektywnych znormalizowanych tabel baz danych, zobacz Projektowanie znormalizowanej bazy danych. Aby uzyskać informacje dotyczące wybierania typów danych, zobacz Typy danych. Domyślnie tabele są tworzone w schemacie domyślnym dbo
, co oznacza, że na przykład dwuczęściowa nazwa tabeli to dbo.Person
, na przykład .
W Eksplorator obiektów wybierz bazę danych, która rozwija menu rozwijane wszystkich procesów przechowywanych w tej bazie danych, kliknij prawym przyciskiem myszy folder Tables, wybierz pozycję Nowa tabela. Zostanie otwarty pusty projektant tabel połączony z bazą danych.
Użyj interfejsu projektanta tabel, aby utworzyć te cztery tabele w bazie danych. Aby dowiedzieć się więcej na temat tworzenia tabel przy użyciu projektanta tabel, zapoznaj się z dokumentacją projektanta tabel:
Tabela osób
Pamiętaj, aby skonfigurować ustawienia klucza podstawowego dla tabeli osoby , jak pokazano poniżej:
Tabela uczniów
Pamiętaj, aby skonfigurować ustawienia klucza podstawowego dla tabeli uczniów, jak pokazano poniżej:
Pamiętaj, aby skonfigurować ustawienia klucza obcego dla tabeli uczniów, jak pokazano poniżej:
Tabela kursu
Pamiętaj, aby skonfigurować ustawienia klucza podstawowego dla tabeli Kursu , jak pokazano poniżej:
Tabela środków
Pamiętaj, aby skonfigurować ustawienia klucza obcego dla tabeli kredytowej, jak pokazano poniżej:
Pamiętaj, aby skonfigurować ustawienia sprawdzanie ograniczeń dla tabeli kredytowej, jak pokazano poniżej:
Jeśli wolisz użyć języka T-SQL do utworzenia czterech nowych tabel, oto język T-SQL do wykonania w nowym oknie zapytania.
-- 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 ) )
Rozwiń węzeł Tabele w obszarze yourDatabase w Eksplorator obiektów, aby wyświetlić cztery utworzone nowe tabele.
Ładowanie danych do tabel
Utwórz folder o nazwie sampleData w lokalnym folderze pobranej stacji roboczej, aby przechowywać przykładowe dane dla bazy danych. Na przykład
c:\Users\<your user name>\Downloads
.Kliknij prawym przyciskiem myszy poniższe linki i zapisz je w folderze sampleData.
Otwórz nowe okno wiersza polecenia systemu Windows i przejdź do folderu sampleData . Na przykład
cd c:\Users\<your user name>\Downloads
.Wykonaj następujące
bcp
polecenia, aby wstawić przykładowe dane do tabel, zastępując wartości serwera, bazy danych, użytkownika i hasła wartościami środowiska.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 ","
Przykładowe dane zostaną załadowane do utworzonych wcześniej tabel.
Zapytania o dane
Wykonaj następujące zapytania T-SQL, aby pobrać informacje z tabel bazy danych.
To pierwsze zapytanie łączy wszystkie cztery tabele, aby znaleźć uczniów nauczanych przez "Dominick Pope", którzy mają ocenę wyższą niż 75%. W oknie zapytania wykonaj następujące zapytanie 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;
To zapytanie łączy wszystkie cztery tabele i znajduje kursy, w których kiedykolwiek zarejestrowano "Noe Coleman". W oknie zapytania wykonaj następujące zapytanie 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';
Napiwek
Aby dowiedzieć się więcej na temat pisania zapytań SQL, odwiedź stronę Samouczek: pisanie instrukcji języka Transact-SQL.
Powiązana zawartość
- Samouczek: projektowanie relacyjnej bazy danych w usłudze Azure SQL Database
- Wypróbuj bezpłatnie usługę Azure SQL Database (wersja zapoznawcza)
- Co nowego w usłudze Azure SQL Database?
- Konfigurowanie dokumentacji zawartości i zarządzanie nią — Azure SQL Database
- Planowanie kosztów i zarządzanie nimi dla usługi Azure SQL Database
Napiwek
Chcesz rozpocząć tworzenie aplikacji platformy .NET? W tym bezpłatnym module Learn pokazano, jak opracowywać i konfigurować aplikację ASP.NET, która wysyła zapytania do usługi Azure SQL Database, w tym tworzenie prostej bazy danych.
Następny krok
Przejdź do następnego samouczka, aby dowiedzieć się, jak projektować bazy danych przy użyciu programu Visual Studio i języka C#.