
Модель данных
Модель данных, то есть концептуальное описание предметной области — самый абстрактный уровень проектирования баз данных. Элементами описания модели данных являются сущности, атрибуты, домены и отношения.
Сущности
Сущность — это нечто такое, о чем нужно хранить информацию в разрабатываемой системе.
Например: Покупатели покупают товары. Сотрудники продают товары покупателям. Поставщики поставляют товары. Существительные «покупатели», «товары», «сотрудники» и «поставщики», будут являться сущностями.
Типы связей между сущностями
Существует несколько типов связей между двумя сущностями: этосвязи «один к одному», «один ко многим» и «многие ко многим».
Связи «один к одному». Например, одному гражданину РФ соответствует только один Индивидуальный номер налогоплательщика.
Связи «один ко многим» более часты. «В счете перечислено множество товаров», «Торговый агент выписывает много счетов» — вот примеры таких связей.
Связи «многие ко многим», хотя и не столь широко распространены, как «один ко многим», также не редкость. Например, каждый покупатель покупает разные товары, и определенные виды товаров также приобретаются разными покупателями. Преподаватели в университете читают лекции многим студентам, и каждый конкретный студент посещает лекции нескольких преподавателей. Связи «многие ко многим» невозможно непосредственно реализовать в реляционной модели, однако их косвенная реализация вполне проста и однозначна, для этого используется специальная таблица для развязки связи «многие ко многим».
Пример создания базы данных
Этап №1. Необходимо разработать модель базы данных телефонов.
Для решения поставленной задачи можно выделить две сущности: Person и Phone. У сущности Person будут следующие атрибуты: FName; SName, Age. У сущности Phone: Number. Связь между сущностями «один ко многим».
Для создания модели откроем стандартное WindowsApplication и добавим в проект новый ADO.NET Entity Data Model см. рисунок №1 и рисунок №2.
Рисунок №1
Рисунок №2
Нажимаем кнопку «Add» и в новом окне выбираем «Empty model» см. рисунок №3.
Рисунок №3.
Нажимаем кнопку «Finish».После чего появиться окно см. рисунок №4.
Рисунок 4.
На область модели кликаем правой кнопки мыши и выбираем из контекстного меню «Add» -> «Entity» см. рисунок №5.
Рисунок №5
После выбора появиться окно рисунок №6.
Рисунок №6
После настройки параметров окно должно принять вид, представленный на рисунке №7.
Рисунок №7
После подтверждения в области модели должна появиться новая сущность рисунок №8.
Рисунок №8
Добавление свойств показано на рисунках №9.
Рисунок 9
После всех изменений сущность «Person» примет вид см. рисунок №10.
Рисунок №10
Аналогичные действия проделываются для сущности «Phone».
Для того чтобы добавить связь между сущностями «Person» и «Phone» необходимо в контекстном меню, которое появиться при клике правой кнопкой мыши на сущность «Person», выбрать «Association» см. рисунок №11.
Рисунок №11
В появившемся окне сделать настройки связи см. рисунок №12.
Рисунок №12
После применения настроек у сущности «Phone» должно появиться новое свойство «PersonId» см. рисунок №13.
Рисунок №13
Сохраняем проект.
Этап №2. На основе модели данных сгенерировать скрипт DDL для создания базы данных в SQL. Для этого в рабочую область модели кликаем правой кнопкой мыши и в появившемся контекстном меню выбираем пункт « пункт «Generate Database from Model» см. рисунок №14.
Рисунок №14
После чего появится окно изображенной на рисунке №15. Нажимаем кнопку «Next» появляется окно см. рисунок 16.
Рисунок 15
Рисунок 16
Нажимаем кнопку «Finish» после чего появляется окно см. рисунок 17.
Рисунок 17
На рисунке 17 представлен DDL скрипт.
Этап №3. Создание базы данных в SQL Server Management Studio 2008 SR2 (SQL). Для создания базы данных необходимо открыть SQL и в правой части окна в «Дереве» кликнуть правой кнопкой мыши на папку «DataBase» и в контекстном меню выбираем пункт «New DataBase» см. рисунок 18.
Рисунок 18
После чего появиться окно изображенное на рисунке 19. В этом окне заполняем поле «Database Name»
Рисунок 19
Нажимаем «Ок». После чего ищем в «Дереве» новую базу данных см. рисунок 20.
Рисунок 20
Выделяем новую базу данных и нажимаем кнопку «New Query» см. рисунок 20. В появившуюся область пишем ключевое слово Select после которого вставляем DDL скрипт и нажимаем кнопку «Execute» см. рисунок 21.
Рисунок 21
Нажимаем на знак «+» и раскрываем соответствующую ветку см рисунок 22.
Рисунок 22