Is Base a database?

From Apache OpenOffice Wiki
Jump to: navigation, search


Is Base a database?



Not technically. Database applications often incorporate separate "front-end" and back-end components. Base is no exception. This two-tiered software model provides flexibility and the necessary data-durability. It involves separating the graphical user-interface (GUI front-end) from the core database functionality (database engine back-end). Base is merely a front-end, used primarily to connect *Office ODF documents to various data-sources including tabular spreadsheets, address books, dBase tables, or relational databases. In this primary role, Base is used to create the necessary connection file (ODB), which can then be 'registered' in *Office for universal data-access from Writer, Calc, etc. For instance, a registered data-source can be selected in the Mail Merge Wizard within Writer, allowing the creation of mailing labels or form-letters. You can also add dynamic tables or query-views to a Writer document or Calc spreadsheet utilizing registered data-sources. Data analysis becomes possible with Calc through charting and pivot tables (Data Pilots). Base, itself, can be used to view and manipulate the data, generate stored queries or views, create forms, reports, and macros. These graphical elements in Base are provided through various wizards or visual designers including: a Table Designer, Query Builder, Form Designer, Report Designer, and Integrated Macro Development Environment (IDE). And while Base is typically used to create forms in the *Office environment, note that all Form elements (form 'controls' such as table grids, list boxes, navigation bar, etc) are available in Writer and Calc, complete with access to all registered data-sources. In fact, a Base form can be exported as standalone Writer document.

Confusion lies in the fact that *Office is also bundled with various "back-end" database options which connect seamlessly with Base. This can give the impression that Base, itself, is providing the back-end database functionality. But that's not actually the case. Bundled database options include: spreadsheets (flat-file datasets), dBase tables (DBF), and a relational database engine (HSQLDB) featuring SQL.

Furthermore, Base creates an "embedded database" by default utilizing the bundled HSQLDB engine. In this configuration Base collects the user-files generated by both Base and HSQLDB, and stores these files within a single ODB file. This really confuses the issue because we naturally assume that a Base ODB file is comprised entirely of Base-generated output. In reality, a Base ODB file is little more than a zip-archive which may contain files produced by multiple applications. So your ODB file might contain files generated by the database engine (HSQLDB), or by Writer (Forms and Reports), or by other components such as the Query Builder (stored-queries) or IDE (macros). In other words, various user-files are commonly "embedded" inside a single Base ODB file (zip-container file).

So when paired with a bundled data-source Base can be mistaken for "database." But in reality, Base contributes only connection- and other front-end functionality. The back-end database functionality is provided exclusively by the specific database connection driver and/or DBMS. This distinction is admittedly blurred by the seamless nature of the bundled database options (flat-file drivers and a relational HSQLDB engine) which are also installed with *Office.

While it could be said that *Office includes a database (or two), the Base component does not qualify as a database in-and-of-itself.


Personal tools