mstr_entity_person_roles


Description

Establishes the relationship between individual persons and and entity.

General Usage

Note that for now a simple table with the Entity, Person, and the Role assigned is sufficient for expressing the relationship, though in future it may be appropriate to have specific relationship tables like Entity/Entity relationships should the relationships not be containable in a single attribute describing the Role.

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 uuid_generate_v7()

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.

person_id uuid 2147483647 null
mstr_persons.id mstr_entity_person_roles_person_fk C

The Person that is being assigned a Role with the Entity.

entity_id uuid 2147483647 null
mstr_entities.id mstr_entity_person_roles_entity_fk C

The Entity with which the identified Person has a Role. In many regards, this field identifies the Owner of the record.

entity_person_role_id uuid 2147483647 null
syst_enum_items.id mstr_entity_person_roles_enum_entity_person_role_fk R

Identifies the Role being assigned to the Person for the identified Entity.

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_entity_person_roles_pk Primary key Asc id
mstr_entity_person_roles_person_entity_role_udx Must be unique Asc/Asc/Asc person_id + entity_id + entity_person_role_id

Relationships