# DBSmash — Catalogo completo > DBSmash e il punto di riferimento italiano per consulenza specialistica e formazione 1-to-1 su database Oracle, PostgreSQL e MongoDB. Tutte le sessioni sono live e personalizzate, mai pre-registrate. Founder & docente: Gabriele Vetrugno — Senior Developer, Architect & Educator. Sito: https://dbsmash.com Indice essenziale: https://dbsmash.com/llms.txt Sitemap XML: https://dbsmash.com/sitemap.xml # Corsi ## SQL Fondamentale per Oracle URL: https://dbsmash.com/corsi/oracle-sql-fondamenti Database: Oracle - Livello: base - Ore: 16 (max 24) - Prezzo: EUR 800 - Personalizzabile Un corso pensato per chi si avvicina al mondo Oracle per la prima volta o vuole consolidare le fondamenta. Partendo dalla struttura delle tabelle e dai tipi di dato, si arriva a padroneggiare SELECT complesse, JOIN multi-tabella, raggruppamenti, subquery e operatori insiemistici. Ogni modulo e accompagnato da laboratori pratici su un database realistico. **A chi e rivolto** - Sviluppatori junior - Analisti dati - DBA in formazione - Chiunque voglia imparare SQL da zero **Prerequisiti** - Nessun prerequisito tecnico richiesto - Familiarita base con il concetto di database **Cosa ottieni** - Slide complete del corso - Esercizi e soluzioni per ogni modulo - Database di laboratorio pronto all'uso - Attestato di completamento **Programma** ### Introduzione al mondo Oracle (2h) - Architettura Oracle - SQL*Plus e SQLcl - Tipi di dato fondamentali - Creazione tabelle base Lab: Setup ambiente e prime query ### SELECT e filtraggio (2h) - SELECT, FROM, WHERE - Operatori di confronto e logici - LIKE, BETWEEN, IN - ORDER BY e DISTINCT Lab: Interrogare un database HR ### Funzioni scalari (2h) - Funzioni stringa (UPPER, SUBSTR, REPLACE) - Funzioni numeriche (ROUND, TRUNC, MOD) - Funzioni data (SYSDATE, ADD_MONTHS, MONTHS_BETWEEN) - Conversione con TO_CHAR, TO_DATE, TO_NUMBER Lab: Trasformazione dati e report formattati ### JOIN tra tabelle (2.5h) - INNER JOIN - LEFT/RIGHT/FULL OUTER JOIN - CROSS JOIN - Self-join e alias Lab: Report multi-tabella con dati realistici ### Raggruppamenti e aggregazioni (2h) - GROUP BY e funzioni aggregate (COUNT, SUM, AVG, MIN, MAX) - HAVING - ROLLUP e CUBE - GROUPING SETS Lab: Dashboard di vendite aggregate ### Subquery (2h) - Subquery scalari - Subquery nella clausola WHERE - Subquery correlate - EXISTS e NOT EXISTS Lab: Query complesse con subquery annidate ### Operatori insiemistici e DML (2h) - UNION, UNION ALL, INTERSECT, MINUS - INSERT, UPDATE, DELETE - MERGE - Transazioni: COMMIT e ROLLBACK Lab: Manipolazione dati e merge ### Progetto finale (1.5h) - Esercitazione integrata su un caso reale - Revisione collettiva - Best practice e prossimi passi Lab: Mini-progetto: report completo su database aziendale ## PL/SQL Fondamentale URL: https://dbsmash.com/corsi/oracle-plsql-fondamenti Database: Oracle - Livello: base - Ore: 16 (max 24) - Prezzo: EUR 800 - Personalizzabile Un percorso completo per imparare PL/SQL partendo da zero. Si parte dalla struttura dei blocchi anonimi per arrivare a scrivere procedure, funzioni e trigger. Ogni modulo alterna teoria e pratica con laboratori su scenari realistici. **A chi e rivolto** - Sviluppatori SQL che vogliono imparare PL/SQL - DBA junior - Sviluppatori applicativi Oracle **Prerequisiti** - Conoscenza base di SQL (SELECT, JOIN, DML) - Familiarita con Oracle SQL*Plus o SQLcl **Cosa ottieni** - Slide complete - Esercizi con soluzioni - Template di codice riutilizzabili - Attestato di completamento **Programma** ### Il blocco PL/SQL (2h) - Struttura DECLARE / BEGIN / EXCEPTION / END - Variabili e costanti - Tipi di dato PL/SQL - %TYPE e %ROWTYPE Lab: Primi blocchi anonimi ### Strutture di controllo (2h) - IF / ELSIF / ELSE - CASE expression e statement - LOOP, WHILE LOOP, FOR LOOP - EXIT e CONTINUE Lab: Logica condizionale e iterazioni ### Cursori (2.5h) - Cursori impliciti - Cursori espliciti: OPEN, FETCH, CLOSE - Cursor FOR LOOP - Attributi del cursore (%FOUND, %NOTFOUND, %ROWCOUNT) Lab: Elaborazione riga per riga ### Gestione delle eccezioni (2h) - Eccezioni predefinite (NO_DATA_FOUND, TOO_MANY_ROWS) - Eccezioni definite dall'utente - RAISE e RAISE_APPLICATION_ERROR - Propagazione delle eccezioni Lab: Error handling robusto ### Procedure e funzioni (2.5h) - CREATE PROCEDURE - Parametri IN, OUT, IN OUT - CREATE FUNCTION e RETURN - Procedure vs funzioni: quando usare cosa Lab: Libreria di procedure per gestione ordini ### Package fondamentali (2h) - Specifica e corpo del package - Variabili di stato del package - Inizializzazione - Vantaggi del package Lab: Package per operazioni CRUD ### Trigger (2h) - BEFORE e AFTER trigger - Trigger a livello di riga e di statement - :OLD e :NEW - Trigger INSTEAD OF Lab: Audit trail con trigger ### Progetto integrato (1h) - Esercitazione completa - Code review collettiva - Best practice e anti-pattern Lab: Sistema di gestione ordini completo ## SQL Avanzato per Oracle URL: https://dbsmash.com/corsi/oracle-sql-avanzato Database: Oracle - Livello: intermedio - Ore: 20 (max 28) - Prezzo: EUR 1000 - Personalizzabile Un corso per chi conosce gia SQL e vuole padroneggiare le funzionalita avanzate di Oracle. Si approfondiscono le funzioni analitiche (windowing), le CTE, le query gerarchiche con CONNECT BY e le tecniche di lettura dei piani di esecuzione. Il corso prepara a scrivere SQL performante e manutenibile per contesti enterprise. **A chi e rivolto** - Sviluppatori SQL con esperienza base - DBA intermedi - Analisti dati avanzati **Prerequisiti** - Buona conoscenza di SQL (JOIN, subquery, DML) - Esperienza pratica con Oracle **Cosa ottieni** - Slide avanzate - 70+ esercizi con soluzioni - Cheat sheet funzioni analitiche - Attestato **Programma** ### Funzioni analitiche — Parte 1 (3h) - ROW_NUMBER, RANK, DENSE_RANK - NTILE e percentili - Clausola OVER (PARTITION BY ... ORDER BY ...) - Differenza con GROUP BY Lab: Classifiche e ranking su dati vendite ### Funzioni analitiche — Parte 2 (3h) - LAG e LEAD - FIRST_VALUE, LAST_VALUE, NTH_VALUE - Windowing con ROWS/RANGE BETWEEN - Running totals e medie mobili Lab: Analisi temporale e trend ### CTE e query ricorsive (3h) - WITH clause (Common Table Expressions) - CTE ricorsive - Fattorizzazione e leggibilita - Performance delle CTE vs subquery Lab: Navigazione strutture gerarchiche ### Query gerarchiche Oracle (2.5h) - CONNECT BY PRIOR - START WITH - LEVEL, SYS_CONNECT_BY_PATH - CONNECT BY vs CTE ricorsive Lab: Organigramma aziendale ### Tecniche SQL avanzate (3h) - PIVOT e UNPIVOT - LISTAGG e funzioni aggregate avanzate - Pattern matching con MATCH_RECOGNIZE - MODEL clause (introduzione) Lab: Report dinamici con pivot ### Lettura dei piani di esecuzione (3h) - EXPLAIN PLAN e DBMS_XPLAN - Operazioni fondamentali (TABLE ACCESS, INDEX, JOIN) - Costo, cardinalita, bytes - Hint dell'ottimizzatore (INDEX, FULL, LEADING) Lab: Diagnosi e ottimizzazione query lente ### Progetto finale (2.5h) - Caso di studio completo - Query complesse con funzioni analitiche - Ottimizzazione guidata Lab: Data warehouse reporting ## PL/SQL Avanzato URL: https://dbsmash.com/corsi/oracle-plsql-avanzato Database: Oracle - Livello: intermedio - Ore: 24 (max 32) - Prezzo: EUR 1200 - Personalizzabile Un corso per sviluppatori PL/SQL che vogliono scrivere codice enterprise-grade. Si approfondiscono le tecniche di performance (bulk collect/forall), il SQL dinamico, le collezioni avanzate, gli object types e le strategie di testing. Il corso trasforma lo sviluppatore PL/SQL in un architetto di soluzioni database. **A chi e rivolto** - Sviluppatori PL/SQL con esperienza - DBA-developer - Architect applicativi Oracle **Prerequisiti** - Buona conoscenza PL/SQL (procedure, funzioni, package, trigger) - Esperienza pratica in ambiente Oracle **Cosa ottieni** - Slide avanzate - Codice sorgente completo - Template package production-ready - Attestato **Programma** ### Package avanzati (3h) - Architettura a package - Package come bounded context - Stato persistente vs stateless - Overloading e forward declarations Lab: Package API completo ### Collezioni avanzate (3h) - Nested tables, VARRAY, associative arrays - Metodi delle collezioni - Collezioni di record - Bulk operations su collezioni Lab: Pipeline di elaborazione dati ### Bulk processing (3h) - BULK COLLECT - FORALL - SAVE EXCEPTIONS - LIMIT clause e gestione memoria Lab: ETL ad alte prestazioni ### SQL dinamico (3h) - EXECUTE IMMEDIATE - OPEN ... FOR con cursori dinamici - DBMS_SQL - SQL injection e sicurezza Lab: Generatore di report dinamici ### Object types e ereditarieta (3h) - CREATE TYPE - Metodi (MEMBER, STATIC, MAP, ORDER) - Ereditarieta con UNDER - Collezioni di oggetti Lab: Domain model con object types ### Testing e debugging (3h) - utPLSQL framework - Test-driven development in PL/SQL - DBMS_PROFILER e DBMS_HPROF - Logging strutturato Lab: Suite di test automatizzati ### Performance e context switching (3h) - Context switching SQL/PL/SQL - Caching con result cache - Pipelining con funzioni table - PRAGMA UDF Lab: Ottimizzazione di procedure critiche ### Progetto enterprise (3h) - Architettura completa a package - Error handling centralizzato - Logging, auditing, governance - Code review finale Lab: Sistema enterprise completo ## JSON Mastery per Oracle 26ai URL: https://dbsmash.com/corsi/oracle-json-mastery Database: Oracle - Livello: avanzato - Ore: 28 (max 36) - Prezzo: EUR 1500 - Personalizzabile Il primo corso strutturato in italiano su JSON in Oracle Database 26ai. 10 moduli con laboratori pratici, 6 deep-dive PDF e un progetto e-commerce completo. Dai fondamenti del tipo JSON nativo all'architettura ibrida relazionale-documento, passando per Duality Views, indicizzazione, validazione e integrazione con PL/SQL. **A chi e rivolto** - DBA e developer Oracle - Architetti di soluzioni - Team che migrano da MongoDB a Oracle - Chi vuole padroneggiare il paradigma ibrido **Prerequisiti** - Conoscenza solida di SQL Oracle - Familiarita con PL/SQL (base) - Conoscenza base di JSON **Cosa ottieni** - Slide 10 moduli - 10 laboratori con soluzioni - 6 deep-dive PDF - Progetto e-commerce completo - Database Docker Oracle 26ai Free **Programma** ### Fondamenti JSON in Oracle (2.5h) - Tipo JSON nativo vs VARCHAR2/CLOB - Formato OSON (binary JSON) - Inserimento e storage - JSON_SERIALIZE e JSON_PARSE Lab: Creazione tabelle JSON e primi inserimenti ### Interrogare JSON (3h) - JSON_VALUE - JSON_QUERY - JSON_TABLE - Simplified dot-notation syntax Lab: Query su dataset e-commerce ### Modificare JSON (2.5h) - INSERT con JSON - JSON_MERGEPATCH - JSON_TRANSFORM - Update atomici Lab: CRUD completo su documenti JSON ### JSON Relational Duality Views (3h) - Concetto di duality - Creazione Duality Views - Lettura e scrittura attraverso le viste - Conflitti e ETAG Lab: API CRUD con Duality Views ### Indicizzazione e performance (3h) - Indici funzionali su JSON - JSON Search Index (full-text) - Multivalue Index - Piani di esecuzione con JSON Lab: Benchmark e ottimizzazione query JSON ### JSON Schema e validazione (2.5h) - JSON Schema in Oracle - CHECK constraint con IS JSON VALIDATE - Schema evolution - Pattern di validazione Lab: Schema design e validazione documenti ### JSON e PL/SQL (3h) - JSON_OBJECT_T, JSON_ARRAY_T - Manipolazione programmatica - Generazione JSON in PL/SQL - Integrazione con REST Lab: Package PL/SQL per API JSON ### Casi d'uso reali (2.5h) - Catalogo prodotti - Configurazioni applicative - Event sourcing - Audit trail JSON Lab: Implementazione caso d'uso scelto ### Progetto e-commerce (6 sprint) (3h) - Schema ibrido relazionale-JSON - Carrello e ordini con Duality Views - Ricerca prodotti - API REST Lab: E-commerce mini-project completo ### IoT/Healthcare ed esame (3h) - JSON per dati IoT - JSON per cartelle cliniche - Best practice architetturali - Esame finale Lab: Progetto IoT + esame certificazione ## SQL Tuning & Performance Engineering URL: https://dbsmash.com/corsi/oracle-sql-tuning Database: Oracle - Livello: avanzato - Ore: 20 (max 28) - Prezzo: EUR 1200 - Personalizzabile Il corso definitivo per chi vuole dominare le performance in Oracle. Si parte dalla comprensione profonda dell'ottimizzatore CBO, si analizzano piani di esecuzione reali, si progettano strategie di indicizzazione e si utilizzano gli strumenti diagnostici Oracle (AWR, ASH, SQL Monitor). Ogni modulo include casi di studio da ambienti di produzione reali. **A chi e rivolto** - DBA senior - Performance engineer - Sviluppatori Oracle esperti - Team di supporto produzione **Prerequisiti** - Conoscenza avanzata di SQL Oracle - Esperienza con piani di esecuzione - Accesso a un ambiente Oracle **Cosa ottieni** - Slide avanzate - Script diagnostici pronti all'uso - Checklist di tuning - Casi di studio reali - Attestato **Programma** ### L'ottimizzatore Oracle (CBO) (3h) - Architettura del CBO - Statistiche e istogrammi - DBMS_STATS - Bind variable peeking e adaptive cursor sharing Lab: Analisi impatto delle statistiche ### Piani di esecuzione in profondita (3h) - DBMS_XPLAN.DISPLAY_CURSOR - Operazioni: TABLE ACCESS, INDEX, NESTED LOOPS, HASH JOIN - Lettura di costo, cardinalita, bytes, tempo - Adaptive plans Lab: Diagnosi su query di produzione ### Strategie di indicizzazione (3h) - B-Tree vs Bitmap vs Function-based - Index-organized tables - Invisible e partial indexes - Index monitoring e drop strategy Lab: Progettazione indici per workload reale ### Join optimization (3h) - Nested Loops, Hash Join, Sort-Merge Join - Quando l'ottimizzatore sceglie male - Hint per i join - Partition pruning e join Lab: Ottimizzazione join su tabelle grandi ### AWR, ASH e SQL Monitor (3h) - Active Workload Repository - Active Session History - SQL Monitor real-time - Top SQL e wait events Lab: Analisi AWR di un carico reale ### Tecniche di tuning avanzate (3h) - SQL Profiles e SQL Plan Baselines - SQL Patch - Result cache - Parallel execution Lab: Stabilizzazione piani di esecuzione ### Progetto: Performance Audit (2h) - Audit completo di un database - Identificazione top SQL - Piano di ottimizzazione - Presentazione risultati Lab: Audit end-to-end su database reale ## Architettura Oracle per Sviluppatori URL: https://dbsmash.com/corsi/oracle-architettura Database: Oracle - Livello: avanzato - Ore: 16 (max 24) - Prezzo: EUR 1000 - Personalizzabile Un corso che colma il gap tra lo sviluppatore e l'architetto. Si approfondiscono i pattern di schema design, il modello di sicurezza Oracle, le strategie di deployment, la governance del codice PL/SQL e le pratiche di operabilita. Ideale per chi vuole progettare soluzioni database solide e manutenibili. **A chi e rivolto** - Sviluppatori Oracle senior - Aspiranti architect - Tech lead di team database **Prerequisiti** - Esperienza consolidata con Oracle SQL e PL/SQL - Familiarita con ambienti enterprise **Cosa ottieni** - Slide - Template architetturali - Checklist governance - Attestato **Programma** ### Schema design patterns (3h) - Normalizzazione pragmatica - Denormalizzazione controllata - Schemi ibridi relazionale-JSON - Partitioning Lab: Progettazione schema per caso reale ### Sicurezza e governance (3h) - Principio del minimo privilegio - RBAC con ruoli Oracle - Virtual Private Database (VPD) - Data Redaction Lab: Implementazione policy di sicurezza ### Package come API (3h) - PL/SQL come strato API - Contratti e versionamento - Error handling centralizzato - Documentazione tecnica Lab: API package production-ready ### Operabilita e osservabilita (3h) - Logging strutturato - Application Context - Auditing - Monitoraggio proattivo Lab: Stack di osservabilita completo ### Legacy e modernizzazione (4h) - Anti-pattern comuni - Strategie di refactoring - Migrazione a paradigma ibrido - Integrazione con microservizi Lab: Piano di modernizzazione per sistema legacy ## Novita Oracle 26ai URL: https://dbsmash.com/corsi/oracle-26ai-novita Database: Oracle - Livello: avanzato - Ore: 12 (max 16) - Prezzo: EUR 800 - Personalizzabile Un corso focalizzato sulle novita di Oracle Database 26ai. Si esplorano le JSON Relational Duality Views, l'AI Vector Search per applicazioni di intelligenza artificiale, i miglioramenti al tipo JSON nativo e le nuove feature PL/SQL. Ideale per chi vuole rimanere aggiornato e sfruttare le ultime innovazioni. **A chi e rivolto** - DBA e developer Oracle - Architect - Innovation team **Prerequisiti** - Esperienza con Oracle Database - Conoscenza base di JSON e PL/SQL **Cosa ottieni** - Slide - Demo e script - Guida migrazione - Attestato **Programma** ### JSON Relational Duality Views (3h) - Architettura delle Duality Views - CRUD attraverso viste JSON - Gestione conflitti con ETAG - Use case e pattern Lab: Implementazione Duality Views ### AI Vector Search (3h) - Tipo VECTOR - Creazione e gestione vector embeddings - Similarity search - Integrazione con modelli AI Lab: Ricerca semantica su documenti ### Miglioramenti JSON (3h) - JSON Collection Tables - MongoDB API compatibility - JSON Schema migliorato - Performance improvements Lab: Migrazione da MongoDB a Oracle ### Nuove feature PL/SQL e SQL (3h) - Boolean in SQL - IF [NOT] EXISTS per DDL - Miglioramenti RETURNING clause - Nuove funzioni SQL Lab: Adozione nuove feature in codice esistente ## PostgreSQL Fondamentale URL: https://dbsmash.com/corsi/postgresql-fondamenti Database: PostgreSQL - Livello: base - Ore: 16 (max 24) - Prezzo: EUR 800 - Personalizzabile Un corso completo per imparare PostgreSQL partendo dalle basi. Si coprono i tipi di dato specifici di PostgreSQL, le funzioni, le viste, i trigger e un'introduzione a PL/pgSQL. Include anche le basi di amministrazione: backup, restore, utenti e permessi. **A chi e rivolto** - Sviluppatori - DBA in formazione - Migranti da altri RDBMS **Prerequisiti** - Conoscenza base di SQL (consigliata) - Nessun prerequisito PostgreSQL **Cosa ottieni** - Slide - Esercizi - Docker environment - Attestato **Programma** ### Introduzione a PostgreSQL (2h) - Architettura PostgreSQL - psql e pgAdmin - Tipi di dato (inclusi JSONB, ARRAY, UUID) - Creazione tabelle e vincoli Lab: Setup e prime query ### SQL in PostgreSQL (3h) - SELECT avanzate - JOIN e subquery - CTE e window functions - LATERAL join Lab: Query su dataset realistico ### Funzioni e viste (3h) - CREATE FUNCTION (SQL e PL/pgSQL) - Viste e viste materializzate - Trigger functions - Event triggers Lab: Automazione con trigger ### PL/pgSQL fondamentale (3h) - Blocchi DO - Variabili e controllo di flusso - Cursori - Gestione errori Lab: Procedure per gestione dati ### JSONB e tipi avanzati (2.5h) - JSONB: inserimento e query - Operatori JSONB - Indici GIN - Array e hstore Lab: CRUD su dati JSONB ### Amministrazione base (2.5h) - Utenti, ruoli e permessi - pg_dump e pg_restore - Configurazione postgresql.conf - Monitoraggio con pg_stat Lab: Setup sicurezza e backup ## PostgreSQL Avanzato URL: https://dbsmash.com/corsi/postgresql-avanzato Database: PostgreSQL - Livello: avanzato - Ore: 20 (max 28) - Prezzo: EUR 1100 - Personalizzabile Un corso per sviluppatori e DBA PostgreSQL che vogliono portare le proprie competenze al livello successivo. Si approfondiscono PL/pgSQL avanzato, le estensioni piu utilizzate, il tuning delle performance, le tecniche JSONB avanzate e le strategie di replica e alta disponibilita. **A chi e rivolto** - DBA PostgreSQL - Developer senior - DevOps con focus database **Prerequisiti** - Buona conoscenza di PostgreSQL - Esperienza con PL/pgSQL base **Cosa ottieni** - Slide avanzate - Script diagnostici - Template replicazione - Attestato **Programma** ### PL/pgSQL avanzato (3h) - Funzioni avanzate e overloading - Tipi compositi e RETURN TABLE - Cursori con parametri - Exception handling avanzato Lab: Package-style API in PostgreSQL ### Estensioni (3h) - pg_trgm (fuzzy search) - pg_stat_statements - PostGIS (introduzione) - Creare estensioni custom Lab: Full-text search avanzato ### Performance tuning (4h) - EXPLAIN ANALYZE in profondita - Statistiche e planner - Indici parziali e covering - Partitioning dichiarativo Lab: Ottimizzazione workload reale ### JSONB avanzato (3h) - JSONB path queries - Indici GIN avanzati - jsonb_to_recordset - Pattern document store Lab: API REST-like con JSONB ### Replicazione e HA (4h) - Streaming replication - Logical replication - pg_basebackup - Patroni e failover automatico Lab: Setup replica con failover ### Sicurezza avanzata (3h) - Row Level Security (RLS) - SSL e autenticazione - Audit con pgAudit - Encryption Lab: Multi-tenant con RLS ## MongoDB Fondamentale URL: https://dbsmash.com/corsi/mongodb-fondamenti Database: MongoDB - Livello: base - Ore: 12 (max 16) - Prezzo: EUR 700 - Personalizzabile Un corso per imparare MongoDB dalle basi. Si parte dal modello a documenti, si padroneggiano le operazioni CRUD, si esplora l'aggregation pipeline e si progettano indici efficaci. Include un'introduzione a MongoDB Atlas per il cloud. **A chi e rivolto** - Sviluppatori web/backend - Chi proviene dal mondo relazionale - Full-stack developer **Prerequisiti** - Conoscenza base di programmazione - Familiarita con JSON **Cosa ottieni** - Slide - Esercizi - Atlas sandbox - Attestato **Programma** ### Il modello a documenti (2h) - Documenti e collezioni - BSON e tipi di dato - Schema flessibile - mongosh e Compass Lab: Setup e primi documenti ### Operazioni CRUD (2.5h) - insertOne/insertMany - find e operatori di query - updateOne/updateMany e operatori $set, $push - deleteOne/deleteMany Lab: CRUD completo su dataset ### Aggregation pipeline (3h) - $match, $group, $sort, $project - $lookup (join) - $unwind - $facet e multi-pipeline Lab: Report aggregati complessi ### Indici e performance (2.5h) - Indici singoli e composti - explain() e query planning - Indici testo e geospaziali - Index best practices Lab: Ottimizzazione query ### Atlas e cloud (2h) - MongoDB Atlas setup - Cluster management - Data API e App Services - Monitoring e alert Lab: Deployment su Atlas ## MongoDB Avanzato URL: https://dbsmash.com/corsi/mongodb-avanzato Database: MongoDB - Livello: avanzato - Ore: 16 (max 24) - Prezzo: EUR 900 - Personalizzabile Un corso per chi usa gia MongoDB e vuole padroneggiare i pattern avanzati. Si approfondiscono i pattern di schema design, le transazioni multi-documento, lo sharding, i change streams per event-driven architecture e le strategie di migrazione da/verso RDBMS. **A chi e rivolto** - Developer MongoDB con esperienza - Architect - DevOps **Prerequisiti** - Esperienza pratica con MongoDB - Conoscenza CRUD e aggregation **Cosa ottieni** - Slide avanzate - Schema design templates - Script di migrazione - Attestato **Programma** ### Schema design patterns (3h) - Embedding vs referencing - Pattern: Bucket, Computed, Subset - Pattern: Polymorphic, Outlier - Anti-pattern comuni Lab: Progettazione schema per app reale ### Transazioni (3h) - Transazioni multi-documento - Read/write concern - Snapshot isolation - Session e causalita Lab: Workflow transazionale ### Sharding (3h) - Architettura sharded cluster - Shard key selection - Hashed vs range sharding - Balancing e migrazione chunk Lab: Setup cluster sharded ### Change Streams e Realm (3h) - Change streams - Event-driven architecture - Atlas Triggers - Realm Sync (introduzione) Lab: Pipeline real-time con change streams ### Migrazione e integrazione (2h) - Da RDBMS a MongoDB - Da MongoDB a Oracle - Strategie di coesistenza - Tool di migrazione Lab: Piano di migrazione ### Progetto finale (2h) - Caso di studio completo - Schema design + sharding + change streams - Presentazione e review Lab: Architettura MongoDB production-ready # Servizi ## Sviluppo Database URL: https://dbsmash.com/servizi/sviluppo-database Dal modello dati alla produzione, con codice robusto e manutenibile Progetto e implemento soluzioni database complete: dalla modellazione iniziale alla scrittura di stored procedure, package PL/SQL, trigger e logica applicativa. Ogni progetto segue best practice consolidate per garantire performance, sicurezza e manutenibilita nel tempo. **Cosa include** - **Modellazione Dati**: Progettazione di schemi relazionali normalizzati, modelli dimensionali per data warehouse e strutture ibride relazionale-JSON. - **PL/SQL & Stored Procedure**: Sviluppo di package, procedure, funzioni e trigger seguendo pattern architetturali enterprise e coding standard rigorosi. - **Migrazione e Refactoring**: Migrazione di dati e logica tra versioni Oracle, da Oracle a PostgreSQL, o ristrutturazione di codice legacy per migliorare qualita e performance. - **API e Integrazione**: Esposizione di dati tramite ORDS REST API, integrazione con applicazioni esterne e gestione di flussi dati complessi. **Casi d'uso tipici** - **Nuovo progetto da zero**: Hai bisogno di progettare il database per una nuova applicazione, partendo dai requisiti fino al deploy in produzione. - **Codice legacy da modernizzare**: Il tuo database ha accumulato debito tecnico e hai bisogno di un refactoring strutturato senza downtime. - **Integrazione tra sistemi**: Devi far comunicare il database con altre applicazioni, servizi REST o sistemi di messaggistica. **Tecnologie**: Oracle 19c/21c/23ai/26ai, PL/SQL, PostgreSQL, MongoDB, ORDS, JSON/SODA, SQL Developer, Git **Deliverable** - Documentazione tecnica del modello dati - Codice sorgente versionato e commentato - Script di migrazione e rollback - Test unitari e di integrazione - Sessione di knowledge transfer ## Query Tuning URL: https://dbsmash.com/servizi/query-tuning Analisi chirurgica delle performance per query che devono volare Analizzo e ottimizzo le performance delle query SQL con un approccio sistematico e basato sui dati. Ogni intervento parte dall'analisi dei piani di esecuzione, delle statistiche e dei wait event per identificare il collo di bottiglia reale e applicare la soluzione piu efficace. **Cosa include** - **Analisi Piani di Esecuzione**: Lettura approfondita di EXPLAIN PLAN, DBMS_XPLAN e Active Session History per identificare operazioni costose e join inefficienti. - **Strategie di Indicizzazione**: Progettazione di indici B-tree, bitmap, function-based e composite basata sull'analisi dei pattern di accesso reali. - **Ottimizzazione SQL**: Riscrittura di query complesse, eliminazione di anti-pattern, uso efficace di hint e gestione delle bind variable. - **Performance Engineering**: Configurazione di parametri dell'ottimizzatore, gestione delle statistiche, partitioning e parallelismo per workload enterprise. **Casi d'uso tipici** - **Query critica troppo lenta**: Un report o una procedura batch impiega troppo tempo e impatta l'operativita del team o gli SLA. - **Degradazione progressiva**: Le performance del database peggiorano nel tempo con la crescita dei dati e hai bisogno di un intervento strutturale. - **Audit pre-produzione**: Stai per rilasciare una nuova feature e vuoi validare le performance delle query prima del go-live. **Tecnologie**: Oracle AWR/ASH, DBMS_XPLAN, SQL Trace/TKPROF, SQL Monitor, Oracle EM, pg_stat_statements, EXPLAIN ANALYZE **Deliverable** - Report dettagliato con before/after per ogni query - Script SQL ottimizzati e documentati - Raccomandazioni per indici e strutture dati - Piano di monitoraggio continuo - Sessione di review con il team ## Architettura Database URL: https://dbsmash.com/servizi/architettura Decisioni architetturali che reggono nel tempo e scalano con il business Progetto architetture database che bilanciano performance, scalabilita e manutenibilita. Dalle scelte di modellazione ai pattern di accesso, dalla strategia di migrazione alla modernizzazione di sistemi legacy — ogni decisione e guidata dall'esperienza su sistemi enterprise reali. **Cosa include** - **Data Modeling Avanzato**: Modellazione concettuale, logica e fisica con pattern specializzati: dimensionale, temporal, multi-tenant e document-relational. - **Design Pattern Database**: Applicazione di pattern consolidati per gestire ereditarieta, versionamento, audit trail, soft delete e configurazione dinamica. - **Strategia di Migrazione**: Pianificazione e supervisione di migrazioni tra versioni, tra engine (Oracle/PostgreSQL) o da monolite a microservizi. - **Modernizzazione Legacy**: Trasformazione progressiva di sistemi database legacy verso architetture moderne senza interruzione del servizio. **Casi d'uso tipici** - **Nuova architettura da progettare**: Stai avviando un progetto complesso e hai bisogno di un'architettura database solida e ben documentata. - **Migrazione verso il cloud**: Devi migrare il database on-premise verso OCI, AWS o Azure mantenendo performance e compatibilita. - **Sistema legacy da ripensare**: Il tuo database ha anni di storia e necessita di una ristrutturazione per supportare nuove esigenze di business. **Tecnologie**: Oracle Multitenant, Oracle RAC, Data Guard, GoldenGate, PostgreSQL HA, Partitioning, Sharding, OCI/AWS RDS **Deliverable** - Documento di architettura completo (HLD + LLD) - Diagrammi ER e di deployment - Piano di migrazione con timeline e rischi - Proof of concept su ambiente di test - Review architetturale periodica # Risorse ## PL/SQL Bible Book URL: https://dbsmash.com/risorse/libro-plsql L'opera di riferimento completa su Oracle PL/SQL — dalla fondamenta all'architettura enterprise Un progetto ambizioso nato dalla volonta di creare la risorsa definitiva su Oracle PL/SQL in italiano. 58 capitoli che coprono ogni aspetto del linguaggio: dalle basi della sintassi alle architetture enterprise piu avanzate, passando per JSON, ORDS, pattern di modernizzazione e le novita di Oracle 23ai/26ai. Ogni capitolo include esempi pratici testati su database reali, best practice consolidate e pattern applicabili immediatamente in produzione. **In numeri** - Capitoli: 58 - Pagine stimate: ~1.300 - Parole: ~550.000 - Esempi di codice: 500+ **Indice** ### Parte I — Fondamenta PL/SQL - Introduzione a PL/SQL e ambiente di sviluppo - Variabili, tipi di dato e strutture di controllo - Cursori espliciti e impliciti - Gestione delle eccezioni - Procedure, funzioni e package - Trigger e programmazione event-driven ### Parte II — PL/SQL Intermedio e Avanzato - Collection types (nested table, varray, associative array) - Bulk processing (FORALL, BULK COLLECT) - SQL dinamico (EXECUTE IMMEDIATE, DBMS_SQL) - Pipelining e table function - Object-oriented PL/SQL - Package avanzati: UTL_FILE, DBMS_LOB, DBMS_SCHEDULER ### Parte III — Architettura Enterprise - Design pattern per database Oracle - JSON e document-relational in Oracle - ORDS e REST API dal database - Sicurezza e audit trail - Testing e debugging avanzato - Migrazione e modernizzazione di sistemi legacy ## SQL Noir — Il Gioco Investigativo SQL URL: https://dbsmash.com/risorse/sql-noir Impara SQL risolvendo crimini — un'esperienza di apprendimento unica e coinvolgente SQL Noir e un gioco investigativo interattivo dove i giocatori risolvono casi criminali scrivendo query SQL reali. Ambientato in un mondo noir procedurale, ogni caso presenta un database unico con testimoni, prove, scene del crimine e sospettati. I giocatori devono analizzare i dati, fare join tra le tabelle, filtrare le prove e identificare il colpevole — tutto usando SQL puro. Un modo completamente nuovo di imparare e praticare SQL, progettato per essere sia educativo che divertente. **In numeri** - Casi investigativi: 9 - Livelli di difficolta: 3 - Database unici: 9 - Stack: Full-stack **Indice** ### Gameplay - Ogni caso ha un database procedurale unico con tabelle interconnesse - I giocatori scrivono query SQL reali in un editor integrato - Sistema di hint progressivo per guidare senza rivelare la soluzione - Validazione in tempo reale dei risultati delle query - Narrativa noir coinvolgente che contestualizza ogni caso ### Concetti SQL Coperti - SELECT, WHERE, ORDER BY — interrogazioni base - JOIN (INNER, LEFT, RIGHT) — correlazione tra tabelle - GROUP BY, HAVING — aggregazioni e filtri di gruppo - Subquery e CTE (Common Table Expression) - Window function per analisi avanzate - CASE, COALESCE e logica condizionale ### Tecnologie - Frontend: Next.js + TypeScript + Tailwind CSS - Backend: API routes + SQLite in-browser (sql.js) - UI: Tema noir con animazioni cinematografiche - Editor SQL con syntax highlighting e autocompletamento # Contatti - Email: info@dbsmash.com - Form: https://dbsmash.com/contatti - Profilo founder: https://dbsmash.com/chi-sono