OnBase uses a highly normalized relational database. It contains more than 3,000 tables with associated non-clustered indexes. At the core of the schema are the main transaction tables that store all document records, associated Keyword data, and user activity logs. All physical files (image files, text files, PDF files, Word documents, etc.) are stored separately from the database in a standard file system structure. A majority of the database schema consists of static configuration tables that define the overall Document Types, Keyword Types, Workflow Life Cycles and Queues, and other OnBase module information.
The actual physical definition of the database is currently spread out among 14 different filegroups (in a SQL database) or tablespaces (in an Oracle database). In terms of administration, the structure itself never requires manual updating. The application contains a layer of functionality that automatically makes necessary modifications as new versions of the software are released. Security is primarily maintained at the application level, although roles and privileges also exist in the database. As the database is updated, transactions are immediately committed, allowing for a more optimistic locking strategy at the database level. A locking concept has been implemented within the OnBase application to protect the integrity of the data being accessed.