{"id":45,"date":"2025-04-13T11:44:29","date_gmt":"2025-04-13T09:44:29","guid":{"rendered":"https:\/\/www.sqlinside.com\/?p=45"},"modified":"2025-04-17T15:03:22","modified_gmt":"2025-04-17T13:03:22","slug":"per-cortesia-non-chiamatelo-database","status":"publish","type":"post","link":"https:\/\/www.sqlinside.com\/index.php\/2025\/04\/13\/per-cortesia-non-chiamatelo-database\/","title":{"rendered":"Per cortesia non chiamatelo Database!"},"content":{"rendered":"\n<p><strong>Introduzione<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left\">Una volta mi hanno consegnato un file Excel dal nome altisonante: &#8220;database_finale_rev_OK_2_definitivo.xlsx&#8221;. Il file conteneva centinaia di migliaia di righe, dieci fogli, formule complesse, celle unite e, ovviamente, nessuna tracciabilit\u00e0. Un capolavoro dell&#8217;artigianato informatico. Quando ho fatto notare che quello non poteva essere definito un database, mi hanno risposto: &#8220;Perch\u00e9 no? Ci sono tutti i dati&#8221;.<\/p>\n\n\n\n<p>Ecco il punto: un file Excel <em>contiene<\/em> dati, ma questo non basta a farne un database.<\/p>\n\n\n\n<p>Provo a spiegarmi con una metafora. Un file Excel sta a un Database come una piastra per i capelli sta a un defibrillatore. Entrambi hanno dei cavi, un display e producono calore o scosse, ma solo uno pu\u00f2 salvarti la vita in emergenza. Usare Excel come database pu\u00f2 sembrare innocuo, ma quando le cose si complicano, diventa un problema serio.<\/p>\n\n\n\n<p>Questo articolo \u00e8 un invito a riconoscere le differenze fondamentali tra un foglio di calcolo e un sistema di gestione dati, a scegliere lo strumento giusto e a promuovere una cultura del dato pi\u00f9 consapevole.<\/p>\n\n\n\n<p>Perch\u00e9 Excel non \u00e8 un database<\/p>\n\n\n\n<p>Excel \u00e8 nato per fare analisi tabellari, calcoli, rappresentazioni grafiche e simulazioni. Non \u00e8 stato progettato per garantire coerenza, affidabilit\u00e0 e scalabilit\u00e0 nella gestione dei dati. Ecco alcuni limiti strutturali:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>assenza di vincoli<\/strong>: nessun controllo su chiavi primarie, integrit\u00e0 referenziale o tipi di dato. Tutto pu\u00f2 essere modificato in ogni momento, anche accidentalmente;<\/li>\n\n\n\n<li><strong>gestione multiutente<\/strong>: in ambienti collaborativi, lavorare in contemporanea sullo stesso file Excel \u00e8 rischioso e farraginoso;<\/li>\n\n\n\n<li><strong>difficolt\u00e0 nel mantenere lo storico<\/strong>: non ci sono log strutturati o meccanismi di tracciabilit\u00e0;<\/li>\n\n\n\n<li><strong>errori manuali<\/strong>: la libert\u00e0 d&#8217;azione porta facilmente a errori. Copia e incolla, formule sbagliate, righe sovrascritte &#8230; tutto pu\u00f2 succedere.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Cos&#8217;\u00e8 un database<\/strong><\/p>\n\n\n\n<p>Un database \u00e8 un sistema progettato per:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>memorizzare grandi quantit\u00e0 di dati;<\/li>\n\n\n\n<li>garantirne l&#8217;integrit\u00e0 e la coerenza;<\/li>\n\n\n\n<li>permettere accessi controllati e simultanei;<\/li>\n\n\n\n<li>eseguire interrogazioni efficienti e sicure.<\/li>\n<\/ul>\n\n\n\n<p>Tra i principali concetti chiave:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>tabelle relazionali<\/strong> con chiavi primarie e relazioni tra entit\u00e0;<\/li>\n\n\n\n<li><strong>normalizzazione<\/strong> per evitare ridondanza e facilitare la manutenzione;<\/li>\n\n\n\n<li><strong>transazioni ACID<\/strong> per garantire coerenza anche in caso di errori;<\/li>\n\n\n\n<li><strong>sicurezza<\/strong>: accessi differenziati, auditing e backup.<\/li>\n<\/ul>\n\n\n\n<p><strong>Quando ha senso usare Excel<\/strong><\/p>\n\n\n\n<p>Excel non \u00e8 il nemico. Ha un grande valore quando usato per:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>analisi esplorative;<\/li>\n\n\n\n<li>modelli previsionali;<\/li>\n\n\n\n<li>dashboard rapide per un pubblico ristretto.<\/li>\n<\/ul>\n\n\n\n<p>Ma deve rimanere <em>il foglio<\/em> che consulta i dati, non <em>la sorgente<\/em> definitiva.<\/p>\n\n\n\n<p><strong>Quando serve un database<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>quando i dati sono tanti e crescono nel tempo;<\/li>\n\n\n\n<li>quando ci sono pi\u00f9 tabelle correlate tra loro;<\/li>\n\n\n\n<li>quando l&#8217;accesso ai dati \u00e8 condiviso da pi\u00f9 utenti;<\/li>\n\n\n\n<li>quando servono performance e tracciabilit\u00e0;<\/li>\n\n\n\n<li>quando vuoi dormire tranquillo sapendo che i tuoi dati sono al sicuro.<\/li>\n<\/ul>\n\n\n\n<p><strong>Esempi pratici<\/strong><\/p>\n\n\n\n<p>Un cliente una volta aveva dodici file Excel (uno al mese) contenenti i dati di vendita. Ogni file era strutturato in modo leggermente diverso. Alla fine dell&#8217;anno, un analista doveva mettere insieme tutto, scoprendo incongruenze, duplicati, e migliaia di euro persi per errori di somma. Dopo la migrazione in un database con Power BI collegato, il report annuale \u00e8 diventato un clic.<\/p>\n\n\n\n<p><strong>Conclusione<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-left\">Excel \u00e8 uno strumento potente, ma non \u00e8 onnipotente. Usarlo come un database \u00e8 come cercare di pilotare un aereo con un joystick da console: funziona, ma solo finch\u00e9 non ci sono turbolenze.<\/p>\n\n\n\n<p class=\"has-text-align-left\">Per cortesia, chiamiamo le cose con il loro nome. E se serve un database, investiamo nel farlo bene. I dati ci ringrazieranno.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduzione Una volta mi hanno consegnato un file Excel dal nome altisonante: &#8220;database_finale_rev_OK_2_definitivo.xlsx&#8221;. Il file conteneva centinaia di migliaia di righe, dieci fogli, formule complesse, celle unite e, ovviamente, nessuna tracciabilit\u00e0. Un capolavoro dell&#8217;artigianato informatico. Quando ho fatto notare che quello non poteva essere definito un database, mi hanno risposto: &#8220;Perch\u00e9 no? Ci sono tutti [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":102,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-45","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database"],"_links":{"self":[{"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":15,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":126,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/posts\/45\/revisions\/126"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/media\/102"}],"wp:attachment":[{"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlinside.com\/index.php\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}