Fixora
Unidad 2 · Versionamiento y datosDiccionario de datos

Cuentas, roles y accesos

Cuentas de acceso, roles, datos personales, notificaciones y direcciones de los usuarios.

Módulo con 6 tablas: users, roles, personal_data, notifications, addresses, address_user. Las convenciones de tipos y llaves están en la página del diccionario.

Diagrama

Solo se muestran las llaves primarias (PK) y foráneas (FK).

Tablas

users

Cuentas de acceso de todos los usuarios del sistema.

ColumnaTipoLlaveDescripción
UniqueIDBIGINTPKIdentificador único del registro.
emailVARCHARCorreo de acceso. Debe ser único.
password_hashVARCHARContraseña cifrada (hash). Nunca se guarda en texto plano.
role_idBIGINTFK → rolesRol de la cuenta (cliente, proveedor, gerente, empleado, etc.).
stateENUMEstado de la cuenta; incluye "por aprobar" mientras un proveedor está en revisión y no puede entrar al portal.

roles

Catálogo de roles.

ColumnaTipoLlaveDescripción
UniqueIDBIGINTPKIdentificador único del registro.
nameVARCHARNombre del rol (por ejemplo: gerente, empleado).
activeBOOLEANIndica si el registro está activo (baja lógica).

personal_data

Datos personales de cada usuario.

ColumnaTipoLlaveDescripción
UniqueIDBIGINTPKIdentificador único del registro.
user_idBIGINTFK → usersReferencia a users.
nameVARCHARNombre(s) de la persona.
lastname_pVARCHARApellido paterno.
lastname_mVARCHARApellido materno.
birth_dateDATEFecha de nacimiento.

notifications

Notificaciones enviadas a los usuarios.

ColumnaTipoLlaveDescripción
UniqueIDBIGINTPKIdentificador único del registro.
user_idBIGINTFK → usersReferencia a users.
typeVARCHARTipo de notificación.
titleVARCHARTítulo corto.
messageVARCHARTexto de la notificación.
entity_typeVARCHARTipo de entidad a la que apunta (por ejemplo: solicitud, reporte).
entity_idBIGINTPolimórficaId de la entidad a la que apunta. Se interpreta junto con entity_type (relación polimórfica).
read_atDATETIMEFecha y hora en que se leyó; nulo si aún no se lee.

addresses

Direcciones físicas.

ColumnaTipoLlaveDescripción
UniqueIDBIGINTPKIdentificador único del registro.
referenceVARCHARReferencias para llegar al lugar.
streetVARCHARCalle.
num_extVARCHARNúmero exterior (texto: admite letras, como 12-B).
num_intVARCHARNúmero interior.
colonyVARCHARColonia.
municipalityVARCHARMunicipio o alcaldía.
stateVARCHAREstado.
postal_codeVARCHARCódigo postal (texto, para conservar ceros iniciales).
countryVARCHARPaís.
latitudeDECIMALLatitud geográfica.
longitudeDECIMALLongitud geográfica.
activeBOOLEANIndica si el registro está activo (baja lógica).

address_user

Relaciona usuarios con sus direcciones guardadas.

ColumnaTipoLlaveDescripción
UniqueIDBIGINTPKIdentificador único del registro.
user_idBIGINTFK → usersReferencia a users.
address_idBIGINTFK → addressesReferencia a addresses.
aliasVARCHARNombre que el usuario le da a la dirección (por ejemplo: Casa, Trabajo).
is_mainBOOLEANVerdadero si es una dirección registrada por el usuario; falso si es una dirección ocasional capturada al pedir un servicio.
activeBOOLEANIndica si el registro está activo (baja lógica).

En esta página