Database structure

All of the information in the instances is stored in tables, which consist of a series of records. The record in turn holds a series of fields that hold the individual bits of data and can be viewed either as a list or a form.

Tables can be related to each other in the following ways:
  • Extensions: A table can extend another table. The table doing the extending (child class) includes all of the fields of the other table (parent class) and adds its own fields. For instance, the Incident [incident] table has all of the Task [task] table fields (because an incident is a special form of task) and has its own incident-specific tasks.
  • One-to-Many: Within a table, a field can hold a reference to a record on another table. There are three types of one-to-many relationship fields:
    • Reference Field: allow a user to select a record on a table defined by the reference field. For instance, the Caller field on the Incident table allows the user to select any record on the User table.
    • Glide List: allows a user to select multiple records on a table defined by the glide list. For instance, the Watch list field on the Incident table allows the user to select records on the User table.
    • Document ID Field: allows a user to select a record on any table in the instance. These fields are much less common, but one example is the Document field on the Translated Text [sys_translated_text] table.
  • Many-to-Many: Two tables can have a bi-directional relationship, so that the related records are visible from both tables in a related list.
  • Database Views: Two tables can be joined virtually with Database Views to enable reporting on data that might be stored over more than one table.