Los modelosDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Bryacg/Adutem/llms.txt
Use this file to discover all available pages before exploring further.
persona y usuario son el núcleo del sistema ADUTEM. La persona almacena todos los datos personales y médicos del socio, mientras que usuario gestiona las credenciales de acceso. Un usuario siempre está vinculado a exactamente una persona mediante persona_id.
Modelo Persona
El modelopersona representa a cada socio de ADUTEM con sus datos personales, familiares y médicos.
| Campo | Tipo PostgreSQL | Restricciones | Descripción |
|---|---|---|---|
id | SERIAL | PK, autoincrement | Identificador único |
nombre | VARCHAR(100) | NOT NULL | Primer nombre |
apellido | VARCHAR(100) | NOT NULL | Apellido |
cedula | VARCHAR(20) | NOT NULL, UNIQUE | Número de cédula de identidad |
fecha_nacimiento | DATE | NOT NULL | Fecha de nacimiento |
direccion | VARCHAR(255) | NOT NULL | Dirección de residencia |
telefono | VARCHAR(20) | NOT NULL | Teléfono de contacto |
nombres_padres | VARCHAR(255) | NOT NULL | Nombres del padre/tutor |
nombres_madre | VARCHAR(255) | NOT NULL | Nombres de la madre/tutora |
alergias | TEXT | NULL | Alergias conocidas |
tipo_sangre | tipo_sangre_enum | NOT NULL | Tipo de sangre |
correo | VARCHAR(100) | NOT NULL, UNIQUE | Correo electrónico |
creacion_persona | TIMESTAMP | DEFAULT NOW() | Fecha de registro |
Enum tipo_sangre_enum
| Valor en sistema | Etiqueta |
|---|---|
A_pos | A+ |
A_neg | A- |
B_pos | B+ |
B_neg | B- |
AB_pos | AB+ |
AB_neg | AB- |
O_pos | O+ |
O_neg | O- |
Relaciones de Persona
usuario[]— Una persona puede tener una o más cuentas de usuarioinscripciones[]— Una persona puede estar inscrita en múltiples cursos
Modelo Usuario
El modelousuario almacena las credenciales de acceso al sistema ADUTEM.
| Campo | Tipo PostgreSQL | Restricciones | Descripción |
|---|---|---|---|
id | SERIAL | PK, autoincrement | Identificador único |
correo | VARCHAR(100) | NOT NULL, UNIQUE | Correo para login |
contraseña | VARCHAR(100) | NOT NULL | Contraseña de acceso |
persona_id | INT | FK → persona.id | Persona asociada |
creacion_usuario | TIMESTAMP | DEFAULT NOW() | Fecha de creación |
Relaciones de Usuario
persona— Relación muchos a uno con personaconvenios[]— Convenios vinculados al usuarioreservas[]— Reservas de áreas recreativas del usuario
El campo
correo en usuario es independiente del correo en persona, aunque generalmente coinciden. Ambos deben ser únicos en sus respectivas tablas.