Understanding the Archibus Database
Every Archibus project has its own physical database that contains the schema as described below and contains the project data (the operational, site-specific data for each of the Archibus domains). The physical database is implemented in the Microsoft SQL Server and Oracle commercial database engines.
Archibus ships with a sample project, HQ, that includes the standard schema and the sample project data.
In addition, the distribution enables you to create, from the standard schema, project databases to hold your own data.
New project databases contain the same tables that are found in project HQ, and contain a mixture of empty and completed tables.
- Most project tables (such as Buildings, Equipment, and Work Requests) will not have any records, so that you can complete the tables with your own data.
- Some project tables will be completed with default records. For example, the tables of the Waste and Hazard Abatement applications will have values that define standard environmental practices. These values can be edited as needed.
- The schema tables will be completed with records defining the default behavior of Archibus and defining the default database.
Note: Before you begin working with the schema, you can check its current state and resolve any issues using the Update Database Wizard's Validate Schema feature.
The Schema Tables
The schema is the operational template for data storage and retrieval in an Archibus project. In database work, the schema is the design of the database--a set of table definitions and rules that delineate the structure of the data within the database and the aspects of the relational integrity of the data that must be maintained. Additionally, the schema includes the database tables that define how the Archibus program and applications work: tables that define the Navigator, workflow rules, and so on.
All of the tables that make up the Archibus schema are named with the prefix afm_
,such as afm_tables
, afm_flds
, afm_ptasks
, and so on. These tables' titles begin with "Archibus," such as the Archibus Fields table.
Modifying the Schema
To modify the schema, you will use the tasks on the these sections of the Smart Client Navigator. The corresponding processes in the Web Central also have tasks for accessing the schema tables, but editing may be limited.
- System / Add-In Manager
- System / Archibus Administrator - Application Configuration
- System / Archibus Administrator - Users and Security
A thorough understanding of the Archibus schema tables is a must-have skill if you are making schema changes. Below is a summary of the types of tables that make up the Archibus database.
Data Dictionary
In terms of modifying the schema, the most relevant tables are the data dictionary tables. The Archibus data dictionary provides a database-independent definition of the tables and fields used by Archibus. This conceptual representation of the data structures has a one-to-one correspondence with the physical database (the SQL tables).
The data dictionary is stored in:
Table | Table Name | Description |
---|---|---|
Archibus Tables | afm_tables | Defines all the tables used in the Archibus application. |
Archibus Fields | afm_flds | Defines all the fields in all the tables of the Archibus application. The table defines such information as the Field Heading to be presented to the user, the maximum number of characters that the field can hold, the validating table, the acceptable numeric format, and so on. |
In order for the program to quickly and easily access the data dictionary information, it is held in memory while you are working in your project . For example, the Field Heading mentioned above is loaded into memory when a project is opened. When the program encounters the field to display, the program displays the field heading instead of the actual field name.
Since data dictionary information is cached, when you make changes to a data dictionary component (regardless of whether the physical structure of the database changed), you need to clear the memory and reread the new values into memory. You can do this by restarting the application server.
Additionally, if you make a change to the data dictionary that changes the structure of the database (such as adding a new field or table), you must update the physical database (the SQL tables) using the Schema Change Wizard. See:
Application Dictionary
The application dictionary consists of the set of tables that define how the elements used by the applications work. Definitions in the application dictionary make possible tailoring a module to your site specify needs often without writing code. These tables also provide the linkage to code when custom code becomes necessary.
Navigator Tables
The Navigator tables define the hierarchy of domains, applications, processes and roles, and tasks with which the user interacts when navigating through Archibus applications.
Project Security Tables
The user gains access to specific Navigator elements through definitions in the project security tables. In addition, these security tables limit who can log into Archibus, what level of access they will be permitted, and to which data they have access.
Project Application Data Tables
The project application data tables store site-specific configuration information.
Project Data Tables
The project data tables are the tables in which Archibus stores the site operational data related to Archibus applications. The data in these tables are what sites use to track and manage their facilities. They are the heart of the management information system. Examples are the Buildings, Floors, Rooms, Equipment, and Leases tables. The project data tables are not considered to be part of the schema.