Главная » Статьи » Разработка баз данных FileMaker |
Алгоритмы, применяемые в СУБД FileMaker.
1. Некоторые принципы имен полей в таблице базы данных, принципы имен полей. Сведения данного раздела написаны на основе опыта разработки баз данных, являются субъективным мнением автора статьи.
1.1. Обязательные поля, которые желательно иметь в каждой таблице базы.
- tp_ID - уникальный номер записи. Тип поля – Number, Auto-Enter, Serial number;
1.2. Некоторые принципы имен полей.
- tp_ID - уже говорилось выше, уникальный номер записи в таблице;
2. Использование цикла типа Loop – End Loop
2.1. Простой перебор записей в текущей таблице.
Freeze Window // логично использовать при большом числе записей для ускорения процедуры Go to Record/Request/Page [First] // переход на первую запись Loop //начало цикла Set Field [ ] // в общем случае набор операций для работы с записью … Commit Records/Requests [No dialog] // подтверждение записи Go to Record/Request/Page [Next; Exit after last] // переход на следующую запись. Выход после последней записи. End Loop
2.2. Расстановка дат и номеров в порядке увеличения.
Set Variable [$n; Value:1] // присваиваем начальное значение переменной Set Variable [$date; Value:GetAsDate ( "01.01.2010" )] // присваиваем начальное значение переменной для даты Go to Record/Request/Page [First] Loop Set Field[Таблица::tp_ID; $n] // присваиваем значение поля Set Field [Таблица::Дата; $date] // присваиваем значение поля даты Commit Records/Requests [No dialog] Set Variable [$n; Value:$n + 1] //увеличиваем значение переменной Set Variable[$date; Value:$date + 1] //увеличиваем значение переменной для даты Go to Record/Request/Page [Next; Exit after last] End Loop
2.3. Дублирование записи вместе с записями в связанной таблице.
Исходные данные: в базе имеются таблицы: Таблица и Связ_Таблица. В Связ_Таблице поле Связ_Таблица::tp_ID_Основ для связи с основной таблицей. Задача: дублировать запись в основной таблице вместе с данными в связанной таблице.
Set Variable [$n; Value:1] // устанавливаем начальное значение счетчика Go to Portal Row [Select; First] // переход на первую запись портала Loop // перебираем записи в связанной таблице, формируем массив переменных Set Variable [$pole_1[$n]; Value:Связ_Таблица::Поле_1] Set Variable[$pole_2[$n]; Value:Связ_Таблица::Поле_2] Go to Portal Row [Select; Next; Exit after last] Set Variable [$n; Value:$n + 1] End Loop Commit Records/Requests [No dialog] Duplicate Record/Request //дублируем запись в основной таблице Set Variable [$id_new; Value:Таблица::tp_ID] //считываем ID новой записи в переменную New Window[Height:50; Width: 50] // в новом окне переходим на Макет связанной таблицы Go to Layout ["Связ_Таблица” (Связ_Таблица)] Set Variable [$repeat; Value:1] // устанавливаем значение нового счетчика Loop // в цикле формируем новые записи связанной таблицы New Record/Request Set Field[Связ_Таблица::tp_ID_Основ; $id_new] Set Field [Связ_Таблица::Поле_1; $pole_1[$repeat]] Set Field [Связ_Таблица::Поле_2; $pole_2[$repeat]] Commit Records/Requests [No dialog] Set Variable[$repeat; Value:$repeat + 1] Exit Loop If [$repeat > $n] // выходим, если значение нового счетчика превысит значение первого счетчика End Loop Close Window [ Current Window ] // закрываем окно Commit Records/Requests [No dialog] // подтверждаем все изменения
3. Использование логических образов таблиц в системе FileMaker.
Для разработки комплексной структуры базы данных в системе FileMaker используются логические образы таблиц. У многих читателей статей возникают вопросы в связи с использованием логических образов таблиц. Кратко рассмотрим область применения таких структур.
Предположим, в нашей БД появился справочник, включающий в себя справочник периодов, групп и статей. Таким образом, начальная структура выглядит:
Для организации связtq добавляем в Таблицу поля : - tp_ID_Группа – номер группы из справочника - tp_ID_Период – номер периода из справочника - tp_ID_Статья – номер статьи из справочника
Далее, создаем логические образы таблицы Справочник. Для этого выделяем таблицу Справочник и нажимаем кнопку Дублировать. Создается логический образ с именем Справочник 2. Переименуем его в Группа_Таблица. Аналогично создаем образы с именами Статья_Таблица, Период_Таблица.
Для информации: обычно имена логических образов формируются следующим методом: - для таблиц-справочников – [Имя_Поля_Справочника]_[Имя_Таблицы_Основной] (примеры Группа_Таблица, Статья_Таблица) - для просто связанных таблиц – [Имя_Связ_Таблицы]_[Имя_Основной_Таблицы] (примеры Проект_Таблица)
Итак, продолжим. Организуем связи: а) Таблица::tp_ID_Группа – Группа_Таблица::tp_ID б) Таблица::tp_ID_Период – Период_Таблица::tp_ID в) Таблица::tp_ID_Статья – Статья_Таблица::tp_ID
В результате получаем структуру:
И, наконец, создаем наши вычисляемые поля: - Группа_Text = Группа_Таблица::Группа - Период_Text = Период_Таблица::Период - Статья_Text = Статья_Таблица::Статья
| |
Просмотров: 1220 | |
Всего комментариев: 0 | |