На главную страницу
Главная О компании Программы GAAP Техническая поддержка Полезное
     Инотек Бухгалтер Про-
       фессионал. Руководс-
       тво администратора
    Формулы в програм-
      ме Инотек Финансы
     Инотек Бухгалтер
      Эксперт. Руководс-
      тво пользователя
     Инотек Отчеты.
       Руководство
       пользователя
Программы :: Документация :: Инотек Бухгалтер Профессионал. Руководство администратора (Оглавление)

1. СУБД фирмы Raima

1.1. Общие сведения о СУБД RDM

Raima Data Manager (RDM) - система управления базами данных, разработанная американской фирмой Raima Inc. (www.raima.com). Девизом фирмы являются слова: If it’s fast, it’s Raima (Если быстро, то это Raima). СУБД фирмы Raima позволяет обеспечить мощные, гибкие, высокопроизводительные возможности для разработки приложений для работы с базами данных (БД) на языке C. Комбинируя технологиями сетевой и реляционных моделей БД в одной системе, RDM позволяет организовать и обеспечить эффективный доступ к информации, невзирая на сложность данных. Такая комбинация технологий обеспечивает высокие скоростные характеристики и минимизирует избыточность данных, а, следовательно, уменьшает объемы обрабатываемой информации.

RDM написан на языке C, поэтому приложения, разработанные с его использованием, легко переносятся на различные операционные платформы, включая MS Windows, VAX VMS, UNIX, MS-DOS и ряд других. RDM может поставляться разработчиком вместе с исходными текстами, что позволяет полностью контролировать процесс создания приложения для работы с БД.

В этом разделе описываются базовые концепции RDM. Он содержит достаточно информации для новичков, использующих RDM. Однако, технологии БД сложный предмет, требующий чтения дополнительной литературы для полного понимания.

1.1.1. Термины

Основной единицей информации в БД является поле (field). Поле (иногда его называют поле данных) характеризуется атрибутами, такими как имя, тип (например, символьный или целый) и длина. Примерами полей могут быть имя служащего, дата его рождения, табельный номер и т.д. Другие системы управления баз данных (СУБД) и книги могут использовать другие термины (такие как атрибут, колонка или объект) для поля.

Записью (record) называется ряд взаимосвязанных полей, обращение к которым для доступа и сохранение в БД происходит как к единому целому. Другие СУБД и книги могут использовать другие термины (такие как таблица или файл) для обозначения записи. В качестве примера рассмотрим запись check в БД обработки счетов, которая может иметь следующие поля:

date
check number
paid to
amount

Каждый раз при появлении в БД записи check, в базе запоминаются значения для каждого из полей. Определение записи (как заключающей в себе ее поля) называется типом записи (record type). Значение для соответствующего типа записи будем называть вхождением записи или просто записью. В языке C записям соответствуют структуры.

Все вхождения для отдельного типа записи сохраняются в файле (file) операционной системы. Файлы являются первичными логическими единицами для хранения информации, из которых организована БД. Таким образом, БД представляет собой набор связанных файлов.

Ключом (key) называется поле, позволяющее осуществить наиболее быстрый доступ к записи или навигацию по отсортированным записям. В рассмотренной выше записи check можно определить как ключ поле check number, позволяющий быстро получить (найти и считать) вхождение записи check зная check number. Индексом (index) называется файл содержащий только ключи. Его так же называют ключевым файлом (key file).

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

Между типами записей часто существует взаимосвязь (relationship). Например, имея в одном типе записей поле, являющееся ключевым для другого типа записей, можно легко получить по ключу вторую запись прочитав первую.

Схемой (schema) является абстрактное определение содержания и организации БД. Схема должна включать определения всех типов записей, полей и ключей. Используемая в RDM форма представления схемы называется словарем (dictionary).

Модель данных (data model) (или модель БД (database model)) является абстрактным представлением связи между записями. Реляционная модель БД обеспечивает связь между записями через использование общих полей. Другие модели БД, в особенности сетевая модель БД, обеспечивает такое взаимодействие между записями напрямую, через физическую связь между взаимосвязанными записями, а не через общие поля. Так как RDM поддерживает оба эти модели, можно комбинировать возможностями этих моделей.

1.1.2. Сетевая модель баз данных

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

Запись ОТДЕЛ: ОТДЕЛ владелец набора ОТДЕЛ_ СЛУЖАЩИЙ

Набор
ОТДЕЛ_ СЛУЖАЩИЙ

Запись СЛУЖАЩИЙ: СЛУЖАЩИЙ член набора ОТДЕЛ_ СЛУЖАЩИЙ
и владелец набора СЛУЖАЩИЙ_ НАЧИСЛЕНИЕ

Набор
СЛУЖАЩИЙ_ НАЧИСЛЕНИЕ

Запись НАЧИСЛЕНИЕ: НАЧИСЛЕНИЕ член набора СЛУЖАЩИЙ_ НАЧИСЛЕНИЕ

Любой заданный тип записи может быть владельцем любого количества различных наборов также как и членом. Таким образом, вполне возможна, например, такая структура:

Заметим, что тип записи E владеет сам собой. Тип записи C член двух наборов (A и B) и сам владеет двумя наборами (D и E). Записи также могут владеть другими записями через множественные наборы, как в нашем примере B владеет E. Все это возможно в базе RDM.

1.1.3. Другие модели БД

Двумя другими моделями являются иерархическая и реляционная модель. Они описаны ниже.

Иерархическая модель

В иерархической модели (подмножество сетевой модели) типу записи разрешается быть членом только одного набора. Тип записи может правда владеть более чем одним набором. Владелец набора называется родителем (parent), а член набора – ребенком (child).

Как в сетевой модели, наборы встроены через списки связей. Это показано на рисунке:

 

Реляционная модель

Реляционная модель рассматривает БД как набор таблиц (tables) (отношений (relations)). Колонки (также могут называться атрибутами) таблицы соответствуют полям и строки – вхождениям записей. Такой табличный вид БД позволяет особенно легко манипулировать со стандартными реляционными операциями, которые основаны на математической теории.

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

Заметим, что возможно преобразование БД из реляционной в сетевую и из сетевой в реляционную.

1.1.4. Преимущества комбинированных моделей

Реляционные модели БД очень популярны, главным образом, потому что простота лежащая в основе этой модели делает ее легкой в использовании. В сетевой модели главными выгодами являются лучшая производительность, уменьшение требований к размеру памяти для хранения и большая гарантия в целостности данных.

Это диаграмма показывает две таблицы связанные через общие данные поля, C. Заметим, что C должно быть определено в обеих таблицах и что индекс должен существовать, для того чтобы иметь доступ к содержанию второй таблицы. Противоположность к этому сетевая модель.

Сетевая модель уменьшает избыточность данных, связывая два типа записей напрямую, без требования продублировать поле и создать ключевой файл (индекс). Более того, доступ к связанной записи осуществляется напрямую за одну операцию чтения, тогда как в реляционной модели сначала нужно прочитать индекс, а затем связанную запись. Для тех случаев, в которых работа с индексами более эффективна, RDM позволяет работать через индекс. В RDM сетевой доступ и доступ через индекс являются независимыми методами работы, поэтому их можно комбинировать. Комбинация этих технологий дает максимальную гибкость при разработке БД.

1.1.5. Методы доступа в RDM

Уже были обсуждены два метода доступа используемых в RDM: индексный и через наборы. Третий метод называется последовательный (sequential) доступ. Все три метода могут быть использованы для передвижения и поиска в БД. Каждый из них имеет собственные пути для установки и изменения позиции в БД. Методы приблизительно ортогональны, т.е. использование одного не будет мешать использованию других. Однако они разделят между собой текущую запись (current record), которая указывает на запись в БД найденную последней. Текущая запись является объектом по умолчанию для многих функций RDM. Все три метода устанавливают (изменяют) текущую запись.

Индексный метод разрешает найти вхождение записи через поддерживаемый ключ. Ключ может быть точным, в таком случае позиционирование произойдет прямо на запись или приблизительным, тогда позиционирование произойдет перед записью содержащей большее ключевое значение в сортированной последовательности. Можно также позиционироваться на первый или последний ключ для заданного типа ключа, не обращая внимания на их значение. Спозиционировавшись на какой-то ключ, можно передвинуться на предыдущий или на последующий ключ по сортированной последовательности. Ключи сохраняются и проходятся в порядке сохраненном в ключевом файле безотносительно к физическому порядку записей, на которые они указывают.

Наборы позволяют передвигаться через соединения наборов в различных направлениях. Можно перемещаться от владельца набора к первому или последнему члену набора. От члена набора можно пройти к предыдущему или последующему члену или к записи владельца набора. В течение навигации по наборам, позиции основываются на текущем владельце (current owner) и текущем члене (current member) имеющихся для каждого типа набора который используется. Если определена системная запись (system record), то она может быть использована как точка входа в БД. Когда БД откроется, системная запись является текущем владельцем всех наборов, владельцем которых является системная запись.

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

1.1.6. Элементы БД RDM

БД RDM состоит из:

Словаря (dictionary), в котором хранится информация описывающая содержание и организацию БД;
Фалов данных (data files), которые содержат вхождения одного или нескольких типов записей;
Ключевых файлов (key files), которые содержат индексы для одного или нескольких ключевых полей.

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

1.1.7. Содержание файла словаря базы данных

Файлы словарей БД имеют расширение *.dbd. Они содержат версию RDM, размеры всех таблиц, таблицу файлов, таблицу записей, таблицу полей, таблицу наборов, таблицу членов наборов, таблицу сортированных наборов, таблицу полей составного ключа. В конце файла после таблиц находятся имена записей, полей и наборов в текстовом формате. Имена имеют переменную длину и разделяются символом новой строки.

 

НОВОСТИ
Новости компании
Архив новостей
Новости законодательства
Архив новостей законодательства
Семинар...
15 ноября 2006 г. мы проводим семинар на тему «Принципы работы в модуле Инотек Склад»   подробнее...
Новое в отчетности   подробнее...
Техподдержка: Фиксация остатков в модуле Финансы   подробнее...
Индекс цитирования
   Copyright © 1999 - 2011 Инотек Предложения по работе сайта