Гикам про технологии Microsoft





Компания Microsoft делает следующий важный шаг в развитии своего облачного предложения для российских заказчиков и объявляет о расширении возможностей приобретения сервисов Windows Azure в России, а так же продвигает технологии Windows 10, Office 365, Cortana.

Главная :: Azure


Облачные сервисы и технологии Windows Azure, SQL Azure, AppFabric и другие





NerdDinner. Шаг 2: Создание базы данных

Это второй шаг бесплатного руководства «NerdDinner», которое показывает, как построить маленькое, но полноценное веб-приложение, используя ASP.NET MVC.

Мы будем использовать базу данных, для хранения информации о Dinner и RSVP , для нашего NerdDinner приложения.

Ниже представлены шаги создания базы данных, используя бесплатную версию SQL Server Express, которую можно легко поставить через Microsoft Web Platform Installer. Весь код, который мы напишем, работает как под SQL Server Express, так и под полной версией SQL Server.

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

Мы начнем с нажатия правой кнопкой на нашем проекте в панели “Solution Explorer” и выберем Add>New Item:

clip_image001

В окне «Add New Item» отфильтруем по категории «Data» и выберем “SQL Server Database”:

clip_image002

Мы назовем базу данных «NerdDinner.mdf». Visual Studio спросит нас, хотим ли мы добавить данный файл в директорию \App_Data, которая уже создана с правами чтения и записи в ACL.

clip_image003

Мы конечно согласимся, и наша новая база будет создана и добавлена в Solution Explorer:

clip_image004

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

Теперь у нас есть пустая база данных. Давайте же создадим несколько таблиц.

Для этого, переместитесь в закладку «Solution Explorer», которая позволяет нам управлять базами данных и серверами. База SQL Server Express, хранящаяся в папке \App_Data , автоматически появится в списке Server Explorer. Мы можем воспользоваться и “Connect to Database” для подключения к локальным или удаленным базам:

clip_image005

Мы добавим две таблицы в нашу базу NerdDinner: одну для хранения ужинов, вторую для отслеживания RSVP одобрений. Мы можем создать новую таблицу, нажав правой кнопкой на папку «Tables»в нашей базе данных и выбрав пункт «Add New Table»:

clip_image006

Данное действие приведет к открытию конструктор для настройки схемы нашей таблицы. Для таблицы «Dinners» мы добавим 10 колонок:

clip_image007

Мы хотим, чтобы колонка «DinnerID» была уникальным первичным ключем для таблицы. Настроить это можно, нажав правой кнопкой по колонке «DinnerID» и выбрав пункт «Set Primary Key»:

clip_image008

Вдобавок, делая DinnerID первичным ключём, мы также хотим настроить его как «identity» колонку, чье значение автоматически увеличивается с добавлением новой строчки в таблице.

Выбрав «DinnerID» и далее, используя редактор «Column Properties», установить свойству «(Is Identity)» - “Yes”. Мы будем использовать стандартные настройки identity (начинать с 1, увеличивать на 1 с каждой новой строчкой в Dinner):

clip_image009

Далее сохраним нашу таблицу, нажав Ctrl+S или File>Save. От нас потребуется только ввести имя новой таблицы – «Dinners»:

clip_image010

Новая таблица Dinners готова и теперь отображается в списке Tables в Server Explorer нашей базы данных.

Проделаем те же шаги для создания таблицы «RSVP». Эта таблица будет состоять их 3 колонок. Установим колонку RsvpID, как первичный ключ, а также сделаем из него indetity колонку:

clip_image011

Сохраним таблицу с именем «RSVP».

Настройка внешних ключей между таблицами

У нас уже есть две таблицы в нашей базе данных. Наш последний шаг в проектировании будет создать связь «один-ко-многим» между двумя таблицами, чтобы мы могли связывать каждую строчку таблицы Dinner с 0 или более строчек таблицы RSVP. Сделаем мы это, задав колонке “DinnerID” таблицы RSVP связь через внешний ключ с колонкой «DinnerID» таблицы “Dinners”.

Для этого откроем таблицу RSVP в конструкторе таблиц двойным нажатием в Server Explorer. Далее выберем правой кнопкой колонку «DinnerID» и пункт “Relationships…”:

clip_image012

Появится окно, которое используется для настройки связей между таблицами:

Нажмем на “Add” и добавим новую связь. После добавления связи мы раскроем ветвь дерева «Tables and Column Specification» в правой части окна и нажмем на копке «…»:

clip_image013

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

clip_image014

В итоге, каждая строчка таблицы RSVP будет связана со строчкой таблицы Dinner. SQL Server будет сохранять ссылочную целостность для нас и препятствовать в добавлении новой RSVP строки, если она не указывает на существующую строку таблицы Dinner. Он будет также препятствовать удалению строки с таблицы Dinner, если существуют ссылающиеся на нее строки с таблицы RSVP.

Наполнение данными наши таблицы

Давайте закончим этот шаг добавлением данных в таблицу Dinners. Для этого, нажимаем правой кнопкой по таблице в Server Explorer и выбираем пункт “Show Table Data”:

clip_image015

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

clip_image016

Следующий шаг

Мы закончили создавать нашу базу данных. Теперь давайте создадим классы моделей, которые можно использовать для запросов и обновлений.

end of cut