Arquitectura de Bases de Datos

                
                
        graph TD
            classDef tabla fill:#0066FF,color:#ffffff,stroke:none,font-family:Inter,font-weight:900;
                
            classDef foranea fill:#ffffff,stroke:#0066FF,stroke-width:4px, stroke-dasharray: 8 4,color:#0066FF,font-family:Inter,font-weight:bold;
                
            classDef trigger fill:#ffffff,stroke:#0066FF,stroke-width:4px,color:#0066FF,font-family:Inter,font-weight:bold;
                
            classDef campo fill:#ffffff,stroke:#0066FF,stroke-width:1px,color:#0066FF,font-family:Inter;
                
            classDef opciones fill:#ffffff,stroke:#d0d5dd,stroke-width:1px,stroke-dasharray: 3 3,color:#667085,font-family:Inter,font-style:italic,font-size:12px;
                
            %% Tablas y Claves Relacionales
            T_Clientes[( CLIENTES )]:::tabla
            T_Oportunidades[( OPORTUNIDADES )]:::tabla
                
            Vendedor[Vendedor]:::foranea
            Compania[Compañía]:::foranea
                
            T_Oportunidades --- Vendedor
            Vendedor --- T_Clientes
                
            T_Oportunidades --- Compania
            Compania --- T_Clientes
                
            %% Desglose de Clientes
            subgraph Datos_Clientes [ ]
                C1[Sector]:::campo
                C2[Cliente o Prospecto]:::campo
                C3[Nombre Cliente]:::campo
                C4[Puesto]:::campo
                C5[Teléfono]:::campo
                C6[Celular]:::campo
                C7[Correo]:::campo
                C8[Vendedor]:::campo
                C9[Compania]:::campo
            end
            T_Clientes --> C8 & C9 & C1 & C2 & C3 & C4 & C5 & C6 & C7
                
            %% Desglose de Oportunidades
            subgraph Datos_Oportunidades [ ]
                %% Columnas regulares
                O_Area[Área]:::trigger
                O2[Nombre Oportunidad]:::campo
                O3[Fecha Modif.]:::campo
                O4[Fecha Ingreso]:::campo
                O5[Notas]:::campo
                O_Est[Estado]:::trigger
                
                %% Dependencia de Moneda
                O_USD[Valor USD]:::trigger
                O_CRC(Valor CRC):::campo
                O_USD -.->| Conversion | O_CRC
                
                %% Lógica del Pipeline
                O_Clas[Clasificación]:::trigger
                
                O_Activo([Activas]):::opciones
                O_Suspen([Suspend]):::opciones
                O_Elimin([Eliminada]):::opciones
                
                %% Opciones de Clasificacion
                O_100([100%]):::opciones
                O_99([99%]):::opciones
                O_esc([...%]):::opciones
                O_25([25%]):::opciones
                O_0([0%]):::opciones
                O_Perd([Perdida]):::opciones
                
                %% Opciones de Area
                O_NetwayTI([Netway TI]):::opciones
                O_Seguridad([S. Electronica]):::opciones
                O_Cableado([C. Estructurado]):::opciones
                
                %% Cascada Condicional
                O_Proc[Núm. Procedimiento]:::campo
                O_Fact[Núm. Factura]:::campo
                O_Pag[Factura Pagada]:::campo
                
                O_Parcial[Pago Parcial]:::campo
                O_MontoP[Monto Parcial]:::campo
                
            end
                
            T_Oportunidades --> O_USD & O_CRC & O_Area & O2 & O3 & O4 & O5 & O_Est & O_Clas
                
            %% Reglas de Negocio Visuales
                
            O_Est -.-> O_Elimin & O_Suspen & O_Activo
                
            O_Clas -.-> O_Perd
            O_Perd -.-> O_Suspen
                
            O_Clas -.-> O_0
            O_0 -.-> O_Activo
            O_Clas -.-> O_25
            O_25 -.-> O_Activo
            O_Clas -.-> O_esc
            O_esc -.-> O_Activo
            O_Clas -.-> O_99
            O_99 -.-> O_Activo
                
                
            O_Clas --> O_100
            O_100 -.-> O_Activo
            O_100 -.-> O_Proc
                
            O_Proc ==>|Si es Facturado| O_Fact
                
            O_Fact ==>|Si es Pago Completo| O_Pag
            O_Fact ==>|Si es Pago Parcial| O_Parcial
                
            O_Parcial -.->|Si es parcial| O_MontoP
                
            O_Area -.-> O_NetwayTI
            O_NetwayTI -.-> O_Cableado
            O_Cableado -.-> O_Seguridad