ASP NET.MVC Урок 3. Работа с БДИсточник: habrahabr habrahabr
Цель урока: Изучить основные принципы работы с базой данных. Краткое описание реляционной модели баз данных. Работа с базой данных (создание таблиц, связей в VS 2012). Команды INSERT, UPDATE, DELETE, SELECT. Использование LinqToSql и Linq. Создание репозитария, IRepository, SqlRepository.
Что такое БДРеляционная база данных - база данных, основанная на реляционной модели данных. Реляционность - это отношения (связи) от англ. relation. ТаблицыЭто таблица: Таблица состоит из столбцов и строк. Столбцы имеют свойства - имя, тип данных.
Структуру таблицы можно записать в таком виде:
СвязиМежду таблицами существуют связи (relation). Для установки связи необходимо иметь следующее:
Связи бывают трех типов:
Сейчас разберемся, как это делать.
Создание простой схемы в БДСоздадим БД в VS 2012:
Назовем её LessonProject, и добавим 3 таблицы Role User и UserRole.
Для строковых значений используем тип nvarchar(n), где n - максимальная длина строки, обычно используется от 50 до 500. Для больших текстовых строк используется nvarchar(MAX). Устанавливаем первичный ключ:
Задаем для ID автоинкремент:
Подобным образом создаем таблицу User:
Создаем таблицу UserRole:
Добавим связи:
Добавляем новую связь, нажав Add. Добавление связей происходит в таблице, где находятся внешние ключи. Раскрываем вкладку Tables and Columns и выставляем таблицу с первичным ключом, и выбираем внешний ключ в текущей таблице UserRole.
В свойствах INSERT And UPDATE Specification выставляем On Update/On Delete свойства Cascade:
Это необходимо для того, чтобы при изменении/удалении столбца из таблицы Role все связанные с этой строкой строки таблицы UserRole должны быть изменены или удалены. Аналогичную связь мы устанавливаем с таблицей User. Таким образом, таблицы Role и User имеют отношения многие ко многим через таблицу UserRole. Т.е. у одного пользователя может быть больше одной роли, и одна и та же роль может быть у нескольких пользователей. |