Saltar al contenido principal

Modelo de Datos

Descripción General

La persistencia de datos del sistema se implementa mediante PostgreSQL utilizando Prisma ORM como capa de acceso a datos.

La base de datos almacena información relacionada con usuarios, eventos, horarios, productos e imágenes generadas mediante inteligencia artificial.


Diagrama Entidad Relación

erDiagram

USER ||--o{ IMAGE : posee

EVENTO ||--o{ HORARIO : "tiene"
EVENTO ||--o{ PRODUCTO : "incluye"

USER {
int id PK
string name
string email
string password
string role
datetime createdAt
}

EVENTO {
int id PK
string title
string description
datetime date
string type
string recurrence
decimal price
int capacity
boolean isActive
}

HORARIO {
int id PK
string day
int dayOrder
string openTime
string closeTime
boolean isClosed
decimal basePrice
}

PRODUCTO {
int id PK
string name
string description
decimal price
int stock
string category
boolean isActive
}

IMAGE {
int id PK
int userId FK
string originalUrl
string generatedUrl
string artworkName
string authorName
int authorAge
boolean isPublic
}

Diagrama Entidad Relación Visual

Diagrama del Modelo de Datos

Entidad User

Representa los usuarios registrados en la plataforma.

Campos

CampoDescripción
idIdentificador único
nameNombre del usuario
emailCorreo electrónico
passwordContraseña cifrada con bcrypt
roleUSER o ADMIN
createdAtFecha de creación

Entidad Evento

Representa actividades culturales y exposiciones.

Campos

CampoDescripción
titleNombre del evento
descriptionInformación detallada
dateFecha del evento
typeTipo de actividad
recurrenceFrecuencia
pricePrecio de entrada
capacityCupo máximo
isActiveEstado del evento

Entidad Horario

Define los horarios de atención del museo.

Campos

CampoDescripción
dayDía de la semana
dayOrderOrden de visualización
openTimeHora apertura
closeTimeHora cierre
isClosedDía cerrado
basePriceTarifa base

Entidad Producto

Representa los artículos disponibles en la tienda institucional.

Campos

CampoDescripción
nameNombre
descriptionDescripción
pricePrecio
stockInventario
categoryCategoría
isActiveDisponibilidad

Entidad Image

Almacena imágenes originales y generadas por IA.

Campos

CampoDescripción
originalUrlImagen subida
generatedUrlImagen generada
artworkNameNombre de la obra
authorNameAutor
authorAgeEdad
isPublicVisibilidad

Relación Principal

Un usuario puede poseer múltiples imágenes generadas.

User 1 ---- N Image