Table of Contents

Database (Oracle)

Il database è il cuore del sistema, non un dettaglio di persistenza. Contiene la maggior parte della logica applicativa sotto forma di stored procedure, ed è anche uno dei tre canali di accoppiamento fra i due repository → Interazioni.

Important

Il backend è Oracle, non SQL Server (correzione AS-001 rispetto alla specifica PDF originale). Le quattro "database" sono schemi Oracle (utenti) su un'unica istanza/servizio dev (192.168.0.100:1521). L'analisi è stata fatta in sola lettura (solo viste di catalogo). Metadati in docs/_generated/database-catalog.json. Evidenza: TASK-DB-001.

I quattro schemi (VERIFIED — snapshot 2026-07-21)

Schema Dominio Tabelle Viste Colonne Proc.* Trigger Indici Ruolo
INFOCAD_TEST38 core 2628 1551 148453 3161 4889 6391 hub
REQUESTCENTER_TEST38 service desk 60 28 1168 345 28 ticketing
DEM_TEST38 DEM 30 3 176 127 13 sottosistema DEM
ASPNET_TEST38 auth 23 5 217 2 0 membership/ruoli (leaf)

* "Proc." = procedure standalone (USER_OBJECTS PROCEDURE). USER_PROCEDURES, che include anche i sottoprogrammi dei package, conta INFOCAD 8407 · REQUESTCENTER 524 · DEM 268 · ASPNET 34.

Le proporzioni contano: INFOCAD_TEST38 da solo è ~97% delle tabelle. Un nuovo sviluppatore non lo "impara": lo naviga per dominio, partendo dal flusso o dalla tabella che gli serve.

Chi accede a cosa (SUPPORTED)

Le applicazioni non aprono connessioni ad hoc: usano connection string nominate, riscritte al deploy. La mappa tier → schema è quindi leggibile dai nomi:

Connection string Schema Chi la usa prevalentemente File di config
MainConnection INFOCAD_TEST38 DAL di dominio InfocadServer, web CASSANDRA 19
RequestCenterConnection REQUESTCENTER_TEST38 RequestCenter BL/DAL (InfocadWeb) 15
DEMConnection DEM_TEST38 sottosistema DEM 13
OracleProvidersDB ASPNET_TEST38 provider Membership/Role ASP.NET (identity) 11
Note

Le connection string non si modificano a mano per applicazione: al deploy ConnectionsService legge un connections.xml e riscrive <connectionStrings> (e l'applicationName dei provider Oracle) nei *.exe.config, poi riavvia il servizio. Vedi Operations.

Come si accede ai dati (VERIFIED)

  • ODP.NETOracle.DataAccess (unmanaged, richiede Oracle Client) nel bulk 4.8; Oracle.ManagedDataAccess nel codice più recente e nella slice net8.
  • Solo stored procedure, invocate per nome tramite wrapper DAL Execute*StoredProcedure (~1310 ExecuteNonQuery…, ~942 ExecuteQuery…, ~440 ExecuteReader… — 238 file, ~2700 siti).
  • Nessun ORM (no Entity Framework, no Dapper, no NHibernate). Nessuna migration: lo schema vive nel database.
  • Il motore condiviso è Descor.DataManager (GlobalDataManager, cm.Execute*) su cui poggiano tutte le DAL — vedi DataManager.

Conseguenza per chi modifica il sistema: cambiare comportamento spesso significa toccare una stored procedure, non solo il C#/VB. La tracciabilità codice → procedura → tabelle è documentata per dominio in Reference del codice e nei Flussi.

Dipendenze fra gli schemi (VERIFIED)

flowchart LR
    INFOCAD[("INFOCAD<br/>hub · 885 out")]
    RC[("REQUESTCENTER<br/>321 out")]
    DEM[("DEM<br/>8 out")]
    ASPNET[("ASPNET<br/>leaf · 0 out")]

    INFOCAD -->|671| ASPNET
    INFOCAD -->|140| DEM
    INFOCAD -->|74| RC
    RC -->|217| DEM
    RC -->|104| INFOCAD
    DEM -->|6| RC
    DEM -->|2| INFOCAD

Fonte: ALL_DEPENDENCIES (referenced_owner fra i 4 schemi). INFOCAD_TEST38 è l'hub per dimensione e per dipendenze in uscita; ASPNET_TEST38 è una foglia (referenziata da INFOCAD, non dichiara dipendenze cross-schema). Gli schemi non sono isolati: una modifica in REQUESTCENTER può propagarsi in DEM e viceversa.

Significato di business: il limite noto

Warning

Il significato di business dei singoli oggetti (in particolare le 2628 tabelle di INFOCAD_TEST38) è UNKNOWN in attesa di conferma da esperti di dominio (OQ-5). Non dedurre il significato dai soli nomi. Le pagine per-schema riportano metadati tecnici verificati; la colonna "significato" resta UNKNOWN finché non c'è evidenza. Worksheet pronto per il team: business-meaning.

Accesso e sicurezza

Credenziali dell'ambiente di analisi in Documentation/.env (permessi 600, mai stampate). Vedi SEC-001 per le credenziali in chiaro committate in CASSANDRA/Web.config.

Dove approfondire

Cosa Dove
Schema per schema (tabelle, colonne, procedure) INFOCAD · REQUESTCENTER · DEM · ASPNET
Diagrammi relazionali (ERD) INFOCAD · REQUESTCENTER · DEM
Pagina dedicata per ognuna delle 2628 tabelle INFOCAD elenco tabelle
Quale codice legge/scrive quale tabella CRUD matrix
Significato di business (da compilare col team) business-meaning
Come i tier arrivano al DB Interazioni