Saltar al contenido principal

Diseño lógico de la base de datos

El diseño lógico traduce el modelo conceptual a un esquema relacional con tablas, atributos, claves primarias y foráneas, sin especificar tipos de datos físicos ni detalles del motor de base de datos.

Notación

  • PK — Clave primaria
  • FK — Clave foránea (referencia indicada con →)
  • UQ — Valor único
  • Cursiva — Atributo opcional (puede ser nulo)

Tablas del sistema

ROL

AtributoTipo lógicoRestricción
id_rolEnteroPK, autogenerado
nombre_rolTexto cortoNOT NULL, UQ
descripcionTexto

AREA

AtributoTipo lógicoRestricción
id_areaEnteroPK, autogenerado
codigo_areaTexto cortoNOT NULL, UQ
nombre_areaTexto cortoNOT NULL
descripcionTexto
anio_vigenciaAñoNOT NULL
activoBooleanoNOT NULL
created_atFecha-horaNOT NULL

USUARIO_SISTEMA

AtributoTipo lógicoRestricción
id_usuarioEnteroPK, autogenerado
id_rolEnteroFK → ROL(id_rol), NOT NULL
id_areaEnteroFK → AREA(id_area), NOT NULL
nombresTexto cortoNOT NULL
apellidosTexto cortoNOT NULL
dniTexto fijo 8 charsNOT NULL, UQ
usernameTexto cortoNOT NULL, UQ
password_hashTextoNOT NULL
emailTexto
activoBooleanoNOT NULL
ultimo_accesoFecha-hora
created_atFecha-horaNOT NULL

TIPO_EQUIPO

AtributoTipo lógicoRestricción
id_tipoEnteroPK, autogenerado
nombre_tipoTexto cortoNOT NULL, UQ
descripcionTexto

MARCA

AtributoTipo lógicoRestricción
id_marcaEnteroPK, autogenerado
nombre_marcaTexto cortoNOT NULL, UQ

SISTEMA_OPERATIVO

AtributoTipo lógicoRestricción
id_soEnteroPK, autogenerado
nombre_soTexto cortoNOT NULL
version_soTexto cortoNOT NULL
UQ(nombre_so, version_so)

MODELO_EQUIPO

AtributoTipo lógicoRestricción
id_modeloEnteroPK, autogenerado
id_marcaEnteroFK → MARCA(id_marca), NOT NULL
id_tipoEnteroFK → TIPO_EQUIPO(id_tipo), NOT NULL
nombre_modeloTexto cortoNOT NULL

EQUIPO

AtributoTipo lógicoRestricción
id_equipoEnteroPK, autogenerado
codigo_ejercitoTexto cortoNOT NULL, UQ
id_tipoEnteroFK → TIPO_EQUIPO(id_tipo), NOT NULL
id_modeloEnteroFK → MODELO_EQUIPO(id_modelo), NOT NULL
id_areaEnteroFK → AREA(id_area), NOT NULL
id_soEnteroFK → SISTEMA_OPERATIVO(id_so), NOT NULL
numero_serieTextoNOT NULL, UQ
nombre_responsableTextoNOT NULL
mac_addressTexto fijoUQ
ip_addressTexto
tipo_redEnumeradoNOT NULL: ETHERNET, WIFI, N/A
estadoEnumeradoNOT NULL: EN_BODEGA, ASIGNADO, EN_REPARACION, PRESTADO, DADO_DE_BAJA
fecha_adquisicionFecha
fecha_registroFechaNOT NULL
fecha_bajaFecha
observacionesTexto largo

ESPECIFICACION_TECNICA

AtributoTipo lógicoRestricción
id_especEnteroPK, autogenerado
id_equipoEnteroFK → EQUIPO(id_equipo), NOT NULL, UQ
procesadorTexto corto
nucleosEntero pequeño
hilosEntero pequeño
ram_modulosEntero pequeño
ram_total_gbEntero
ram_velocidad_mhzEntero
ram_marcaTexto corto
disco_modeloTexto corto
disco_interfaceTexto corto
disco_capacidad_gbDecimal
disco_usado_gbDecimal
disco_libre_gbDecimal
gpu_marcaTexto corto
gpu_modeloTexto corto
gpu_vram_gbDecimal
monitor_marcaTexto corto
monitor_modeloTexto corto
red_modeloTexto corto

HISTORIAL_ESTADO

AtributoTipo lógicoRestricción
id_historialEnteroPK, autogenerado
id_equipoEnteroFK → EQUIPO(id_equipo), NOT NULL
id_usuarioEnteroFK → USUARIO_SISTEMA(id_usuario), NOT NULL
estado_anteriorEnumeradoNOT NULL: estados de equipo
estado_nuevoEnumeradoNOT NULL: estados de equipo
motivoTexto
fecha_cambioFecha-horaDEFAULT: fecha-hora actual

TIPO_INCIDENTE

AtributoTipo lógicoRestricción
id_tipo_incidenteEnteroPK, autogenerado
nombre_tipoTexto cortoNOT NULL, UQ
tiempo_respuesta_minEnteroNOT NULL
tiempo_resolucion_minEnteroNOT NULL
descripcionTexto

TICKET

AtributoTipo lógicoRestricción
id_ticketEnteroPK, autogenerado
numero_ticketTexto cortoNOT NULL, UQ
id_equipoEnteroFK → EQUIPO(id_equipo), NOT NULL
id_tecnicoEnteroFK → USUARIO_SISTEMA(id_usuario), NOT NULL
id_tipo_incidenteEnteroFK → TIPO_INCIDENTE(id_tipo_incidente), NOT NULL
tituloTextoNOT NULL
descripcionTexto largo
estadoEnumeradoNOT NULL: ABIERTO, EN_PROCESO, RESUELTO, CERRADO
prioridadEnumeradoNOT NULL: BAJA, MEDIA, ALTA, CRITICA
fecha_aperturaFecha-horaNOT NULL
fecha_respuestaFecha-hora
fecha_resolucionFecha-hora
fecha_cierreFecha-hora
fuera_de_slaBooleanoNOT NULL, DEFAULT: falso
pdf_acta_pathTexto

HISTORIAL_TICKET

AtributoTipo lógicoRestricción
id_hist_ticketEnteroPK, autogenerado
id_ticketEnteroFK → TICKET(id_ticket), NOT NULL
id_usuarioEnteroFK → USUARIO_SISTEMA(id_usuario), NOT NULL
estado_anteriorEnumeradoNOT NULL: estados de ticket
estado_nuevoEnumeradoNOT NULL: estados de ticket
comentarioTexto largo
fecha_cambioFecha-horaDEFAULT: fecha-hora actual

NOTIFICACION

AtributoTipo lógicoRestricción
id_notifEnteroPK, autogenerado
id_usuarioEnteroFK → USUARIO_SISTEMA(id_usuario), NOT NULL
tipo_notifEnumeradoNOT NULL: STOCK_CRITICO, SLA_VENCIDO, TICKET_ASIGNADO, INFO
tituloTextoNOT NULL
mensajeTexto largo
leidaBooleanoNOT NULL, DEFAULT: falso
url_accionTexto
fecha_creacionFecha-horaDEFAULT: fecha-hora actual

CONFIG_STOCK

AtributoTipo lógicoRestricción
id_configEnteroPK, autogenerado
id_tipoEnteroFK → TIPO_EQUIPO(id_tipo), NOT NULL
umbral_pctEntero pequeñoNOT NULL
id_usuario_configEnteroFK → USUARIO_SISTEMA(id_usuario), NOT NULL
fecha_modificacionFecha-horaDEFAULT: fecha-hora actual

Diagrama relacional