База знаний

Справочная система SP-XML

Связанные темы:

Назначение платформы
Принципы построения приложения
Состав платформы
Базы данных
Отличия между SP-XML Script и JavaScript

Встроенная СУБД

SP-XML содержит встроенную СУБД, которая реализована следующим образом:

База располагается в файловой системе, в папке, имя которой совпадает с внутренним именем базы, или имеет другое выбранное разработчиком приложения имя. Например в E-Staff версии 4.x база "data" хранится в папке "data_rcr", а в WebTutor база "wt_data" хранится в папке с таким же именем. По умолчанию папка располагается в установочной директории сервера приложения, хотя можно задать другую директорию.

Каждый статический документы располагаются в отдельном файле, имеющим ровно такой же файловый путь, как в его url.

Каждый объектный документ по умолчанию хранится в отдельном файле, если иной способ хранения не задан в форме описания типа объекта. При этом объекты определенного типа располагаются в папке obj/<имя объекта во множественном числе>, далее располагаются папки с объектами, по 256 объектов на каждую папку. Например, объект типа "person" с ID 0x41D258E8F25C328A будет располагаться в файле "obj/persons/41D258E8F25C32/8A.xml" внутри папки с базой данных.

Каталог для каждого типа объекта по умолчанию хранится в файле с расширением .xdb внутри папки "secondary", например "secondary/persons.xdb". Такой каталог будет являться вторичным, он может быть удален, или перестроен заново из данных, содержащихся в исходных объектах.

Для определенных типов объектов можно задать иной способ хранения, например все объекты данного типа будут храниться в одном файле (XML или .xdb), при этом этот же файл будут являться каталогом, и в папке "secondary" ничего храниться не будет. В этом случае файлы будут храниться внутри папки "obj/xml", например "obj/xml/event_types.xml".

Полнотекстовый индекс содержится в папке "ft".

 

В старой объектной модели структура папок несколько отличается. Все объекты хранятся в папке "objects" единым списком, а все каталоги - в папке "catalogs".