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​