mstr_contacts


Description

Represents a single method of contact for a person, entity, place, or other contextually relevant association.

General Usage

Note that there is a weakness in this part of the schema design in that contact information doesn’t make sense outside of assignment to a person, facility, or entity, but such assignment is indirect through role assignments. This means it is conceivable that records in this table could become orphaned. At this stage, however, it doesn’t seem worth it to denormalize the data to record the direct association.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 uuid_generate_v7()
mstr_person_contact_roles.contact_id mstr_person_contact_roles_contact_fk C

The record’s primary key. The definitive identifier of the record in the system.

General Usage

This column is system maintained and should be considered read only in normal operations.

internal_name text 2147483647 null

A candidate key useful for programmatic references to individual records.

General Usage

This column is system maintained and should be considered read only in normal operations.

display_name text 2147483647 null

A friendly name and candidate key for the record, suitable for use in user interactions

General Usage

This column is system maintained and should be considered read only in normal operations.

owning_entity_id uuid 2147483647 null
mstr_entities.id mstr_contacts_owning_entity_fk C

Indicates the entity which is the owner or “controlling”.

General Usage

There are a couple of ways this can be used. The first case is illustrated by the example of a managed entity and an staffing entity that is an individual. The owning entity in this case will be the managed entity for contacts such as the details of the person’s office address, phone, and email addresses that is used in carrying out their duties as staff. The second case is where the entity is in a selling, purchasing, or banking relationship with the managed entity. In this case the owning entity is the entity with which the managed entity has a relationship since a customer, vendor, or bank determines their own contact details.

external_name text 2147483647 null

A non-unique/non-key value used to display to users and external parties where uniqueness is less of a concern than specific end user presentation.

contact_type_id uuid 2147483647 null
syst_enum_items.id mstr_contacts_contact_types_fk R

Indicates the type of the contact record. Contact records store inforamtion of varying types such as phone numbers, physical addresses, email addresses, etc. The value in this column establishes which kind of contact data is being stored and indicates the data processing rules to apply.

contact_state_id uuid 2147483647 null
syst_enum_items.id mstr_contacts_contact_states_fk R

Establishes the current life-cycle state of the contact record, such as whether the record is active or not.

contact_data jsonb 2147483647 '{}'::jsonb

Contains the actual contact data being stored by the record as well as associated metadata such as specialized data fields, mapping of the specialized fields to standard representation for data maintenance, display, printing, and integration.

contact_notes text 2147483647 null

Optional user provided notes related to the Contact record.

diag_timestamp_created timestamptz 35,6 now()

The database server date/time when the transaction which created the record started.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_role_created text 2147483647 null

The database role which created the record.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_timestamp_modified timestamptz 35,6 now()

The database server date/time when the transaction which modified the record started. This field will be the same as diag_timestamp_created for inserted records.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_wallclock_modified timestamptz 35,6 clock_timestamp()

The database server date/time at the moment the record was actually modified. For long running transactions this time may be significantly later than the value of diag_timestamp_modified.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_role_modified text 2147483647 null

The database role which modified the record.

General Usage

This column is system maintained and should be considered read only in normal operations.

diag_row_version int8 19 1

The current version of the row. The value here indicates how many actual data changes have been made to the row. If an update of the row leaves all data fields the same, disregarding the updates to the diag_* columns, the row version is not updated, nor are any updates made to the other diag_* columns other than diag_update_count.

General Usage

This column is system maintained and should be considered read only in normal operations.

Direct Usage

This column is frequently used by by application logic to resolve the “dirty write” issues which can arise from concurrent data changes. As such any administrative override of automatic system maintenance of this value should consider the ramifications on application function.

diag_update_count int8 19 0

Records the number of times the record has been updated regardless as to if the update actually changed any data. In this way needless or redundant record updates can be found. This row starts at 0 and therefore may be the same as the diag_row_version - 1.

General Usage

This column is system maintained and should be considered read only in normal operations.

Indexes

Constraint Name Type Sort Column(s)
mstr_contacts_pk Primary key Asc id
mstr_contacts_display_name_udx Must be unique Asc display_name
mstr_contacts_internal_name_udx Must be unique Asc internal_name

Relationships