TP_SEI_Project/arm_database_structure.md
2025-04-15 12:17:51 +02:00

3.5 KiB

Struttura Database ContrattoSEI

1. Gestione Patrimoniale

1.1 Patrimonio Cliente

CREATE TABLE PatrimonioCliente (
    ID INT PRIMARY KEY,
    IDCliente VARCHAR(50),
    DataRilevazione DATE,
    TotalePatrimonio DECIMAL(18,2),
    PatrimonioGestito DECIMAL(18,2),
    PatrimonioAmministrato DECIMAL(18,2),
    PatrimonioAssicurativo DECIMAL(18,2),
    ContiCorrenti DECIMAL(18,2)
);

1.2 Risorse Finanziarie

CREATE TABLE RisorseFinanziarie (
    ID INT PRIMARY KEY,
    IDCliente VARCHAR(50),
    TipoRisorsa VARCHAR(50),
    Importo DECIMAL(18,2),
    DataValuta DATE,
    Allocata BIT,
    CategoriaProdotto VARCHAR(100)
);

1.3 Prodotti ESG

CREATE TABLE ProdottiESG (
    ID INT PRIMARY KEY,
    CodiceProdotto VARCHAR(50),
    NomeProdotto VARCHAR(200),
    CategoriaESG VARCHAR(50),
    RatingESG VARCHAR(10),
    ScoreAmbientale DECIMAL(5,2),
    ScoreSociale DECIMAL(5,2),
    ScoreGovernance DECIMAL(5,2)
);

2. Gestione Contratti

2.1 Contratti

CREATE TABLE Contratti (
    ID INT PRIMARY KEY,
    NumeroContratto VARCHAR(50),
    IDCliente VARCHAR(50),
    TipoContratto VARCHAR(100),
    DataStipula DATE,
    DataScadenza DATE,
    Stato VARCHAR(20)
);

2.2 DocumentiContrattuali

CREATE TABLE DocumentiContrattuali (
    ID INT PRIMARY KEY,
    IDContratto INT,
    TipoDocumento VARCHAR(100),
    PathDocumento VARCHAR(500),
    DataCreazione DATETIME,
    DataInvio DATETIME,
    StatoInvio VARCHAR(20)
);

3. Reporting Trimestrale

3.1 ReportTrimestrali

CREATE TABLE ReportTrimestrali (
    ID INT PRIMARY KEY,
    IDCliente VARCHAR(50),
    Trimestre INT,
    Anno INT,
    DataGenerazione DATETIME,
    PathReport VARCHAR(500),
    StatoInvio VARCHAR(20)
);

3.2 AnalisiPortafoglio

CREATE TABLE AnalisiPortafoglio (
    ID INT PRIMARY KEY,
    IDReport INT,
    TipoAnalisi VARCHAR(100),
    ValoreIniziale DECIMAL(18,2),
    ValoreFinale DECIMAL(18,2),
    Variazione DECIMAL(18,2),
    VariazionePercentuale DECIMAL(5,2)
);

4. Anagrafica

4.1 Clienti

CREATE TABLE Clienti (
    IDCliente VARCHAR(50) PRIMARY KEY,
    Nome VARCHAR(100),
    Cognome VARCHAR(100),
    CodiceFiscale VARCHAR(16),
    Email VARCHAR(200),
    Telefono VARCHAR(20),
    IndirizzoResidenza VARCHAR(500)
);

4.2 Consulenti

CREATE TABLE Consulenti (
    IDConsulente VARCHAR(50) PRIMARY KEY,
    Nome VARCHAR(100),
    Cognome VARCHAR(100),
    Email VARCHAR(200),
    AreaTerritoriale VARCHAR(100)
);

5. Configurazione Sistema

5.1 ConfigurazioniPDF

CREATE TABLE ConfigurazioniPDF (
    ID INT PRIMARY KEY,
    TipoDocumento VARCHAR(100),
    Template VARCHAR(200),
    ParametriConfigurazione TEXT,
    Attivo BIT
);

5.2 LogOperazioni

CREATE TABLE LogOperazioni (
    ID INT PRIMARY KEY IDENTITY(1,1),
    DataOperazione DATETIME,
    TipoOperazione VARCHAR(100),
    Descrizione TEXT,
    Utente VARCHAR(50),
    StatoOperazione VARCHAR(20)
);

Relazioni Chiave

  • Clienti -> PatrimonioCliente (1:N)
  • Clienti -> Contratti (1:N)
  • Contratti -> DocumentiContrattuali (1:N)
  • Clienti -> ReportTrimestrali (1:N)
  • ReportTrimestrali -> AnalisiPortafoglio (1:N)
  • Consulenti -> Clienti (1:N)

Note Tecniche

  1. Tutti gli importi sono memorizzati con precisione a 2 decimali
  2. Le date includono sempre il timestamp per tracciabilità
  3. I path dei documenti sono memorizzati come percorsi relativi
  4. Gli stati sono gestiti tramite enumerazioni predefinite
  5. I log operazioni mantengono traccia di tutte le modifiche