(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

ASP NET.MVC Урок 3. Работа с БД

Источник: habrahabr
habrahabr

Цель урока: Изучить основные принципы работы с базой данных. Краткое описание реляционной модели баз данных. Работа с базой данных (создание таблиц, связей в VS 2012). Команды INSERT, UPDATE, DELETE, SELECT. Использование LinqToSql и Linq. Создание репозитария, IRepository, SqlRepository.

Что такое БД

Реляционная база данных - база данных, основанная на реляционной модели данных. Реляционность - это отношения (связи) от англ. relation.

Таблицы

Это таблица:

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

  • у таблицы есть имя (уникальное)
  • нет двух одинаковых строк
  • столбцы имеют разные наименования (нет двух одинаковых столбцов)
  • порядок строк в таблице произвольный (т.е. не надо учитывать порядок строк, если не задана сортировка)

Структуру таблицы можно записать в таком виде:

  • Имя столбца
  • Тип данных для этого столбца

Связи

Между таблицами существуют связи (relation). Для установки связи необходимо иметь следующее:

  • Первичный ключ - это набор столбцов (атрибутов) таблицы, однозначно определяющих уникальность строки. Обычно это одно поле, называется ID. Оно является автоикрементным, т.е. при попытке добавления записи, там автоматически вставляется 1, 2, 3, 4… n+1, где n - это значение последнего добавленного ID.
  • Внешний ключ - это набор столбцов (атрибутов) таблицы, которые однозначно определяют уникальность строки в другой таблице. Опять же это обычно одно поле, названное [Имя таблицы]ID. Но не является автоинкрементным.
  • Прописана связь между первичным ключом и внешним ключом.

Связи бывают трех типов:

  • Один-к-одному. Т.е. одной строке в таблице соответствует одна строка в другой таблице. Это редко используется, но используется. Например, в одной таблице данные о пользователе, а в другой - дополнительные данные о том же пользователе. Такой вариант необходим, чтобы манипулировать, по необходимости, меньшим количеством данных.
  • Один-ко-многим. Одной строк в таблице A соответствует одна или несколько строк в таблице B. Но одной строке в таблице B соответствует только одна строка в таблице A. В этом случае в таблице B существует внешний ключ, который однозначно определяет запись в таблице A.
  • Многие-ко-многим. Одной строке в таблице А соответствует одна или несколько строк в таблице В, что истинно и в обратном. В данном случае создается дополнительная таблица со своим первичным ключом, и двумя внешними ключами к таблице A и B.

Сейчас разберемся, как это делать.

Создание простой схемы в БД

Создадим БД в VS 2012:

Назовем её LessonProject, и добавим 3 таблицы Role User и UserRole.
Создадим таблицу Role:

Для строковых значений используем тип nvarchar(n), где n - максимальная длина строки, обычно используется от 50 до 500. Для больших текстовых строк используется nvarchar(MAX).

Устанавливаем первичный ключ:

Задаем для ID автоинкремент:

Подобным образом создаем таблицу User:

Поле  Тип поля 
ID int
Email nvarchar(150)
Password nvarchar(50)
AddedDate datetime
ActivatedDate datetime (null)
ActivatedLink nvarchar(50)
LastVisitDate datetime (null)
AvatarPath nvarchar(150) (null)

Создаем таблицу UserRole:

Поле  Тип поля 
ID int
UserID int
RoleID int

Добавим связи:

Добавляем новую связь, нажав Add. Добавление связей происходит в таблице, где находятся внешние ключи. Раскрываем вкладку Tables and Columns и выставляем таблицу с первичным ключом, и выбираем внешний ключ в текущей таблице UserRole.

В свойствах INSERT And UPDATE Specification выставляем On Update/On Delete свойства Cascade:

Это необходимо для того, чтобы при изменении/удалении столбца из таблицы Role все связанные с этой строкой строки таблицы UserRole должны быть изменены или удалены.

Аналогичную связь мы устанавливаем с таблицей User.

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

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 10.04.2013 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Quest Software. TOAD for Oracle Edition
Microsoft Windows Professional 10, Электронный ключ
Quest Software. SQL Navigator Professional Edition
IBM DOMINO COLLABORATION EXPRESS AUTHORIZED USER ANNUAL SW SUBSCRIPTION & SUPPORT RENEWAL
SAP® Crystal Dashboard Design Departmental 2016 WIN INTL NUL
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Программирование в AutoCAD
СУБД Oracle "с нуля"
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100