C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 116 - Связи один ко многим / MSDN rus / Visual C++

Шаг 116 - Связи один ко многим

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

116_1.gif (3992 b)

Видите, одной записи гараж соответствует много записей людей. Это и есть соотношение один ко многим (1:M). Идея реализации данной связи заключается в следующем. У нас в таблице подразделения есть ключевое поле (ID) которое в данной таблице первичный ключ. На рисунке это запись с номером два. Этой записи может соответствовать много записей в таблице сотрудники. Значит в таблицу сотрудники нужно создать поле в котором будет находиться первичный ключ таблицы подразделения. Здесь некоторая обратная логика. Вроде как по нормальной житейской логике люди находятся в подразделениях. Подразделение как бы основной объект, главный, а люди второстепенный объект. Кажется, что нужно включать людей в подразделения.

116_2.gif (1470 b)

Но стоит разобраться оказывается что немного не так. Подразделение, в котором работает человек - это просто атрибут этого человека. А список подразделений - это обычная таблица классификатор, даже если в жизни она занимает главенствующее положение.

116_3.gif (1737 b)

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

116_4.gif (1674 b)

А вот результат преобразования в модель.

116_5.gif (1963 b)

Ну, и последний шаг преобразования учитывая правила нормализации.

116_6.gif (2552 b)


| |
Автор Каев Артем.
[AD]