The following terms are defined in MinistryPlatform specific language. Although we are attempting to describe more universal concepts, these should not be taken to be comprehensive, technically precise or apply equally in other contexts.
Calculated Column

Columns that are calculated rather than stored, such as Contact Age. These are defined in a Table and may be used in Views. In MP, Calculated Columns are named with a double underscore, such as the __Age field in Contacts. They are not editable.


An attribute of a record stored in a table.

Correlated Subquery

A subquery which refers back to the parent query for part of its criteria. In Views, subqueries are almost always correlated.


A Field represents a column in a View. These can be columns in a table or calculated values. You may often hear this term used interchangeably with Column, but a column is only one type of Field.

Foreign Key

When a record in one Table is related to record in another table, a special column is defined in the first table which requires a Primary Key value from the second table. This is called a Foreign Key. It is called “Foreign” because it points to the key of a “foreign” table. Some Foreign Key columns are optional, so that a NULL may exist in the record instead of a key when no relationship exists for the record.

See Primary and Foreign Keys.




In SQL, a function returns a single value and may be used in place of a field or value. A function may take one or more parameters which are used to calculate the value.

Primary Key

Each record in a Table has a unique Identifier stored in a special column known as the Primary Key column. These values in a record is called a Primary Key. In MP, the Primary Key Column is the first field and named for the table with “_ID” appended. It is called “Primary” because it is the most important key in a table or record. In MP, Primary Keys are auto-incrementing integers.

See Primary and Foreign Keys.


A Record is a single row in a table. In MP, Views can only show one row per record at most. Usually, a View will show fewer than one row per record because of the filter clause.

Relational Database

In Relational Databases, data is structured in related Tables. Each table holds a particular type of record and these are related through special columns known as Primary and Foreign Keys.



A Row represents one record in a table.


A query inside another query.


A Table is a collection of related records stored in a highly structured format. Data is stored in columns and rows. Each row represents a record, and each column represents an attribute of the record. In MP, a Page represents a Table.


A Query which uses calculations and filters to show one “view” of an underlying table (or tables). In MP, Views represent different ways of looking at a table. Views can be pre-sorted in a particular order, filtered for particular values, and display fields from related tables.

Table Lookup Convention

An MP-specific syntax used to represent table relationships. This functions as a SQL extension when creating Views, Pages, Sub-Pages, Processes, etc.

See Table Lookup Convention.