# Struttura Database ContrattoSEI ## 1. Gestione Patrimoniale ### 1.1 Patrimonio Cliente ```sql 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 ```sql 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 ```sql 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 ```sql 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 ```sql 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 ```sql 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 ```sql 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 ```sql 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 ```sql 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 ```sql CREATE TABLE ConfigurazioniPDF ( ID INT PRIMARY KEY, TipoDocumento VARCHAR(100), Template VARCHAR(200), ParametriConfigurazione TEXT, Attivo BIT ); ``` ### 5.2 LogOperazioni ```sql 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