Руководство по проектированию реляционной базы данных в базе данных Azure SQL с помощью Azure Data Studio (ADS)

Область применения: База данных SQL Azure

База данных SQL Azure — это реляционная база данных как услуга (DBaaS) в Microsoft Cloud (Azure). В этом руководстве описано, как использовать портал Azure и Azure Data Studio (ADS) для выполнения следующих функций:

  • создать базу данных с помощью портала Azure*;
  • Настройка правила брандмауэра ДЛЯ IP-адресов на уровне сервера с помощью портал Azure
  • Подключение к базе данных с помощью Azure Data Studio
  • Создание таблиц с помощью Azure Data Studio
  • выполнить массовую загрузку данных с помощью BCP;
  • Запрос данных с помощью Azure Data Studio

\* Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Совет

В этом бесплатном модуле Learn показано, как разрабатывать и настраивать приложение ASP.NET, которое запрашивает базу данных Azure SQL, включая создание простой базы данных.

Примечание

В рамках этого учебника используется База данных SQL Azure. Но вы также можете использовать базу данных в составе эластичного пула или в Управляемом экземпляре SQL. Чтобы подключиться к Управляемому экземпляру SQL, ознакомьтесь с соответствующими руководствами: Краткое руководство. Настройка виртуальной машины Azure для подключения к Управляемому экземпляру SQL Azure и Краткое руководство. Настройка подключения типа "точка — сеть" к Управляемому экземпляру SQL Azure из локальной сети.

Предварительные требования

Для работы с этим руководством вам потребуются:

Вход на портал Azure

Войдите на портал Azure.

Создание пустой базы данных в службе "База данных SQL Azure"

База данных в службе "База данных SQL Azure" создается с определенным набором вычислительных ресурсов и ресурсов хранения. База данных создается в группе ресурсов Azure и управляется с помощью логического сервера SQL Server.

Чтобы создать пустую базу данных, выполните приведенные ниже действия.

  1. На домашней странице или в меню портала Azure выберите Создать ресурс.

  2. На странице "Создание ресурса" выберите База данных SQL или "Создать" в разделе База данных SQL. Снимок экрана: создание базы данных из ресурса.

  3. Заполните форму База данных SQL, указав следующую информацию, как показано на предыдущем рисунке.

    Параметр Рекомендуемое значение Описание
    Подписка yourSubscription Дополнительные сведения о подписках см. здесь.
    Группа ресурсов yourResourceGroup Допустимые имена групп ресурсов см. в статье о правилах и ограничениях именования.
    Имя базы данных yourDatabase Допустимые имена баз данных см. в статье Идентификаторы баз данных.
  4. Укажите, следует ли использовать эластичный пул SQL. Дополнительные сведения см. в документации по эластичным пулам SQL.

  5. Выберите тип среды, в которой должна быть включена рабочая нагрузка. Это позволит определить вычислительные ресурсы и хранилище, а также рекомендации по избыточности резервных копий для вашей рабочей нагрузки.

  6. Перейдите на вкладку "Сеть" , чтобы настроить параметры сети , на котором показано, как создать сервер для базы данных.

  7. На вкладке "Сеть" выберите метод подключения, политику подключения и параметры зашифрованного подключения. Затем перейдите на вкладку "Далее ", чтобы настроить безопасность и другие дополнительные параметры.

  8. На вкладке "Дополнительные параметры " можно указать, откуда данные должны быть источником или начинаться с пустой базы данных. В рамках этой демонстрации мы начнем с пустой базы данных.

  9. Заполните поле Параметры сортировки для пустой базы данных. В этом руководстве используйте значение по умолчанию. Дополнительные сведения о параметрах сортировки см. в этой статье.

  10. Нажмите кнопку "Далее" , чтобы назначить теги для классификации и консолидации выставления счетов для групп ресурсов. Это необязательно, но рекомендуется, если вы работаете с несколькими ресурсами и группами ресурсов.

  11. Теперь, когда вы завершили форму База данных SQL, нажмите кнопку "Далее", чтобы просмотреть и создать базу данных. После проверки нажмите кнопку "Создать". Этот шаг может занять несколько минут.

  12. На панели инструментов щелкните Уведомления, чтобы отслеживать процесс развертывания. Снимок экрана: меню

Создание правила брандмауэра для IP-адресов на уровне сервера

Служба "База данных SQL Azure" создает брандмауэр IP-адресов на уровне сервера. Он не позволяет внешним приложениям и средствам подключаться к серверу и к любой базе данных на сервере, если не создано правило брандмауэра, позволяющее пропускать их IP-адреса через брандмауэр. Чтобы разрешить внешние подключения к базе данных, необходимо сначала добавить правило брандмауэра IP-адресов, указав в нем свой IP-адрес (или диапазон IP-адресов). Выполните следующие действия, чтобы создать правило брандмауэра IP-адресов на уровне сервера.

Важно!

База данных SQL обменивается данными через порт 1433. Если вы пытаетесь подключиться к этой службе из корпоративной сети, исходящий трафик через порт 1433 может быть запрещен сетевым брандмауэром. В таком случае вы не сможете подключиться к базе данных, пока ваш администратор не откроет порт 1433.

  1. После завершения развертывания выберите " Перейти к ресурсу ", чтобы настроить параметры брандмауэра ДЛЯ IP-адресов.

  2. Выберите "Задать брандмауэр сервера " в верхнем меню. После этого откроется страница обзора базы данных, где будет указано полное имя сервера (например, contosodatabaseserver01.database.windows.net) и будут предоставлены параметры для дальнейшей настройки.

    Снимок экрана: имя сервера.

  3. Скопируйте полное имя сервера. Оно понадобится вам для подключения к серверу и связанным базам данных из SQL Server Management Studio.

    Снимок экрана: правило брандмауэра ДЛЯ IP-адресов на уровне сервера.

  4. Нажмите кнопку "Добавить текущий IPv4-адрес клиента" в разделе "Правила брандмауэра" , чтобы добавить текущий IP-адрес в новое правило брандмауэра IP-адресов. С использованием правила брандмауэра IP-адресов можно открыть порт 1433 для одного IP-адреса или диапазона IP-адресов. Затем включите службы и ресурсы Azure для доступа к этому серверу, установив флажок.

  5. Выберите команду Сохранить. Для текущего IP-адреса будет создано правило брандмауэра для IP-адресов на уровне сервера, с помощью которого можно открыть порт 1433 сервера.

  6. Вы получите сообщение об успешной настройке правила брандмауэра. После этого закройте страницу параметров брандмауэра .

Теперь IP-адрес может проходить через брандмауэр IP-адресов. Теперь можно подключиться к базе данных с помощью SQL Server Management Studio или другого средства по своему усмотрению. Обязательно используйте созданную ранее учетную запись администратора сервера.

Важно!

По умолчанию доступ через брандмауэр IP-адресов Базы данных SQL включен для всех служб Azure. На этой странице щелкните Откл. , чтобы отключить доступ для всех служб Azure.

Подключение к базе данных

Используйте Azure Data Studio , чтобы установить подключение к базе данных.

  1. Откройте Azure Data Studio.

  2. В разделе "Новое подключение" из обозреватель объектов создайте новое подключение и введите следующие сведения:

    Параметр Рекомендуемое значение Описание
    Тип подключения Microsoft SQL Server Это значение обязательно.
    Имя сервера Полное имя сервера Например, yourserver.database.windows.net.
    Тип проверки подлинности Имя для входа SQL В рамках работы с этим руководством мы настроили только один тип проверки подлинности — проверку подлинности SQL.
    Имя входа Учетная запись администратора сервера Это учетная запись, указанная при создании сервера.
    Пароль Пароль для учетной записи администратора сервера Пароль, указанный при создании сервера.

    Снимок экрана: диалоговое окно подключения в ADS.

  3. Нажмите кнопку Соединить. Окно обозреватель объектов откроется в ADS.

  4. В обозревателе объектов разверните Базы данных, а затем выберите yourDatabase, чтобы просмотреть объекты в образце базы данных.

    Снимок экрана: обозреватель объектов в ADS.

Создание таблиц в базе данных

Создайте схему базы данных с четырьмя таблицами, которые моделировают систему управления учащимися для университетов с помощью конструктора таблиц:

  • Модель Person
  • Курс
  • Студент
  • Материалы

На приведенной ниже схеме показано, как эти таблицы связаны друг с другом. Некоторые из этих таблиц ссылаются на столбцы в других таблицах. Например, таблица Student ссылается на столбец PersonId таблицы Person. Изучите схему, чтобы понять, как таблицы в этом руководстве связаны друг с другом. Подробные сведения о создании эффективных таблиц баз данных см. в этой статье. Дополнительные сведения о выборе типов данных см. в этой статье.

Снимок экрана: связи между таблицами.

  1. В обозреватель объектов щелкните yourDatabase, который разворачивает раскрывающееся меню всех процессов, хранящихся в этой базе данных, щелкните правой кнопкой мыши папку "Таблицы" и выберите "Создать таблицу". Откроется пустой конструктор таблиц, подключенный к базе данных.

  2. Используйте интерфейс конструктора таблиц для создания этих четырех таблиц в базе данных. Дополнительные сведения о создании таблиц с помощью конструктора таблиц см. в документации по конструктору таблиц :

    • Снимок экрана: таблица Person в конструкторе таблиц.

      Не забудьте настроить параметры первичного ключа для таблицы person , как показано ниже : снимок экрана: таблица person в конструкторе таблиц с параметрами первичного ключа.

    • Снимок экрана: таблица учащихся в конструкторе таблиц.

      Не забудьте настроить параметры первичного ключа для таблицы учащихся , как показано ниже : снимок экрана: таблица учащихся в конструкторе таблиц с параметрами первичного ключа.

      Не забудьте настроить параметры внешнего ключа для таблицы учащихся , как показано ниже : снимок экрана: таблица учащихся в конструкторе таблиц с параметрами внешнего ключа.

    • Снимок экрана: таблица курсов в конструкторе таблиц.

      Не забудьте настроить параметры первичного ключа для таблицы курсов , как показано ниже : снимок экрана: таблица курсов в конструкторе таблиц с параметрами первичного ключа.

    • Снимок экрана: таблица "Кредитная таблица

      Не забудьте настроить параметры внешнего ключа для кредитной таблицы, как показано ниже: снимок экрана: таблица кредитов в конструкторе таблиц с параметрами внешнего ключа.

      Не забудьте настроить параметры проверочного ограничения для таблицы кредитоспособности , как показано ниже : снимок экрана: таблица

  3. В разделе yourDatabase в обозревателе объектов разверните узел Tables, чтобы просмотреть созданные таблицы.

    Снимок экрана: созданные таблицы в ADS.

Загрузка данных в таблицу

  1. В папке загрузок создайте папку с именем sampleData для хранения примеров данных базы данных.

  2. Щелкните правой кнопкой мыши приведенные ниже ссылки и сохраните их в папку sampleData.

  3. Откройте окно командной строки и перейдите в папку sampleData.

  4. Выполните приведенные ниже команды, которые вставляют пример данных в таблицы. Укажите значения для сервера, базы данных, пользователя и пароля, соответствующие вашей среде.

    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 ","
    

Итак, вы загрузили пример данных в созданные ранее таблицы.

Данные запросов

Чтобы извлечь сведения из таблиц базы данных, выполните приведенные ниже запросы. Дополнительные сведения о создании запросов SQL см. в этой статье. Первый запрос объединяет четыре таблицы для поиска студентов, которые посещают занятия у преподавателя Dominick Pope и оценки которых выше 75 %. Второй запрос объединяет четыре таблицы и находит курсы, на которые когда-либо записывался Noe Coleman.

  1. В обозреватель объектов Azure Data Studio щелкните правой кнопкой мыши подключение к серверу, а затем выберите "Создать запрос", чтобы открыть окно запроса. Затем выполните следующие запросы:

    -- 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
    
  2. В окне запроса выполните такой запрос:

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

Дальнейшие действия

В этом руководстве вы узнали множество основных задач базы данных. Вы ознакомились с выполнением следующих задач:

  • создать базу данных с помощью портала Azure*;
  • настроить правила брандмауэра на уровне сервера с помощью портала Azure;
  • Подключение к базе данных с помощью Azure Data Studio
  • Создание таблиц с помощью Azure Data Studio
  • выполнить массовую загрузку данных с помощью BCP;
  • Запрос данных с помощью Azure Data Studio

Дополнительные сведения о проектировании базы данных с помощью Visual Studio и C# см. в следующем руководстве.