Modelo de personas
La plataforma provee un modelo "Customer Centric", en el cual el cliente es la base de muchas operaciones, sobre todo financieras y de seguros. De esta manera, la plataforma brinda soporte para una gran cantidad de atributos para personas ya sean físicas o jurídicas.
A su vez, todo lo referido a una persona parte de una entidad abstracta llamada PARTY, donde se modela tanto las personas físicas como las jurídicas. Si bien hay muchas especificaciones de PARTY las más importantes son PERSON y ORGANISATION.
Muchas de las relaciones que tiene PARTY son de tipo “N a N” eso permite modelar la existencia de diversos mails, direcciones, teléfonos.
Las tablas primordiales que abarcan este modelo son:
- PARTY
- PERSON
- ORGANISATION
- PHONE / PARTY_PHONE
- ADDRESS / PARTY_ADDRESS
- IDENTIFICATION / PARTY_IDENTIFICATION
- EMAIL / PARTY_EMAIL
Diagrama base de datos de Personas
Tabla PARTY
Es el modelo de abstracción más alto de personas el cual agrupa a todos los atributos comunes, ya sea para personas físicas y/o jurídicas. La mayoría de las relaciones con otras entidades se derivan de esta tabla. La clave única de esta tabla es PARTY_ID.
Nombre de la Columna | Descripción |
---|---|
PARTY_ID | ID autoincremental. |
EMAIL; WORK_EMAIL; PHONE_PREFIX; PERSONAL_PHONE_NUMBER; WORK_PHONE_NUMBER; MOBILE_PHONE_NUMER; FAX | No se utilizan estas columnas. En el futuro se quitará por lo tanto es importante no ingresarle valores. |
FISCAL_CATEGORY_ID; | Categoría de riesgo. FK a FISCAL_CATEGORY. |
DATE_CREATED; DATE_MODIFIED | Creación y modificación. |
PARTY_SEARCH_AS | Este campo es para realizar búsquedas ya sean personas físicas y/o jurídicas. Es importante solamente realizar inserts a través de DAOs, y completarlo con un criterio común. Por ejemplo "Apellido, Nombre". |
CIIU_ID | Primera categorización de la actividad de un PARTY. FK a PARTY_CIIU. |
PARTY_STATUS_ID | Estado del PARTY. FK a PARTY_STATUS. |
PARTY_ACTIVITY_ID | Segunda categorización de la actividad de un PARTY. FK a PARTY_ACTIVITY (junto con CIIU_ID). |
PRACTICE_ID | Tercera categorización de la actividad de un PARTY. FK a PARTY_ACTIVITY_PRACTICE (junto con CIUUD_ID y PARTY_ACTIVITY). |
Tabla PERSON
Es la tabla que contiene a todos las personas naturales o personas físicas con todos sus atributos.
Nombre de la columna | Descripción |
---|---|
PARTY_ID | Id del PARTY asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PARTY primero para que exista un PERSON. |
GENDER_ID | Género. FK a GENDER. |
MARITAL_STATUS_ID | Estado civil. FK a MARITAL_STATUS. |
FIRST_NAME | Primer nombre. |
SECOND_NAME | Segundo nombre. |
LAST_NAME | Apellido. |
BIRTH_DATE | Fecha de nacimiento. |
SALARY_ID | Salario. FK a SALARY. |
IS_PEP | Boolean que indica si es una persona expuesta políticamente (PEP). |
PEP_NOTE | Comentario de PEP. |
IS_RIGHT_HANDED | Boolean que indica si es diestro (Zurdo en caso falso). |
Tabla ORGANISATION
Contiene a todas las personas jurídicas con sus correspondientes atributos.
Nombre de la columna | Descripción |
---|---|
PARTY_ID | Id del PARTY asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PARTY primero para que exista un ORGANISATION. |
ORGANISATION_NAME | Nombre de la organización. |
ORGANISATION_TYPE | Tipo de organización. FK a ORGANISATION_TYPE |
ORGANISATION_BEGIN_DATE | Inicio de actividades. |
Tablas PHONE / PARTY_PHONE
Posee todos los tipos de teléfonos de las personas y su relación con personas mediante PARTY.
Nombre de la columna (PHONE) | Descripción |
---|---|
PHONE_ID | Id autoincremental de teléfono. |
PHONE_TYPE_ID | Tipo de teléfono.FK a PHONE_TYPE. |
COUNTRY_CODE | Código de País. |
AREA_CODE | Código de área. |
PHONE_PREFIX_NUMBER | Número de prefijo telefónico. |
PHONE_NUMBER | Número de teléfono. |
PHONE_COMMENT | Comentario de teléfono. |
PHONE_DEFAULT | Número de teléfono por defecto. Boolean. |
Nombre de la columna (PARTY_PHONE) | Descripción |
---|---|
PARTY_ID | Id del PARTY asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PARTY primero para que exista un PARTY_PHONE. |
PHONE_ID | Id de PHONE asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PHONE primero para que exista un PARTY_PHONE. |
Tablas ADDRESS / PARTY_ADDRESS
Posee todos los tipos de direcciones de las personas y su relación con personas mediante PARTY.
Nombre de la columna (ADDRESS) | Descripción |
---|---|
ADDRESS_ID | Id autoincremental de dirección. |
ADDRESS_TYPE_ID | Tipo de dirección.FK a ADDRESS_TYPE. |
ADDRESS_STREET | Calle. |
ADDRESS_STREET_INTERSECTION_1 | Entrecalle 1. |
ADDRESS_STREET_INTERSECTION_2 | Entrecalle 2. |
ADDRESS_NUMBER | Número. |
ADDRESS_FLOOR | Piso. |
ADDRESS_APARTMENT | Departamento. |
CITY_ID | Ciudad.FK a CITY. |
ADDRESS_COMMENT | Comentario de dirección. |
PROVINCE_ID | Provincia.FK a PROVINCE. |
CITY_CLIENT_CODE | Código de cliente para esa ciudad. |
POSTAL_CODE_ID | Código postal.FK a POSTAL_CODE. |
ADDRESS_PHONE_NUMBER | Número de teléfono de dirección. |
NEIGHBORHOOD | Barrio. |
ADDRESS_DEFAULT | Dirección por defecto. |
ADDRESS_DOOR_NUMBER | Número de puerta. |
ADDRESS_BLOCK | Cuadra. |
ADDRESS_PARCEL | Parcela. |
Nombre de la columna (PARTY_ADDRESS) | Descripción |
---|---|
ADDRESS_ID | Id de ADDRESS asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un ADDRESS primero para que exista un PARTY_ADDRESS. |
PARTY_ID | Id del PARTY asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PARTY primero para que exista un PARTY_ADDRESS. |
Tablas IDENTIFICATION / PARTY_IDENTIFICATION
Lista de identificaciones posibles de una persona contenida en la tabla IDENTIFICATION y su relación con PARTY.
Nombre de la columna (IDENTIFICATION) | Descripción |
---|---|
IDENTIFICATION_ID | Id autoincremental de identificación. |
IDENTIFICATION | Número de identificación. |
IDENTIFICATION_TYPE_ID | Tipo de identificación.FK a IDENTIFICATION_TYPE. |
IDENTIFICATION_VALID_FROM | Identificación válida desde. |
IDENTIFICATION_VALID_TO | Identificación válida hasta. |
IDENTIFICATION_IMAGE | Imágen de identificación. |
IDENTIFICATION_IMAGE_SIZE | Tamaño de la imágen de identificación. |
IDENTIFICATION_DEFAULT | Identificación por defecto. |
Nombre de la columna (PARTY_IDENTIFICATION) | Descripción |
---|---|
PARTY_ID | Id del PARTY asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PARTY primero para que exista un PARTY_IDENTIFICATION |
IDENTIFICATION_ID | Id de IDENTIFICATION asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un IDENTIFICATION primero para que exista un PARTY_IDENTIFICATION |
Tablas EMAIL / PARTY_EMAIL
Posee todos los tipos de correos de las personas y su relación con personas mediante PARTY.
Nombre de la columna (EMAIL) | Descripción |
---|---|
EMAIL_ID | Id autoincremental de email. |
Email. | |
EMAIL_TYPE_ID | Tipo de email.FK a EMAIL_TYPE. |
EMAIL_DEFAULT | Email por defecto. Boolean. |
Nombre de la columna (PARTY_EMAIL) | Descripción |
---|---|
EMAIL_ID | Id de EMAIL asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un EMAIL primero para que exista un PARTY_EMAIL. |
PARTY_ID | Id del PARTY asociado (FK). Es la misma y, obviamente, no es autoincremental. Debe existir un PARTY primero para que exista un PARTY_EMAIL. |