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.NET —
Oracle.DataAccess(unmanaged, richiede Oracle Client) nel bulk 4.8;Oracle.ManagedDataAccessnel codice più recente e nella slice net8. - Solo stored procedure, invocate per nome tramite wrapper DAL
Execute*StoredProcedure(~1310ExecuteNonQuery…, ~942ExecuteQuery…, ~440ExecuteReader…— 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 |