Руководство VisiCAR™ Developer
<< Приложение A Оглавление Алфавитный указатель терминов >>

Приложение Б

Встроенная база данных

Смотри также:

Руководсто пользователя, раздел Работа с таблицами на стр. 89;

Источник данных: table_<имя таблицы> на стр. 135

 Целостность таблиц

Изменение данных таблицы (источника данных) можно осуществлять как из редактора таблиц (см. Руководсто пользователя, раздел Работа с таблицами на стр. 89) так и программно (см.  Источник данных: table_<имя таблицы> на стр. 135).

Изменение записи таблицы доступно только при монопольном использовании таблицы, что гарантирует целостность таблиц.

Монопольным режимом использования таблицы будем называть режим, при котором таблицу может редактировать одновременно только один пользователь. Остальные пользователи имеют возможность в данный момент времени просматривать эту таблицу.

Сохранение внесенных изменений в таблице (источнике данных) автоматически изменяет данные во всех источниках (таблице).

 Редактирование

Изменение данных таблицы програмно происходит после открытия сессии редактирования (метод begin_change_session()). Открыть сессию можно только в том случае, если таблица не находиться в монопольном использовании. После сохранения изменений необходимо закрыть сессию редактирования ( end_change_session()).

При вызове функций изменения данных таблицы (например, вставка записи) программа попытается открыть сессию редактирования автоматически. Если это не удается (таблица уже редактируется другим пользователем) – генерируется исключительная ситуация.

При внесении небольших корректив в данные таблицы/источника данных — сессия редактирования специально можно не открывать. При необходимости внесения больших изменений рекомендуется открыть сессию редактирования. Это уменьшит количество запросов программы для открытия/закрытия сессии редактирования.

 Атомарность вызова функции

Вызов функции является атомарным, т.е. если не все операции, определенные вызовом, были завершены успешно, осуществляется откат всех внесенных изменений в таблице до состояния “перед выполнением вызова”.

 Нумерация

Пользовательской таблице данных присуща сквозная (глобальная) нумерация. Все записи нумеруются от 0 до n-1 (n – количество записей в таблице). Каждому источнику данных таблицы присуща локальная нумерация от 0 до n-1 (n – количество записей в источнике данных). В каждом источнике данных также храниться сквозная нумерация таблиц, т.е. каждая запись источника данных имеет локальный номер, а также номер, под которым она храниться в таблице. Для получения глобального номера записи необходимо использовать свойство oid.

 Свойства фильтрации

После редактирования записи в выборке, к которой было применено определенное правило фильтрации, осуществляется проверка на соответствие данных измененной записи примененному фильтру. При несоответствии данных — запись изменяется в исходной таблице данных и удаляется из источника данных. Если “курсор” находился на удаленной записи – он переместиться в конец таблицы, т.е. за последнюю запись.

Фильтры накладываются друг на друга. При применении последовательно нескольких правил фильтрации к выборке — при каждой следующей фильтрации в качестве источника данных будет рассматриваться ранее отфильтрованная выборка.

 Свойства сортировки

Сортировки накладываются друг на друга:

исходная выборка:

выборка после сортировки “по возрастанию” поля celii:

выборка после сортировки “по возрастанию” поля celii1:

 Свойства полей таблиц

Автоинкремент

Автоинкрементное поле увеличивает свое значение на единицу при добавлении новой записи. Не могут быть автоинкрементными поля типа текст, булеан, цвет, графика. Значение поля целый и действительный увеличивается на единицу, поле типа время — на 1 секунду, поля

Уникальность

Гарантирует уникальность данных каждой записи поля. При добавлении (изменении) записи будет осуществляться проверка на уникальность данных поля. При несоответствии — генерируется исключительная ситуация.

Нельзя гарантировать уникальность полей типа цвет и графика.

 Ссылочная целостность

При удалении (изменении) какого либо элемента ссылки – промежуточной таблицы, поля и т.п. – ссылка не сможет раскрыться, Генерируется исключительная ситуация.

 Типы полей таблицы

целый

действительный

текст

булеан

цвет

время

дата

дата/время

графика



<< Приложение A Оглавление Алфавитный указатель терминов >>
© ООО "Кигли", 2002-2004