Руководство по проектированию реляционной базы данных в База данных SQL Azure
Применимо к: База данных SQL Azure
База данных SQL Azure — это реляционная база данных как услуга (DBaaS) в Microsoft Azure. В этом руководстве описано следующее:
- Подключение к базе данных
- Создание таблиц с помощью команд T-SQL
- выполнить массовую загрузку данных с помощью BCP;
- Запрос данных с помощью команд T-SQL
Примечание.
В рамках этого учебника используется База данных SQL Azure. Но вы также можете использовать базу данных в составе эластичного пула или в Управляемом экземпляре SQL. Сведения о процессе подключения к Управляемому экземпляру SQL см. в следующих кратких руководствах: Настройка виртуальной машины Azure для подключения к Управляемому экземпляру SQL Azure и Настройка подключения "точка — сеть" к Управляемому экземпляру SQL Azure из локальной среды.
Необходимые компоненты
- Используйте SQL Server Management Studio (последняя версия) или портал Azure Редактор запросов для База данных SQL Azure.
- Вы также можете следовать этому руководству с помощью Azure Data Studio (ADS).
- BCP и SQLCMD (последняя версия).
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Если у вас еще нет База данных SQL Azure, посетите краткое руководство. Создание одной базы данных. Найдите вариант, чтобы использовать ваше предложение, чтобы попробовать База данных SQL Azure бесплатно (предварительная версия).
Войдите на портал Azure
Войдите на портал Azure.
Создание правила брандмауэра для IP-адресов на уровне сервера
Служба "База данных SQL Azure" создает брандмауэр IP-адресов на уровне сервера. Он не позволяет внешним приложениям и средствам подключаться к серверу и к любой базе данных на сервере, если не создано правило брандмауэра, позволяющее пропускать их IP-адреса через брандмауэр. Чтобы разрешить внешние подключения к базе данных, необходимо сначала добавить правило брандмауэра IP-адресов, указав в нем свой IP-адрес (или диапазон IP-адресов). Выполните следующие действия, чтобы создать правило брандмауэра IP-адресов на уровне сервера.
Внимание
База данных SQL обменивается данными через порт 1433. Если вы пытаетесь подключиться к этой службе из корпоративной сети, исходящий трафик через порт 1433 может быть запрещен сетевым брандмауэром. В таком случае вы не сможете подключиться к базе данных, пока ваш администратор не откроет порт 1433.
После завершения развертывания выберите Базы данных SQL в меню портала Azure или выполните поиск по запросу Базы данных SQL на любой странице и выберите этот пункт.
Выберите yourDatabase на странице Базы данных SQL. После этого откроется страница обзора базы данных, где будет указано полное имя сервера (например,
contosodatabaseserver01.database.windows.net
) и будут предоставлены параметры для дальнейшей настройки.Скопируйте полное имя сервера. Оно понадобится вам для подключения к серверу и связанным базам данных из SQL Server Management Studio.
В разделе Параметров выберите Сеть. Перейдите на вкладку "Общедоступный доступ", а затем выберите выбранные сети в разделе "Доступ к общедоступной сети", чтобы отобразить раздел правил брандмауэра.
Выберите " Добавить IPv4 клиента" на панели инструментов, чтобы добавить текущий IP-адрес в новое правило брандмауэра IP-адресов. С использованием правила брандмауэра IP-адресов можно открыть порт 1433 для одного IP-адреса или диапазона IP-адресов.
Выберите Сохранить. Для текущего IP-адреса будет создано правило брандмауэра для IP-адресов на уровне сервера, с помощью которого можно открыть порт 1433 сервера.
Щелкните ОК, а затем закройте страницу Параметры брандмауэра.
Теперь IP-адрес может проходить через брандмауэр IP-адресов. Теперь можно подключиться к базе данных с помощью SQL Server Management Studio или другого средства по своему усмотрению. Обязательно используйте созданную ранее учетную запись администратора сервера.
Внимание
По умолчанию доступ через брандмауэр IP-адресов Базы данных SQL включен для всех служб Azure. На этой странице щелкните Выкл., чтобы отключить доступ для всех служб Azure.
Подключение к базе данных
Базы данных SQL Azure существуют в логических серверах SQL. Может подключиться к логическому серверу SQL Server master
с помощью имени входа, а затем подключиться к базе данных. Или, используя автономного пользователя, вы можете подключиться непосредственно к базе данных SQL Azure.
Используйте SQL Server Management Studio для подключения к базе данных SQL Azure.
Откройте SQL Server Management Studio.
В диалоговом окне "Подключение к серверу" введите следующие сведения. Оставьте другие параметры по умолчанию.
Параметр Предлагаемое значение Описание Тип сервера Ядро СУБД. Это значение обязательно. Имя сервера Полное База данных SQL Azure имя логического сервера Например, your_logical_azure_sql_server.database.windows.net
.Аутентификация Проверка подлинности SQL Server Используйте проверку подлинности SQL Server, чтобы ввести имя пользователя и пароль. Проверка подлинности Microsoft Entra Чтобы подключиться с помощью идентификатора Microsoft Entra, если вы являетесь администратором сервера Microsoft Entra, выберите Microsoft Entra MFA. Дополнительные сведения см. в разделе о настройке и администрировании проверки подлинности Microsoft Entra с помощью Azure SQL. Имя входа Учетная запись администратора сервера При использовании проверки подлинности SQL Server учетная запись, указанная при создании сервера. Пароль Пароль для учетной записи администратора сервера При использовании проверки подлинности SQL Server пароль, указанный при создании сервера. Выберите параметры в диалоговом окне "Подключение к серверу ". В разделе Подключение к базе данных введите yourDatabase, чтобы подключиться к этой базе данных.
Нажмите Подключиться. В SSMS откроется окно Обозреватель объектов.
В обозревателе объектов разверните Базы данных, а затем выберите yourDatabase, чтобы просмотреть объекты в образце базы данных.
В обозревателе объектов щелкните правой кнопкой мыши yourDatabase и выберите команду Создать запрос. Откроется пустое окно запроса, подключенное к базе данных.
Создание таблиц в базе данных
Создайте четыре таблицы, моделировающие систему управления учащимися для университетов с помощью Transact-SQL:
Person
Course
Student
Credit
На приведенной ниже схеме показано, как эти таблицы связаны друг с другом. Некоторые из этих таблиц ссылаются на столбцы в других таблицах. Например, Student
таблица ссылается на PersonId
столбец Person
таблицы. Изучите схему, чтобы понять, как таблицы в этом руководстве связаны друг с другом. Подробные сведения о создании эффективных нормализованных таблиц баз данных см. в статье "Проектирование нормализованной базы данных". Дополнительные сведения о выборе типов данных см. в этой статье. По умолчанию таблицы создаются в схеме по умолчанию dbo
, что означает, что имя таблицы dbo.Person
будет двух частей, например.
Примечание.
Для создания и проектирования таблиц можно также использовать конструктор таблиц в SQL Server Management Studio.
В окне запроса выполните следующий запрос T-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 ) )
Разверните узел таблиц под базой данныхDatabase в обозреватель объектов, чтобы увидеть четыре созданные новые таблицы.
Загрузка данных в таблицу
Создайте папку с именем sampleData в папке загрузки локальной рабочей станции, чтобы сохранить примеры данных для базы данных. Например,
c:\Users\<your user name>\Downloads
.Щелкните правой кнопкой мыши приведенные ниже ссылки и сохраните их в папку sampleData.
Откройте новое окно командной строки Windows и перейдите в папку sampleData . Например,
cd c:\Users\<your user name>\Downloads
.Выполните следующие
bcp
команды, чтобы вставить примеры данных в таблицы, заменив значения сервера, базы данных, пользователя и пароля значениями для вашей среды.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 ","
Итак, вы загрузили пример данных в созданные ранее таблицы.
Запрос данных
Выполните следующие запросы T-SQL для получения сведений из таблиц базы данных.
Этот первый запрос присоединяет все четыре таблицы, чтобы найти студентов, обучаемых "Доминик Папа", которые имеют оценку выше 75%. В окне запроса выполните следующий запрос 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;
Этот запрос объединяет все четыре таблицы и находит курсы, в которых "Noe Coleman" когда-либо зарегистрирован. В окне запроса выполните следующий запрос 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';
Совет
Дополнительные сведения о написании запросов SQL см . в руководстве по написанию инструкций Transact-SQL.
Связанный контент
- Руководство по проектированию реляционной базы данных в База данных SQL Azure с помощью Azure Data Studio (ADS)
- Попробуйте бесплатно База данных SQL Azure (предварительная версия)
- Новые возможности База данных SQL Azure?
- Настройка справочника по содержимому и управление ими — База данных SQL Azure
- Планирование расходов для Базы данных SQL Microsoft Azure и управление ими
Совет
Готовы приступить к разработке приложения .NET? В этом модуле free Learn показано, как разрабатывать и настраивать приложение ASP.NET, которое запрашивает База данных SQL Azure, включая создание простой базы данных.
Следующий шаг
Дополнительные сведения о проектировании базы данных с помощью Visual Studio и C# см. в следующем руководстве.