Создать связи между таблицами в реляционной онлайн базе данных MyTaskHelper очень просто. Для этого командой разработчиков создана функциональность Связи.
В качестве примера используем две таблицы: Игроки и Команды. В первую таблицу добавим названия команд (а также город, рейтинг), а в таблицу Игроки - имена и их игровые номера.
Добавив все необходимые поля, в меню Формы вы найдете кнопку Связи.
Нажав на кнопку Связи, появится окно для создания связей между формами. Вам необходимо выбрать нужные веб-формы, затем указать тип связи (имеет много, имеет и принадлежит ко многим, принадлежит, имеет один) и выбрать связующие поля.
На данном примере рассмотрим следующие типы: Принадлежит (много к 1 или 1), Имеет и принадлежит ко многим (многие к многим), Имеет один (1 к 1), Имеет много (1 ко многим).
Тип связи Принадлежит
К каждой команде может принадлежать много игроков. Добавляя нового игрока, вы можете выбрать для него только одну команду, которая указана во второй форме. Поле с названиями команд будет представлено в виде выпадающего списка с возможностью выбора только одного элемента.
Каждый раз, при вводе новой записи, вы можете указать к какой команде будет принадлежать игрок.
Также можно просмотреть все записи, принадлежащие к какой-либо команде. Для этого нужно нажать на ссылку с названием команды и выбрать опцию показать все связанные записи.
Записи буду показаны в отдельной таблице, где их можно сортировать и экспортировать в Excel.
Тип связи Имеет и принадлежит ко многим
При добавлении новых записей (игроков) можно одновременно выбрать несколько команд.
Добавляя записи в базу данных "Игроки", на форме появятся записи из связующего поля веб-формы "Команды", и вы можете сразу указать команду для данного игрока.
Соответственно для формы "Команды", можно добавить записи из формы "Игроки".
В меню Записи находятся таблицы с данными для двух форм (Игроки, Команды). В каждой из таблиц появилась дополнительная колонка (поле, которое вы указали при создании связи). Для данного примера вся записи в этом поле присутствуют в виде выпадающего списка (либо команды на форме с игроками, либо наоборот).
Если в таблице в связующем поле нажать на одну из записей (например, для Андрея Шевченко, которой играет в команде Динамо), то мы увидим информацию из остальных полей для данной записи (город, рейтинг клуба Динамо) и все записи, принадлежащие к Динамо (в данном случае это игроки команды).
Тип связи Имеет один
Для данного типа связи создадим еще одну таблицу с именами тренеров команд. Имеется в виду, что у одной команды - один тренер и наоборот, у тренера только одна команда. Выбираем формы, тип связи и связующую колонку. В нашем случае форму "Тренера" мы свяжем с формой "Команды". Связующим полем у нас будет поле второй формы "Название".
При добавлении новой записи в форму "Тренера", вы можете указать название команды, к которой принадлежит данный тренер. Все записи из второй формы поля "Название" будут отображаться в виде выпадающего списка с возможностью выбора только одного элемента (названия команды).
В меню записи наша таблица "Тренера" будет выглядеть следующим образом: появится дополнительная колонка из второй формы с названиями команд.
Нажав на ссылку в таблице, переходим к данной записи.
25.09.2010 Игорь Петрушенко