Создание базы данных SQL Azure на портале AzureCreate an Azure SQL database in the Azure portal. Создание sql сервера


Создание строки подключения и работа с SQL Server LocalDB

  • 10/17/2013
  • Время чтения: 4 мин
  • Соавторы

In this article

по Рик Андерсонby Rick Anderson

Создание строки подключения и работа с SQL Server LocalDBCreating a Connection String and Working with SQL Server LocalDB

MovieDBContext Созданный класс обрабатывает задачи подключения к базе данных и сопоставления Movie объектов для записи базы данных.The MovieDBContext class you created handles the task of connecting to the database and mapping Movie objects to database records. Один вопрос, на который вы можете спросить, однако, как указать базу данных, которая подключается к.One question you might ask, though, is how to specify which database it will connect to. Вы фактически нет необходимости указывать базу данных использовать, Entity Framework по умолчанию будет использовать LocalDB.You don't actually have to specify which database to use, Entity Framework will default to using LocalDB. В этом разделе мы будем явно добавить строку подключения в Web.config файл приложения.In this section we'll explicitly add a connection string in the Web.config file of the application.

SQL Server Express LocalDBSQL Server Express LocalDB

LocalDB — это облегченная версия SQL Server Express Database Engine, запускаемая по запросу и работает в пользовательском режиме.LocalDB is a lightweight version of the SQL Server Express Database Engine that starts on demand and runs in user mode. LocalDB выполняется в специального режима выполнения SQL Server Express, которая позволяет работать с базами данных как .mdf файлов.LocalDB runs in a special execution mode of SQL Server Express that enables you to work with databases as .mdf files. Как правило, хранятся файлы базы данных LocalDB в приложения_данных папку веб-проекта.Typically, LocalDB database files are kept in the App_Data folder of a web project.

SQL Server Express не рекомендуется для использования в рабочей среде веб-приложений.SQL Server Express is not recommended for use in production web applications. LocalDB в частности не следует для рабочей среды веб-приложению, так как он не предназначен для работы со службами IIS.LocalDB in particular should not be used for production with a web application because it is not designed to work with IIS. Тем не менее базу данных LocalDB можно легко перенести в SQL Server или SQL Azure.However, a LocalDB database can be easily migrated to SQL Server or SQL Azure.

В Visual Studio 2017 LocalDB устанавливается по умолчанию с помощью Visual Studio.In Visual Studio 2017, LocalDB is installed by default with Visual Studio.

По умолчанию, Entity Framework ищет строку подключения с именем, так же, как класс контекста объекта (MovieDBContext для этого проекта).By default, the Entity Framework looks for a connection string named the same as the object context class (MovieDBContext for this project). Дополнительные сведения см. в разделе строки подключения SQL Server для веб-приложений ASP.NET.For more information see SQL Server Connection Strings for ASP.NET Web Applications.

Откройте корневой каталог приложения Web.config файл, показанный ниже.Open the application root Web.config file shown below. (Не Web.config файл представления папки.)(Not the Web.config file in the Views folder.)

Найти <connectionStrings> элемент:Find the <connectionStrings> element:

Добавьте следующую строку подключения для <connectionStrings> элемент в Web.config файл.Add the following connection string to the <connectionStrings> element in the Web.config file.

<add name="MovieDBContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Movies.mdf" providerName="System.Data.SqlClient" />

В следующем примере показано часть Web.config файл с добавить новую строку подключения:The following example shows a portion of the Web.config file with the new connection string added:

<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie-fefdc1f0-bd81-4ce9-b712-93a062e01031;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcMovie-fefdc1f0-bd81-4ce9-b712-93a062e01031.mdf" providerName="System.Data.SqlClient" /> <add name="MovieDBContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Movies.mdf" providerName="System.Data.SqlClient" /> </connectionStrings>

Две строки подключения, очень похожи.The two connection strings are very similar. Первая строка подключения имеет имя DefaultConnection и используется для базы данных членства для контроля пользователей, которые могут работать с приложением.The first connection string is named DefaultConnection and is used for the membership database to control who can access the application. В строке подключения, вы добавили указан с именем базы данных LocalDB Movie.mdf в приложения_данных папки.The connection string you've added specifies a LocalDB database named Movie.mdf located in the App_Data folder. Мы не использовать базы данных членства в этом руководстве, Дополнительные сведения о членстве, проверка подлинности и безопасности, см. в разделе my руководства Создание приложения ASP.NET MVC с проверкой подлинности и база данных SQL и развертывание в службе приложений Azure.We won't use the membership database in this tutorial, for more information on membership, authentication and security, see my tutorial Create an ASP.NET MVC app with auth and SQL DB and deploy to Azure App Service.

Имя строки подключения должно соответствовать имя DbContext класса.The name of the connection string must match the name of the DbContext class.

using System; using System.Data.Entity; namespace MvcMovie.Models {     public class Movie     {         public int ID { get; set; }         public string Title { get; set; }         public DateTime ReleaseDate { get; set; }         public string Genre { get; set; }         public decimal Price { get; set; }     }     public class MovieDBContext : DbContext     {         public DbSet<Movie> Movies { get; set; }     } }

Вам не нужен добавить MovieDBContext строку подключения.You don't actually need to add the MovieDBContext connection string. Если не указать строку подключения, Entity Framework создаст базу данных LocalDB в каталоге пользователи с полным именем из DbContext класса (в данном случае MvcMovie.Models.MovieDBContext).If you don't specify a connection string, Entity Framework will create a LocalDB database in the users directory with the fully qualified name of the DbContext class (in this case MvcMovie.Models.MovieDBContext). Вы можно назвать базы данных вам нравится, до тех пор, пока он имеет . MDF суффикс.You can name the database anything you like, as long as it has the .MDF suffix. Например, можно назвать базе MyFilms.mdf.For example, we could name the database MyFilms.mdf.

Далее предстоит создать новый MoviesController класс, который можно использовать для отображения данных фильма и разрешить пользователям создавать новые вхождения фильма.Next, you'll build a new MoviesController class that you can use to display the movie data and allow users to create new movie listings.

docs.microsoft.com

Создание учетной записи в SQL Server / Ёлпер

Для разграничения прав доступа и привилегий, в SQL Server можно создавать учетные записи, используя которые, пользователи смогут подключаться к серверу. В данном ёлпере показано, как в SQL Server 2008 создать пользователя с логином и паролем, и разрешить подключаться к определенной базе данных.

Обратите внимание, все описанные действия производить нужно на сервере, с правами Администратора. Если вы не имеете физического доступа к серверу (SQL Server), либо доступа через удаленный рабочий стол, или же права вашей учетной записи не позволяют управлять пользователями, в том числе создавать новых пользователей, то вы не сможете самостоятельно решить рассмотренный здесь вопрос. Если так, то обратитесь за помощью к вашему системному администратору.

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

Запустите Microsoft SQL Server Management Studio и подключитесь к серверу.

В списке «Обозреватель объектов» (если не отображается, нажмите клавишу F8) откройте папку «Безопасность». Кликните правой кнопкой мышки по папке «Имена входа», в появившемся меню выберите «Создать имя входа...».

В появившемся окне, в поле «Имя входа» укажите логин. Например: «yolper» (без кавычек). Затем выберите тип проверки подлинности. По умолчанию стоит «Проверка подлинности Windows», это означает, что при подключении к SQL Server будет использоваться учетная запись Windows. Как правило, на удаленных серверах подобный метод не используется. Выберите «Проверка подлинности SQL Server». В разделе «Пароль», укажите любой пароль, главное запишите его, чтобы в последующем передать пользователю. Если пароль будет утерян, его в любое время можно будет поменять.

Обязательно оставьте включенной опцию «Требовать использование политики паролей». Остальные опции: «Задать срок ограничения пароля» и «Пользователь должен сменить пароль при следующем входе», используйте по своему усмотрению, но обычно их отключают, чтобы не создавать лишних проблем при подключении к серверу.

В этом же окне, в самом низу, выберите базу данных по умолчанию. Именно эта база будет открываться после подключения пользователя к серверу. Нажмите «Ok», чтобы создать учетную запись.

Учётная запись создана, но это еще не всё. Теперь нужно связать учётную запись с таблицами. На самом деле это можно было сделать при создании учётной записи, однако на момент написания этого ёлпера, SQL Server 2008 почему-то отказывался запоминать связь создаваемой учётной записи с таблицами (в 2005 такого глюка не наблюдалось).

Чтобы связать учётную запись с конкретными таблицами и определить права пользователя, разверните папку «Имена входа» в обозревателе объектов. Найдите созданную учётную запись в списке и кликните по ней правой кнопкой мышки, выберите меню «Свойства».

В появившемся окне перейдите в раздел «Сопоставление пользователей». В верхнем списке отметьте таблицы, с которыми можно будет работать при помощи этой учётной записи. В нижнем списке выберите права. Обычно достаточно «db_owner».

После этого нажмите на кнопку «Ok». Теперь можно использовать созданную учётную запись для доступа к SQL Server.

yolper.ru

MS SQL Server и T-SQL

Создание базы данных

Последнее обновление: 26.06.2017

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

  • Таблицы: хранят собственно данные

  • Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы

  • Хранимые процедуры: выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)

  • Функции: также код SQL, который выполняет определенную задачу

В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.

Системные базы данных

В MS SQL Server по умолчанию создается четыре системных баз данных:

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

  • model: эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.

  • msdb: хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.

  • tempdb: эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.

Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases:

Эти базы данных не следует изменять, за исключением бд model.

Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.

Создание базы данных в SQL Management Studio

Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases. Затем в появившемся контекстном меню выберем пункт New Database:

После этого нам открывается окно для создания базы данных:

В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university.

Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение <defult>, то есть владельцем будет тот, кто создает эту базу данных. Оставим это поле без изменений.

Далее идет таблица для установки общих настроек базы данных. Она содержит две строки - первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:

  • Logical Name: логическое имя, которое присваивается файлу базы данных.

  • File Type: есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)

  • Filegroup: обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.

  • Initial Size (MB): устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).

  • Autogrowth/Maxsize: при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.

  • Path: каталог, где будут храниться базы данных.

  • File Name: непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.

После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.

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

metanit.com

Портал Azure: создание базы данных SQL

  • 09/07/2018
  • Время чтения: 9 мин
  • Соавторы

In this article

В этом кратком руководстве описано, как создать базу данных SQL на портале Azure с помощью покупательской модели на основе DTU.This quickstart walks through how to create a SQL database in Azure using the DTU-based purchasing model. База данных SQL Azure — это база данных как услуга, которая позволяет запускать и масштабировать высокодоступные базы данных SQL Server в облаке.Azure SQL Database is a “Database-as-a-Service” offering that enables you to run and scale highly available SQL Server databases in the cloud. В этом кратком руководстве описано, как создать базу данных SQL и отправлять запросы к ней с помощью портала Azure.This quickstart shows you how to get started by creating and then querying a SQL database using the Azure portal.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

Войдите на портал Azure.Log in to the Azure portal

Войдите на портале Azure.Sign in to the Azure portal.

Создание базы данных SQLCreate a SQL database

База данных Azure SQL создается с определенным набором вычислительных ресурсов и ресурсов хранения.An Azure SQL database is created with a defined set of compute and storage resources. База данных создается в пределах группы ресурсов Azure и логического сервера базы данных SQL Azure.The database is created within an Azure resource group and in an Azure SQL Database logical server.

Выполните следующие действия, чтобы создать базу данных SQL, содержащую образец данных Adventure Works LT.Follow these steps to create a SQL database containing the Adventure Works LT sample data.

  1. Щелкните Создать ресурс в верхнем левом углу окна портала Azure.Click Create a resource in the upper left-hand corner of the Azure portal.

  2. Выберите Базы данных на странице Создание и щелкните Создать в разделе База данных SQL на странице Создание.Select Databases from the New page, and select Create under SQL Database on the New page.

  3. Заполните форму базы данных SQL, указав следующую информацию, как показано на предыдущем рисунке.Fill out the SQL Database form with the following information, as shown on the preceding image:

    ПараметрSetting       Рекомендуемое значениеSuggested value ОПИСАНИЕDescription 
    Database name (Имя базы данных)Database name mySampleDatabasemySampleDatabase Допустимые имена баз данных см. в статье об идентификаторах базы данных.For valid database names, see Database Identifiers.
    ПодпискаSubscription Ваша подпискаYour subscription Дополнительные сведения о подписках см. здесь.For details about your subscriptions, see Subscriptions.
    Группа ресурсовResource group myResourceGroupmyResourceGroup Допустимые имена групп ресурсов см. в статье о правилах и ограничениях именования.For valid resource group names, see Naming rules and restrictions.
    Выбрать источникSelect source Пример (AdventureWorksLT)Sample (AdventureWorksLT) Загружает схему и данные AdventureWorksLT в новую базу данныхLoads the AdventureWorksLT schema and data into your new database

    Важно!

    Необходимо выбрать пример базы данных в этой форме, так как она используется в оставшейся части этого руководства.You must select the sample database on this form because it is used in the remainder of this quickstart.

  4. В разделе Сервер щелкните Настроить необходимые параметры и заполните форму SQL Server (логический сервер), указав следующую информацию, как показано на указанном ниже изображении.Under Server, click Configure required settings and fill out the SQL server (logical server) form with the following information, as shown on the following image:

    ПараметрSetting       Рекомендуемое значениеSuggested value ОПИСАНИЕDescription 
    Server name (Имя сервера)Server name Любое глобально уникальное имяAny globally unique name Допустимые имена серверов см. в статье о правилах и ограничениях именования.For valid server names, see Naming rules and restrictions.
    Имя для входа администратора сервераServer admin login Любое допустимое имяAny valid name Допустимые имена входа см. в статье об идентификаторах базы данных.For valid login names, see Database Identifiers.
    ПарольPassword Любой допустимый парольAny valid password Длина пароля должна составлять минимум 8 символов. Пароль должен содержать символы трех категорий из перечисленных: прописные буквы, строчные буквы, цифры и символы, не являющиеся буквами или цифрами.Your password must have at least 8 characters and must contain characters from three of the following categories: upper case characters, lower case characters, numbers, and non-alphanumeric characters.
    ПодпискаSubscription Ваша подпискаYour subscription Дополнительные сведения о подписках см. здесь.For details about your subscriptions, see Subscriptions.
    Группа ресурсовResource group myResourceGroupmyResourceGroup Допустимые имена групп ресурсов см. в статье о правилах и ограничениях именования.For valid resource group names, see Naming rules and restrictions.
    Местоположение.Location Любое допустимое расположениеAny valid location Дополнительные сведения о регионах Azure см. здесь.For information about regions, see Azure Regions.

    Важно!

    Указанные здесь учетные данные и пароль администратора сервера понадобятся позже в этом руководстве, чтобы войти на сервер и в его базу данных.The server admin login and password that you specify here are required to log in to the server and its databases later in this quickstart. Запомните или запишите эту информацию для последующего использования.Remember or record this information for later use.

  5. Заполнив форму, щелкните Выбрать.When you have completed the form, click Select.

  6. Щелкните Ценовая категория, чтобы указать уровень службы, число DTU и объем хранилища.Click Pricing tier to specify the service tier, the number of DTUs, and the amount of storage. Изучите доступные ресурсы для каждого уровня служб (число DTU и объем хранилища).Explore the options for the amount of DTUs and storage that is available to you for each service tier.

    Важно!

    Хранилище категории "Премиум" объемом свыше 1 ТБ сейчас доступно во всех регионах, кроме следующих: северная часть Соединенного Королевства, центрально-западная часть США, южная часть Соединенного Королевства 2, Восточный Китай, центральный регион US DoD, Центральная Германия, восточный регион US DoD, юго-западный регион US Gov, юго-центральный регион US Gov, Северо-Восточная Германия, Северный Китай, восточный регион US Gov.More than 1 TB of storage in the Premium tier is currently available in all regions except the following: UK North, West Central US, UK South3, China East, USDoDCentral, Germany Central, USDoDEast, US Gov Southwest, US Gov South Central, Germany Northeast, China North, US Gov East. В других регионах максимальный объем хранилища уровня "Премиум" равен 1 ТБ.In other regions, the storage max in the Premium tier is limited to 1 TB. См. текущие ограничения для баз данных P11–P15.See P11-P15 Current Limitations.

  7. Для работы с этим кратким руководством укажите уровень служб Стандартный, а затем с помощью ползунка выберите 10 DTU (S0) и 1 ГБ хранилища.For this quickstart, select the Standard service tier and then use the slider to select 10 DTUs (S0) and 1 GB of storage.

  8. Примите условия использования предварительной версии, чтобы использовать дополнительное хранилище.Accept the preview terms to use the Add-on Storage option.

    Важно!

    Хранилище категории "Премиум" объемом свыше 1 ТБ сейчас доступно во всех регионах, кроме следующих: центрально-западная часть США, Восточный Китай, центральный регион US DoD, штат Айова US Gov, Центральная Германия, восточный регион US DoD, юго-западный регион US Gov, Северо-Восточная Германия, Северный Китай.More than 1 TB of storage in the Premium tier is currently available in all regions except the following: West Central US, China East, USDoDCentral, USGov Iowa, Germany Central, USDoDEast, US Gov Southwest, Germany Northeast, China North. В других регионах максимальный объем хранилища уровня "Премиум" равен 1 ТБ.In other regions, the storage max in the Premium tier is limited to 1 TB. См. текущие ограничения для баз данных P11–P15.See P11-P15 Current Limitations.

  9. Выбрав уровень сервера, число DTU и объем хранилища, нажмите кнопку Применить.After selecting the server tier, the number of DTUs, and the amount of storage, click Apply.

  10. Заполнив форму базы данных SQL, нажмите кнопку Создать, чтобы подготовить базу данных.Now that you have completed the SQL Database form, click Create to provision the database. Подготовка занимает несколько минут.Provisioning takes a few minutes.

  11. На панели инструментов щелкните Уведомления, чтобы отслеживать процесс развертывания.On the toolbar, click Notifications to monitor the deployment process.

Отправка запросов к базе данных SQLQuery the SQL database

После создания примера базы данных в Azure можно воспользоваться встроенным средством запроса на портале Azure, чтобы убедится, что вы сможете подключиться к базе данных и выполнить запрос данных.Now that you have created a sample database in Azure, let’s use the built-in query tool within the Azure portal to confirm that you can connect to the database and query the data.

  1. На странице Базы данных SQL в меню слева выберите Редактор запросов (предварительная версия) и щелкните Войти.On the SQL Database page for your database, click Query editor (preview) in the left-hand menu and then click Login.

  2. Выберите аутентификацию SQL Server, укажите необходимые учетные данные и нажмите кнопку ОК, чтобы выполнить вход.Select SQL server authentication, provide the required login information, and then click OK to log in.

  3. После того как вы пройдете проверку подлинности как администратор сервера, в области редактора запросов введите следующий запрос.After you are authenticated as ServerAdmin, type the following query in the query editor pane.

    SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM SalesLT.ProductCategory pc JOIN SalesLT.Product p ON pc.productcategoryid = p.productcategoryid;
  4. Щелкните Выполнить и просмотрите результаты запроса в области Результаты.Click Run and then review the query results in the Results pane.

  5. Закройте страницу редактора запросов, нажмите кнопку ОК, чтобы отменить несохраненные изменения.Close the Query editor page, click OK to discard your unsaved edits.

Очистка ресурсовClean up resources

Сохраните эти ресурсы, если вы планируете перейти к дальнейшим действиям и узнать о различных методах подключения к базе данных и отправки запросов к ней.Save these resources if you want to go to Next steps and learn how to connect and query your database using a number of different methods. Если вы все-таки решите удалить ресурсы, созданные в этом кратком руководстве, выполните следующие действия.If, however, you wish to delete the resources that you created in this quickstart, use the following steps.

  1. В меню слева на портале Azure щелкните Группы ресурсов, а затем выберите myResourceGroup.From the left-hand menu in the Azure portal, click Resource groups and then click myResourceGroup.
  2. На странице группы ресурсов щелкните Удалить, в текстовом поле введите myResourceGroup и щелкните Удалить.On your resource group page, click Delete, type myResourceGroup in the text box, and then click Delete.

Дополнительная информацияNext steps

  • Теперь, когда вы у вас есть база данных, нужно создать правило брандмауэра на уровне сервера, чтобы подключаться к базе данных из локальных средств.Now that you have a database, you need to create a server-level firewall rule to connect to it from your on-premises tools. Дополнительные сведения см. в статье о создании правила брандмауэра на уровне сервера.See Create server-level firewall rule
  • Создав это правило, вы сможете подключиться и отправить запрос, используя одно из привычных средств или языков, в том числе:If creating a server-level firewall rule, you can connect and query using one of your favorite tools or languages, including
  • Чтобы создать базу данных с помощью Azure CLI, ознакомьтесь с примерами сценариев Azure CLI.To create databases using Azure CLI, see Azure CLI samples
  • Чтобы создать базу данных с помощью Azure PowerShell, ознакомьтесь с примерами сценариев Azure PowerShellTo create databases using Azure PowerShell, see Azure PowerShell samples

docs.microsoft.com

Лабораторная работа №1

NO:user READ:@ALL EDIT:@ALL

Цели:

  • Изучение основных конструкций структурированного языка запросов SQL.

  • Изучения среды MS SQL Server Management Studio.

  • Приобретение навыков проектирования структур данных.

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

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

Результатом лабораторной работы будет создание реляционной базы данных на основе MS SQL Server 2005.

В реляционной базе данных данные представлены в виде собрания таблиц. Таблица состоит из определенного числа столбцов (полей) и произвольного числа строк (записей).

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

- Speciality (специальность)- Course (курс) - Group (группа) - Discipline (дисциплина) - Account (тип отчетности) - Mark (отметка) - Status (академический статус студента) - Position (должность) - People (люди) - Student (студент) - Teacher (преподаватель) - SemesterResults (результаты сессии, семестра)

Структура данных таблиц приведена в Приложении.

1. Начало работы в Microsoft SQL Server Management Studio

Для создания баз данных используем среду Microsoft SQL Server Management Studio. На запрос соединения с сервером выбираем (рис. 1):

Тип сервера: Компонент Database Engine

Имя сервера: SQL-MS.

Под таким именем в домене fizmat.vspu.ru. доступна машина, на которой установлены серверные компоненты MS SQL Server 2005. Можно попробовать выбрать сервер из выпадающего списка серверов. Можно также обратиться к этой машине по IP-адресу 192.168.10.152 из локальной сети.

Проверка подлинности: Проверка подлинности SQL Server.

Такая настройка позволяет создавать пользователей данного экземпляра SQL Server независимо от компьютера, с которого производится вход.

Имя входа: studentMBS21.

Пароль: student.

Рисунок 1. Окно входа в Microsoft SQL Server Management Studio 2005

Примечание. Пользователь studentMBS21 обладает большими полномочиями на этом сервере, поэтому пользоваться им надо очень аккуратно. Под этим пользователем мы создадим базу данных, а заполнять её и производить поиск по ней мы будем под другими пользователями. Предпочтительнее всего использовать свою учетную запись в домене fizmat.vspu.ru. В этом случае надо выбирать проверку подлинности Windows.

Теперь нажимаем кнопку «Параметры» и выбираем (рис. 2):

Соединение с базой данных → Обзор сервера… → Пользовательские базы данных → trial_base.

Сетевой протокол → TCP/IP

Нажимаем кнопку «Соединить».

Рисунок 2. Окно входа в Microsoft SQL Server Management Studio 2005 (вкладка Параметры)

Примечание. База данных trial_base является базой данной по умолчанию для пользователя studentMBS21, она была создана при регистрации этого пользователя. В случае, когда права доступа пользователя не ограничены (как в рассматриваемом случае), вкладку Параметры можно не открывать. Если же пользователь имеет доступ только к определенным базам данных, при подключении к серверу нужно одну из этих баз указывать.

После успешного соединения с базой данных на экране видим следующую картинку (рис. 3):

Рисунок 3. Подключение к SQL - серверу установлено

Среда MS SQL Management Studio предоставляет удобный инструментарий для создания, редактирования, заполнения баз данных. Но настоящие профессионалы в своей работе редко пользуются этой средой, а для выполнения своих задач используют SQL-запросы. Мы будем пользоваться, когда это удобно и наглядно, графическим режимом, но основной упор будем делать на освоении базы языка SQL.

2. Создание базы данных в среде Microsoft SQL Server Management Studio

В разделе «Базы данных» правой кнопкой выбираем «Создать базу данных…» (рис. 4). Назовем базу данных по индексу группы – mbs21. Владельцем базы данных назначим пользователя, под именем которого был произведен вход – studentMBS21. В разделе «Параметры» выбираем тип сортировки Cyrillic_General_BIN (для примера), нажимаем ОК.

Рисунок 4. Создание базы данных

В разделе «Базы данных» Обозревателя объектов появилась вновь созданная mbs21 (проверьте!):

Рисунок 5. Обозреватель объектов

3. Создание таблиц базы данных в среде Microsoft SQL Server Management Studio

Начнем с создания таблицы Speciality. Структура таблицы приведена ниже:

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет

В реляционных базах данных первичный ключ используется как уникальный идентификатор записи. Это поле является обязательным, оно используется для связи таблиц по внешним ключам (примеры такого связывания будут рассмотрены далее). Первичный ключ должен иметь целочисленный тип (в данном случае - int). Во втором поле будет храниться название специальности - некоторая строка, поэтому мы выбираем для этого поля тип varchar(60). Число в скобках означает максимальное число символов в строке. Детальную информацию об этих типах можно посмотреть в справке.

Простейшим образом можно создавать таблицы средствами MS SQL Server Management Studio (правая кнопка мыши на заголовке «Таблицы» > Создать таблицу.). Получаем следующее:

Рисунок 6. Создание таблицы

Вводим имя первого столбца Num (первичный ключ – в том столбце хранится номер записи), выбираем из выпадающего списка тип данных int. Первичный ключ не может быть пустым, поэтому и оставляем неотмеченным поле «Разрешить значения null». Затем аналогичным образом вводим имя второго столбца, задаем тип, запрещаем полю иметь значение null. Таблица принимает следующий вид:

Рисунок 7.

Теперь необходимо указать, что поле Num будет являться первичным ключом. Правой кнопкой мыши щелкаем по этому полю и выбираем «Задать первичный ключ»:

Рисунок 8.

Сохраняем таблицу под именем Speciality (после этого таблица должна появиться в обозревателе объектов). Теперь можно перейти к заполнению этой таблицы (для этого нужно в обозревателе объектов выбрать эту таблицу и в контекстном меню нажать «Открыть таблицу»):

Рисунок 9.

При заполнении вы обнаружите, что каждый раз приходится вводить не только полезную информацию (название специальности), но и номер записи. Чтобы вводить номер записи автоматически, нужно задать спецификацию идентифицирующего столбца. Для этого необходимо в свойствах столбца указать, что данный столбец является идентифицирующим (рис. 10):

Рисунок 10. Определение свойств идентифицирующего столбца

4. Создание таблиц базы данных с помощью SQL-запроса

Создание таблиц в графическом режиме, безусловно, удобно, однако не универсально. При использовании других средств разработки баз данных (например, IBM DB2) придется привыкать к новым приемам работы. Использование конструкций языка SQL позволяет работать с базами данных, исходя из единого подхода, в любой среде управления базами данных.

Выберите на панели инструментов «Создать запрос»:

Рисунок 11.

Создадим новую базу данных запросом. Напишем

CREATE DATABASE mbs21_query

и нажмем F5. В обозревателе объектов должна появиться новая база (если сразу не появилась, то надо выделить мышью раздел «Базы данных» и в контекстном меню выбрать «Обновить»).

Теперь создадим таблицу Speciality. Упрощенный синтаксис создания таблиц следующий:

CREATE TABLE <имя таблицы> ( <имя столбца 1> <тип данных> [NOT NULL] [DEFAULT <значение по умолчанию>], <имя столбца 2> <тип данных> [NOT NULL] [DEFAULT <значение по умолчанию>], ... )

Введем новый запрос:

/* создание таблицы Специальность*/ USE mbs21_query -- определяем базу данных, в которую входит таблица CREATE TABLE Speciality( Num INT IDENTITY(1,1) PRIMARY KEY NOT NULL, -- первичный ключ NameSpec VARCHAR(60) -- название специальности )

В обозревателе объектов видим, что таблица действительно создана. Файл с SQL-запросом сохраняем в своей папке (в конце работы необходимо показать запросы, которые были выполнены, преподавателю). Слово IDENTITY(1,1) добавлено, чтобы поле первичного ключа Num автоматически нумеровалось начиная с единицы (фактически, эта конструкция определяет спецификацию идентифицирующего столбца).

Таким же образом необходимо создать остальные таблицы. Рассмотрим таблицу Course.

Таблица Course (курс)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет
YearEntry Год поступления int нет
YearFinal Год выпуска int да
Speciality Специальность (внешний ключ ссылается на первичный ключ таблицы Speciality) int нет

Эта таблица содержит поле Speciality, которое ссылается на первичный ключ таблицы Speciality. Чтобы создать такую таблицу, необходимо выполнить запрос:

/* создание таблицы Курс */ USE mbs21_query -- определяем базу данных, в которую входит таблица CREATE TABLE Course( Num INT IDENTITY(1,1) PRIMARY KEY NOT NULL, -- первичный ключ YearEntry INT NOT NULL, -- год поступления YearFinal INT, -- год окончания Speciality INT FOREIGN KEY REFERENCES Speciality(Num) -- специальность, -- ссылка по внешнему ключу на поле Num таблицы Speciality )

Примечание. Ссылку можно создать только на существующую таблицу. Задать ссылку по внешнему ключу можно и после создания таблицы (подробно будет рассмотрено в следующей лабораторной работе).

Задание. Создайте все остальные таблицы, указанные в Приложении, используя SQL – запросы.

Приложение. Структура данных

Таблица Speciality (специальность)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название varchar(60) Нет

Таблица Course (курс)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет
YearEntry Год поступления int нет
YearFinal Год выпуска int да
Speciality Специальность (внешний ключ ссылается на первичный ключ таблицы Speciality) int нет

Таблица Group (группа)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int нет
Name Название специальности varchar(60) нет
Course Курс (внешний ключ ссылается на первичный ключ таблицы Course ) int нет

Таблица Discipline (дисциплина)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: программирование, алгебра…) varchar(60) Нет

Таблица Account (тип отчетности)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: экзамен, зачет, дифференцированный зачет…) varchar(30) Нет

Таблица Mark (отметка)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: зачтено, не зачтено, отлично, хорошо…) varchar(30) Нет
Value Значение (возможные значения: 0, 1, …, 5) int Нет

Таблица Status (академический статус студента)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: обучается, отчислен, в академическом отпуске, в отпуске по уходу за ребенком)varchar(60) Нет

Таблица Position (должность)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Name Название (возможные значения: ассистент, старший преподаватель, доцент…) varchar(60) Нет

Таблица People (люди)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
LastName Фамилия varchar(30) Нет
FirstName Имя varchar(30) Нет
MiddleName Отчество varchar(30) Да
Male Пол char(1) Нет
BrthDate День рождения datetime Да
Addr Адрес varchar(100) Да

Таблица Student (студент)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
People Человек (внешний ключ ссылается на первичный ключ таблицы People) int Нет
Group Группа (внешний ключ ссылается на первичный ключ таблицы Group) int Нет
StudNum Номер студенческого билета varchar(30) Нет
Status Академический статус студента (внешний ключ ссылается на первичный ключ таблицы Status) int Нет

Таблица Teacher (преподаватель)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ (табельный номер сотрудника) int Нет
People Человек (внешний ключ ссылается на первичный ключ таблицы People) int Нет
Position Должность (внешний ключ ссылается на первичный ключ таблицы Position) int Нет

Таблица SemesterResults (результаты сессии)

Имя поля (столбца) Содержание Тип данных Возможность содержать NULL
Num Первичный ключ int Нет
Student Студент (внешний ключ ссылается на первичный ключ таблицы Student) int Нет
Semester Порядковый номер семестра int Нет
Account Тип отчетности (внешний ключ ссылается на первичный ключ таблицы Account) int Нет
Discipline Дисциплина (внешний ключ ссылается на первичный ключ таблицы Discipline) int Нет
Teacher Преподаватель (внешний ключ ссылается на первичный ключ таблицы Teacher) int Нет
Mark Отметка (внешний ключ ссылается на первичный ключ таблицы Mark) int Нет
Date Дата сдачи отчетности DateTime Нет

Контрольные вопросы

  • Каким образом можно получить доступ к MS SQL Server 2005?

  • С помощью каких средств можно создать таблицу для MS SQL Server 2005?

  • Что такое первичный ключ?

  • Каким образом можно создать автоматическую нумерацию строк таблицы?

  • Что означают Not Null?

 

Назад: Лабораторная работа №1

wiki.vspu.ru

Создание базы данных в MS SQL Server

Создание базы данных

Последнее обновление: 31.10.2015

Для работы с базами данных нам естественно прежде всего надо иметь какую-нибудь базу данных. В данном случае мы будем рассматривать основные концепции ADO.NET преимущественно на примере MS SQL Serverа. Поэтому вначале нам надо установить SQL Server Express. Все необходимые материалы для установки можно найти по адресу https://www.microsoft.com/en-US/download/details.aspx?id=42299. Вместе с сервером также устанавливается специальная программа SQL Server Management Studio, которая используется для управления базами данных на сервере.

Для начала создадим простейшую базу данных на MS SQL Server. Для этого откроем SQL Server Management Studio и нажмем на узел Databases правой кнопкой мыши. После этого в открывшемся контекстном меню выберем New Database:

После этого нам открывается окно для создания базы данных:

В нем в поле Database Name нам надо ввести название базы данных. Введем usersdb. Больше здесь вводить ничего не требуется, и поэтому нажмем на ОК.

После этого в узле Databases появляется новый элемент, который представляет только что созданную базу данных usersdb. Раскроем его и нажмем правой кнопкой мыши на его подузел Tables:

Затем нам открывается дизайнер таблицы:

В нем надо указать три столбца: Id, Name и Age, которые будут представлять соответственно уникальный идентификатор пользователя, его имя и возраст. У первого и третьего столбца надо указать тип int (то есть целочисленный), а у столбца Name - тип nvarchar (строковый).

Кроме того, в окне свойств таблицы в поле Name надо ввести имя таблицы - Users, а в поле Identity ввести Id, то есть тем самым указывая, что столбец Id будет идентификатором.

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

После этого нажмем на сохранение и затем на клавишу F5 (обновление), и в узле нашей базы данных появится новая таблица, которая будет называться dbo.Users:

Итак, мы создали базу данных и таблицу, которые будут выполнять функции по хранению данных. И теперь мы можем использовать инфраструктуру ADO.NET для подключения к ним.

metanit.com

Создание и определение модульных тестов SQL Server

Эта документация перемещена в архив и не поддерживается.

Эта документация перемещена в архив и не поддерживается.

 

Модульные тесты SQL Server выполняются для проверки изменений, внесенных в один или несколько объектов базы данных из схемы на предмет нарушения существующей функциональности приложения, работающего с базы данных.Эти тесты дополняют модульные тесты, создаваемые разработчиками вашего ПО.Чтобы проверить поведение приложения, необходимо выполнять тесты обоих этих видов.

Поведение любого объекта схемы проверяется путем добавления модульного теста SQL Server и добавления скрипта Transact-SQL для тестирования этого объекта.Также можно автоматически сформировать заглушку Transact-SQL-скрипта, если нужно проверить поведение определенной функции, триггера или хранимой процедуры.Для получения значимых результатов после формирования заглушки ее следует изменить.

Примечание

Можно создать пустой тест, добавить к нему код и запустить его, не имея открытого проекта базы данных SQL Server.Но нельзя автоматически сформировать Transact-SQL-заглушку для тестирования функции, триггера или хранимой процедуры, не открывая проект, содержащий тестируемый объект.

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

Общие задачи

Вспомогательное содержимое

Получите опыт практической работы. Можно выполнить вводное пошаговое руководство, чтобы ознакомиться с процессом создания и запуска простого модульного теста SQL Server.

Подробные сведения о модульных тестах SQL Server. Ознакомьтесь с описанием файлов и скриптов, из которых состоит модульный тест SQL Server.Также вы можете узнать об использовании в модульных тестах условий теста и проверочных Transact-SQL-утверждений.

Создание одного или нескольких проектов тестов. Модульные тесты SQL Server должны создаваться в проекте тестов.Если модульный тест SQL Server создается с помощью обозревателя объектов SQL Server до создания проекта теста, то последний формируется автоматически.Можно создать несколько проектов тестов, если, например, требуется использовать различные планы формирования данных и конфигурации развертывания в разных наборах тестов.При создании проекта тестов можно задать параметры тестов (например, строку подключения), параметры развертывания и план формирования данных, которые будут использоваться для этого проекта.

Настройка выполнения модульного теста. Можно указать строку подключения к базе данных, в которой выполняются тесты, план формирования данных и параметры развертывания.Настройка этих параметров выполняется при добавлении модульного теста SQL Server в проект тестов. Их также можно изменить и позже.

Создание модульного теста SQL Server. Можно автоматически создавать заглушки кода Transact-SQL для модульных тестов SQL Server, которые проверяют поведение определенной функции, триггера или хранимой процедуры.Можно также создать пустой модульный тест SQL Server, а затем добавить к нему код Transact-SQL для тестирования других типов объектов базы данных.

Написание кода для модульного теста SQL Server. После создания модульного теста изменяется или пишется заново код Transact-SQL для тестирования объекта базы данных.Для каждого теста задается одно или несколько тестовых условий, определяющих, пройден тест или нет.Для создания более сложных тестов можно изменить код Visual Basic или Visual C# в проекте базы данных.Например, можно написать модульный тест, который выполняется в области действия одной транзакции.

Устранение проблем. Дополнительные сведения об устранении часто встречающихся проблем с модульными тестами SQL Server.

msdn.microsoft.com