Database.es - jjaroztegi/BuildingSignalSimulator GitHub Wiki

Documentación de la Base de Datos

🇬🇧 View in English

Descripción General

El Simulador de Distribución de Señal utiliza una base de datos relacional para almacenar datos de componentes, configuraciones y márgenes de calidad. La base de datos está diseñada para gestionar eficientemente los componentes de red y sus especificaciones técnicas mientras soporta las funciones de cálculo y optimización de señal.

Estructura del Esquema

El esquema de la base de datos está organizado en tres secciones principales:

1. Tablas Principales

TiposComponente

Almacena los tipos de componentes disponibles en el sistema.

Columna Tipo Descripción
id_tipos_componente COUNTER (PK) Identificador único
nombre TEXT(50) Nombre del tipo de componente
descripcion TEXT(255) Descripción detallada

Componentes

Almacena información general de los componentes.

Columna Tipo Descripción
id_componentes COUNTER (PK) Identificador único
id_tipos_componente LONG (FK) Referencia a TiposComponente
modelo TEXT(100) Nombre del modelo del componente
costo CURRENCY Costo unitario

2. Tablas de Componentes Específicos

Coaxiales

Propiedades técnicas de cables coaxiales.

Columna Tipo Descripción
id_coaxiales COUNTER (PK) Identificador único
id_componentes LONG (FK) Referencia a Componentes
atenuacion_470mhz DOUBLE Atenuación a 470 MHz
atenuacion_694mhz DOUBLE Atenuación a 694 MHz

Derivadores

Propiedades de los derivadores.

Columna Tipo Descripción
id_derivadores COUNTER (PK) Identificador único
id_componentes LONG (FK) Referencia a Componentes
atenuacion_derivacion DOUBLE Atenuación de derivación
atenuacion_paso DOUBLE Atenuación de paso
directividad DOUBLE Directividad
desacoplo DOUBLE Desacoplo
perdidas_retorno DOUBLE Pérdidas de retorno

Distribuidores

Propiedades de los distribuidores.

Columna Tipo Descripción
id_distribuidores COUNTER (PK) Identificador único
id_componentes LONG (FK) Referencia a Componentes
numero_salidas LONG Número de salidas
atenuacion_distribucion DOUBLE Atenuación de distribución
desacoplo DOUBLE Desacoplo
perdidas_retorno DOUBLE Pérdidas de retorno

Tomas

Propiedades de las tomas.

Columna Tipo Descripción
id_tomas COUNTER (PK) Identificador único
id_componentes LONG (FK) Referencia a Componentes
atenuacion DOUBLE Atenuación
desacoplo DOUBLE Desacoplo

3. Tablas de Configuración

Configuraciones

Almacena las configuraciones de edificios.

Columna Tipo Descripción
id_configuraciones COUNTER (PK) Identificador único
nombre TEXT(100) Nombre de la configuración
nivel_cabecera DOUBLE Nivel de cabecera
num_pisos LONG Número de pisos
costo_total CURRENCY Costo total
fecha_creacion DATETIME Fecha de creación
usuario_creacion TEXT(50) Creado por
fecha_modificacion DATETIME Fecha de última modificación
usuario_modificacion TEXT(50) Modificado por

MargenesCalidad

Define los márgenes de calidad aceptables.

Columna Tipo Descripción
id_margenes_calidad COUNTER (PK) Identificador único
tipo_senal TEXT(50) Tipo de señal
nivel_minimo DOUBLE Nivel mínimo aceptable
nivel_maximo DOUBLE Nivel máximo aceptable

Relaciones

  1. TiposComponente → Componentes

    • Relación Uno a Muchos
    • Cada tipo de componente puede tener múltiples componentes
    • Clave Foránea: Componentes.id_tipos_componenteTiposComponente.id_tipos_componente
  2. Componentes → Tablas Específicas de Componentes

    • Relaciones Uno a Uno
    • Cada componente tiene una entrada en su tabla específica de tipo
    • Claves Foráneas:
      • Coaxiales.id_componentesComponentes.id_componentes
      • Derivadores.id_componentesComponentes.id_componentes
      • Distribuidores.id_componentesComponentes.id_componentes
      • Tomas.id_componentesComponentes.id_componentes

Optimización de Rendimiento

Índices

Los siguientes índices están implementados para mejorar el rendimiento de las consultas:

  • idx_componentes_tipo en Componentes(id_tipos_componente)
  • idx_coaxiales_componente en Coaxiales(id_componentes)
  • idx_derivadores_componente en Derivadores(id_componentes)
  • idx_distribuidores_componente en Distribuidores(id_componentes)
  • idx_tomas_componente en Tomas(id_componentes)

Datos de Ejemplo

Tipos de Componentes

  • Cable Coaxial
  • Base de Toma
  • Derivador
  • Distribuidor

Componentes de Ejemplo

  • Cables: CE-752, CE-740, CE-170, FI-250, CL-200
  • Tomas: BS-100, BS-112, BS-110, BS-111, BS-210, BS-510
  • Derivadores: FP-414, FP-420, FP-426
  • Distribuidores: FI-243, FI-473, FI-253, FI-483

Márgenes de Calidad

  • TDT: Mín 45.0 dB, Máx 70.0 dB

Acceso a la Base de Datos

La aplicación utiliza JDBC para operaciones de base de datos a través de las siguientes clases:

  • com.signalapp.dao.AccessConnection: Gestión de conexión a MS Access
  • com.signalapp.dao.DerbyConnection: Gestión de conexión a Derby
  • com.signalapp.dao.*DAO: Objetos de Acceso a Datos para cada entidad