OpenOffice Base е модулът за бази данни, пуснат с версия 2.0 и по-нова на OpenOffice. Понастоящем той се основава на механизма за бази данни HSQLDB, написан на Java. HSQLDB може да се използва в „embedded“ режим (вграден в .odb файла) или като отделен сървис (server mode), достъпен по JDBC.
Разработчиците на HSQLDB посочват, че само 76% от целта е постигната в изданието 1.8.0 — версията, интегрирана (обединена) с OOo 2.0. Те са поискали принос за завършване на всички целеви функции, тъй като вътрешният механизъм за бази данни е независим проект без външно финансиране. Това означава, че за по-сложни или многопотребителски приложения често е препоръчително да се използва външна СУБД.
Ключови функции
- Дизайнер на таблици — създаване и редакция на таблици с полета, типове данни, първични ключове и индекси.
- Създаване на заявки — визуален дизайнер за заявки и възможност за писане на SQL; поддръжка на SELECT, JOIN и други стандартни оператори (ограниченията зависят от избраната СУБД).
- Формуляри (Forms) — съветник и визуален редактор за изграждане на потребителски интерфейси (въвеждане и редакция на данни) с контроли, връзки и навигация.
- Отчети (Reports) — генериране на печатни/екранни отчети; в по-новите издания е интегрирана възможност за използване на Pentaho за по-сложни отчети.
- Интеграция — лесно връзване на данни с други модули на OpenOffice (Writer за създаване на серии писма/етикети, Calc за анализ) и експортиране/импорт на данни.
- Макроси и автоматизация — подкрепа за StarBasic, Java и други технологии за автоматизация на задачи и разширяване на функционалността.
- Формат на проекта — базовият файл на проект се съхранява като .odb (ZIP контейнер със структурирани файлове) — при вграден режим той съдържа и файловете на HSQLDB.
Интеграции и външни СУБД
Потребителите на OpenOffice могат да изберат да се свържат с външна пълнофункционална SQL база данни, като MySQL, PostgreSQL и дори Oracle, чрез ODBC или JDBC драйвери. След това OpenOffice Base може да действа като графичен интерфейс за SQL изгледи, проектиране на таблици и заявки. Това дава възможност за:
- използване на надеждна и мащабируема сървърна СУБД за многопотребителски среди;
- разделяне на данни и интерфейс — данните остават на сървъра, .odb файл съдържа само конфигурацията на връзката;
- възползване от по-широк набор от SQL възможности и по-добра производителност при големи бази.
Архитектура и ограничения
- Вграден HSQLDB — удобен за бързи прототипи, единични потребители и малки приложения. Обаче има ограничения по отношение на паралелност, управление на транзакции и мащабируемост в сравнение със сървърни СУБД.
- Многопотребителска употреба — за едновременен достъп от много потребители се препоръчва използване на външна СУБД (MySQL, PostgreSQL, Oracle и др.) вместо вграден HSQLDB.
- Зависимост от Java — част от функционалността на Base изисква наличието на подходяща Java среда (JRE). На някои системи може да се наложи да инсталирате/конфигурирате Java, за да активирате всички функции.
- Съвместимост на SQL — възможностите на SQL зависят от използваната СУБД; HSQLDB и други може да имат специфични разширения или липси в сравнение с стандарта.
Практически съвети
- Ако планирате многопотребителско приложение — използвайте външна СУБД и настройте връзката чрез JDBC/ODBC драйвърите на съответната база.
- Инсталирайте подходящия JDBC драйвер (например за MySQL: Connector/J) и в Base създайте нова връзка към сървърна база чрез диалоговия съветник.
- За прехвърляне на данни от/към Calc или Writer използвайте връзки (linked tables/queries) или експортирайте/импортирайте CSV при необходимост.
- Редовно архивирайте .odb файловете и, ако използвате външна СУБД, правете бекъп на самата база по стандартните методи на СУБД-то.
- Проверявайте настройките за пароли и права при използване на сървърни бази, за да ограничите достъпа и да предотвратите загуба на данни.
Кой трябва да използва OpenOffice Base
Base е подходящ за:
- малки до средни دفترни приложения и проследяване на записи;
- бързо прототипиране на формуляри и отчети;
- образователни цели и обучение по бази данни;
- сценарии, при които се изисква интеграция с друг софтуер от пакета OpenOffice (Writer, Calc).
За по-големи, критични и многопотребителски системи е по-разумно да се използва професионална сървърна СУБД и OpenOffice Base да служи само като клиентски интерфейс.
Базата е свободен софтуер, издаден при условията на лиценза Apache. Общността поддържа документация, примери и допълнителни модули — приносът към HSQLDB и към самия проект OpenOffice е отворен за доброволци и разработчици.