Sistemi Informatici e Sistemi Informativi
Dal dato grezzo alla conoscenza: come un’organizzazione raccoglie, elabora e comunica informazioni — e come nasce, passo dopo passo, un sistema informatico. Le basi per database, SQL e architetture.
Da sempre le attività umane si basano su scambi di informazioni, e quelle informazioni derivano da flussi di dati che descrivono scenari reali: la temperatura di un paziente, il numero di pezzi in un magazzino, il voto di un’interrogazione. Con l’informatica prima e Internet poi, questo scambio ha subìto un’accelerazione enorme: oggi aziende, enti pubblici e singoli individui non sono più solo “consumatori” di informazioni, ma anche produttori continui di quantità crescenti di dati. Prima di parlare di database, linguaggi SQL o architetture software, però, è necessario mettere ordine su alcuni concetti di base — a partire dalla differenza, tutt’altro che scontata, tra dato e informazione.
1. Dati e informazione
Nel linguaggio comune usiamo spesso “dato” e “informazione” come sinonimi, ma nella pratica di un analista o di un progettista di sistemi informatici la distinzione è fondamentale.
Un dato è la misura di un fenomeno che siamo interessati a osservare. Un’informazione è ciò che si ottiene dall’elaborazione di un insieme di dati e che accresce lo stato di conoscenza relativo a un fenomeno.
Un metro misura l’altezza di una persona, un termometro la sua temperatura corporea: 180 cm e 39 °C sono dati, cioè quantificano i fenomeni osservati. Ma se il valore 39 °C viene confrontato con la soglia dei 37 °C, otteniamo l’informazione che è in corso un’alterazione febbrile: è l’elaborazione del dato, non il dato in sé, a produrre conoscenza.
Stesso meccanismo a scuola: ogni singolo voto è un dato. Nessuno, preso isolatamente, dice molto. È quando il sistema calcola la media, la confronta con quella della classe e osserva il trend nel tempo che ottiene un’informazione utile — per esempio, che lo studente sta migliorando in matematica ma peggiorando in fisica.
In generale, più dati abbiamo a disposizione su un fenomeno, migliore sarà l’apporto informativo che possiamo ricavarne. Un medico incrocia sintomi e risultati di analisi (dati) per formulare una diagnosi; allo stesso modo un analista aziendale esamina i dati di vendita, di costo e di magazzino di un’impresa per determinarne l’andamento economico e individuare eventuali correttivi.
Attenzione però: non è vero che “più dati” significa sempre “più informazione utile”. Un paziente può presentare sintomi che non solo non aiutano la diagnosi, ma rischiano di portare il medico fuori strada. Allo stesso modo, un’app di e-commerce che raccoglie il colore preferito dei bottoni cliccati dall’utente probabilmente non ha alcun valore informativo per decidere quali prodotti consigliargli. Il conseguimento di informazioni utili dipende sia da aspetti quantitativi sia qualitativi: bisogna raccogliere più dati possibile, ma anche saper filtrare quelli non pertinenti allo scopo dell’analisi. Questo è il lavoro dell'analista.
Le informazioni reali hanno spesso una validità limitata nel tempo. L’esempio più immediato è l’andamento dei titoli in borsa, che può cambiare radicalmente nel giro di pochi minuti — ma vale anche per la disponibilità di un prodotto in un e-commerce o per lo stato del traffico su una mappa: un’informazione “vecchia” può essere addirittura fuorviante. Per questo i sistemi informativi devono essere aggiornati in tempo reale.
2. Sistemi informativi e sistemi informatici
Per raccogliere, archiviare ed elaborare dati — al fine di gestire e comunicare informazioni — l’uomo ha usato nel tempo strumenti molto diversi tra loro: dalle incisioni su pietra ai moderni database distribuiti nel cloud. Ed è proprio da qui che nasce una prima osservazione importante.
Il concetto di sistema informativo è indipendente dagli strumenti utilizzati per gestire le informazioni che esso tratta. Prima degli elaboratori elettronici, gli archivi di banche e servizi anagrafici si sono basati per secoli solo su schedari e registri cartacei — e restavano, a tutti gli effetti, sistemi informativi. Quindi sistema informativo ≠ computer. Il computer è solo lo strumento moderno per gestirlo.
3. Scopo operativo vs decisionale
Un’organizzazione pubblica o privata utilizza un sistema informativo per raggiungere sostanzialmente due tipi di obiettivi.
Scopo operativo: ogni organizzazione deve gestire dati funzionali alle proprie attività quotidiane — infrastrutture, dipendenti, materiali, strumenti — da cui derivano informazioni che possiamo chiamare informazioni di servizio. Un’amministrazione comunale gestisce l’anagrafe dei cittadini per emettere certificati; un’azienda di produzione deve occuparsi della fatturazione delle merci e delle buste paga dei dipendenti; uno studio commerciale compila le dichiarazioni dei redditi dei propri clienti. Anche la segreteria didattica di una scuola rientra in questa categoria: gestisce iscrizioni, pagelle e comunicazioni con le famiglie, tutte attività operative quotidiane.
Scopo decisionale: per prendere decisioni relative a programmazione, controllo e valutazione, un’organizzazione ha invece bisogno di informazioni di governo. Un’amministrazione comunale decide dove localizzare un asilo nido o un centro anziani in base alle fasce d’età e alla zona di residenza dei cittadini; un’azienda commerciale rivede il prezzo di un prodotto in base al costo di produzione, all’andamento delle vendite e alla situazione del mercato. Allo stesso modo, una catena di negozi può decidere di aprire un nuovo punto vendita in una determinata città analizzando i dati demografici e di reddito della zona, oppure una scuola può decidere di attivare un nuovo indirizzo di studio osservando i trend di iscrizione degli ultimi anni.
Esistono informazioni che sono contemporaneamente di servizio e di governo. I costi e i ricavi di un’azienda servono alla contabilità fiscale (scopo operativo) ma anche agli organi interni che devono decidere le future strategie aziendali (scopo decisionale): lo stesso dato, letto da due punti di vista diversi. È per questo che un buon sistema informativo deve servire sia chi opera ogni giorno, sia chi decide il futuro.
Un sistema informativo è un insieme strutturato di procedure e di risorse umane e materiali finalizzate alla raccolta, all’archiviazione, all’elaborazione e alla comunicazione di dati, allo scopo di ottenere le informazioni necessarie a un’organizzazione per gestire sia le attività operative sia quelle di governo.
Un sistema informatico è il sottoinsieme di un sistema informativo dedicato al trattamento «automatico» di informazioni derivanti dalla gestione di dati archiviati in formato digitale.
La presenza di tecnologie informatiche non implica automaticamente una completa automazione del sistema informativo. Esistono aspetti che, per motivi pratici o economici, non conviene informatizzare: le comunicazioni verbali tra colleghi dello stesso ufficio, per esempio, restano parte del sistema informativo pur non passando mai da un database. Se informatizzate tutto, spendete troppo e perdete flessibilità.
4. Il ciclo di vita di un sistema informatico
Progettare un sistema informatico è un processo tutt’altro che banale, e va condotto da personale professionalmente qualificato: un progetto gestito male può portare a inefficienza, perdita di dati, costi di manutenzione elevati, necessità di riprogettazione o addirittura al blocco delle attività operative dell’organizzazione.
Un errore tipico è concepire l’informatizzazione come una banale automazione delle procedure eseguite manualmente. Al contrario, informatizzare un sistema informativo deve essere l’occasione per razionalizzarne le attività — mantenendone la coerenza — così da eliminare inefficienze preesistenti e migliorarne efficienza ed efficacia, non da “fotocopiare” in digitale gli errori di sempre. Se la procedura cartacea è inefficiente, non automatizzatela: riprogettatela.
Non esiste una metodologia di progettazione universalmente standard, ma la progettazione di un sistema informatico è comunque descrivibile come un processo ciclico permanente, che si articola in almeno tre macrofasi concettualmente distinte: raccolta delle richieste degli utenti, progettazione concettuale, realizzazione (progettazione logica e fisica). È ciclico perché, una volta in uso, gli utenti e i committenti avanzano richieste correttive o evolutive, e perché ogni organizzazione genera nel tempo nuove esigenze.
4.1 Raccolta delle richieste degli utenti
Il tempo e il costo dell’intero progetto dipendono in larga misura dalla qualità del lavoro svolto in questa prima fase, che prevede almeno tre attività.
- Indagine preliminare, di solito a cura del personale dell’organizzazione stessa, per individuare i settori interessati all’introduzione delle tecnologie informatiche, valutarne gli impatti sull’organizzazione del lavoro e sul sistema informativo esistente, e stimare le risorse economiche disponibili.
- Analisi del sistema informativo esistente, svolta da una figura professionale detta analista, che raccoglie, cataloga e sistematizza le conoscenze relative al sistema informativo nei settori da informatizzare, interagendo con dirigenti e personale operativo per rilevarne i bisogni.
- Definizione dei requisiti del nuovo sistema, con una documentazione dettagliata su: classificazione dei dati (nome, tipo, uso), vincoli di integrità, descrizione delle procedure da automatizzare, volume iniziale e previsione di crescita dei dati, grado di riservatezza differenziato per utente.
Un vincolo di integrità semplice è quello sui componenti di una data (giorno, mese, anno), che devono combinarsi in modo valido. Un vincolo più complesso è quello di una compagnia aerea che rifiuta la prenotazione di un passeggero minorenne se non accompagnato da almeno un passeggero maggiorenne: qui il vincolo non riguarda un solo dato, ma la relazione tra più dati. Questi vincoli li scriverete nel progetto concettuale.
Sulla riservatezza dei dati vanno considerati due aspetti distinti. Sotto il profilo pratico, in un’organizzazione complessa ogni utente dovrebbe poter accedere solo ai dati di propria competenza, per evitare il cosiddetto information overloading (sovraccarico informativo). Sotto il profilo della sicurezza, la regola generale è “non tutti devono conoscere tutto”: solo pochi utenti, per esempio, devono conoscere i dettagli di future strategie aziendali o di nuovi progetti, per evitare situazioni di spionaggio industriale. È per questo che esiste il DBA che definisce viste utente.
4.2 Progettazione concettuale
La documentazione raccolta nella prima fase diventa l’input della progettazione concettuale, che consiste nel definire un modello astratto del sistema informatico — il cosiddetto progetto concettuale — come riferimento per la fase successiva, e spesso anche come strumento di verifica tra committente e progettisti. “Astratto” e “concettuale” significano che in questa fase si organizzano i dati senza ancora entrare nel merito delle tecnologie hardware e software che saranno usate in seguito. Il progetto concettuale è tipicamente un insieme di documenti, schemi e diagrammi che descrivono la struttura dei dati in termini di insiemi e relazioni, i vincoli di ammissibilità dei dati, l’integrità e la riservatezza delle informazioni.
Per svolgere questa fase si ricorre spesso a un linguaggio di modellizzazione, capace di descrivere sia la realtà osservata sia il sistema informatico da realizzare. Nel tempo si sono affermati diversi formalismi:
| Linguaggio | Cosa descrive |
|---|---|
| Diagrammi E/R (Entity/Relationship) | Strutture di dati organizzate secondo il modello relazionale, affermatosi negli anni Settanta e tuttora dominante |
| Famiglia IDEF (IDEF1X) | Formalismo grafico per la documentazione dei dati |
| UML | Insieme di diagrammi standard per descrivere vari aspetti di un sistema informatico |
| SysML | Derivato da UML, specifico per sistemi complessi |
| BPMN | Descrizione e definizione dei processi aziendali |
Ragazzi di 5°: E/R lo usate per database relazionale (noi useremo solo questo per ora), UML per descrivere classi e casi d'uso del software, BPMN quando dovete descrivere processo aziendale tipo "ordine cliente → verifica magazzino → fatturazione". All'esame se vi chiedono "Che linguaggio di modellazione usi?" rispondete "E/R per dati, UML per software, BPMN per processi". Fate bella figura.
4.3 Realizzazione (progettazione logica e fisica)
L’ultima macrofase riguarda la realizzazione effettiva del sistema informatico, sia dal punto di vista infrastrutturale (individuazione e acquisizione di piattaforme hardware, software e di comunicazione) sia applicativo (acquisto di prodotti software esistenti da personalizzare, oppure sviluppo di software specifico).
Storicamente, in assenza di ambienti software dedicati alla gestione dei dati, molti sistemi venivano — e in alcuni casi vengono ancora oggi — realizzati con un approccio basato su file system: l’archiviazione avviene tramite file memorizzati nella memoria persistente dell’elaboratore, usando le funzionalità offerte dal sistema operativo.
In un’azienda, l’archivio dei prodotti serve all’ufficio fatturazione per fatturare le merci vendute, al magazzino per controllare carico e scarico, all’ufficio vendite per proporre azioni promozionali. Se ciascun ufficio gestisse un proprio file separato per gli stessi dati, avremmo numerose duplicazioni — e, col tempo, dati ridondanti e non più sincronizzati tra loro (per esempio una giacenza aggiornata nel file del magazzino ma non in quello dell’ufficio vendite). Un file consente solo semplici meccanismi di accesso e condivisione: le procedure che lo usano sono autonome, e ognuna definisce i propri file privati, con inevitabile ridondanza dei dati e rischio di incoerenza. Dagli anni Ottanta, questo approccio è stato progressivamente sostituito dall’approccio basato sui DBMS, sistemi software in grado di gestire grandi collezioni di dati integrate, condivise e persistenti.
5. Aspetti intensionale ed estensionale dei dati
Un’informazione, come abbiamo visto, è un incremento di conoscenza ottenuto dall’elaborazione dei dati. Ne segue che i dati sono utili solo quando disponiamo di una chiave interpretativa che ci consenta di comprenderne il significato: i valori AX0432, 25,50 e 10, presi isolatamente, non ci dicono nulla finché non sappiamo che il primo è un codice prodotto, il secondo un prezzo in euro e il terzo una quantità disponibile in magazzino.
Il contenuto informativo dei dati, cioè il loro significato, nasce quindi da due componenti distinte: i valori specifici dei dati (aspetto estensionale) e la loro interpretazione (aspetto intensionale).
Questa tabella è una delle possibili istanze (o estensioni) dello schema (o intensione) “Codice prodotto — Prezzo — Disponibilità”: lo schema resta identico anche se domani cambiano i valori delle righe, mentre l’estensione varia continuamente.
Nel linguaggio naturale il significato intensionale viene spesso descritto nella frase stessa. Nella frase «la fattura numero 254 ha un importo di 125,00 euro»: «fattura numero» è l’interpretazione del dato «254», «importo euro» è l’interpretazione del dato «125,00», e il verbo «ha» stabilisce l’associazione tra i due dati.
Quando abbiamo gruppi consistenti di dati con la stessa interpretazione, conviene fornire l’interpretazione a livello di gruppo, non per ogni singolo dato: dovendo elencare gli importi di molte fatture, è naturale costruire una tabella di coppie (numero fattura, importo) il cui significato — «la fattura numero X ha un importo di Y euro» — vale una volta sola per tutte le righe, esattamente come accade con gli orari degli autobus o con la classifica di una gara sportiva.
Definendo categoria una collezione di dati con stessa interpretazione, possiamo osservare che i sistemi informatici sono tipicamente caratterizzati da un numero relativamente basso e costante di categorie (poche tabelle), ciascuna delle quali contiene però molti dati (righe numerose). È la situazione opposta — molte categorie, ognuna con pochi dati — che caratterizza il linguaggio naturale, complesso, stratificato e spesso ambiguo, e che richiede tecniche tipiche dell’intelligenza artificiale per essere gestita. Per questo i database hanno poche tabelle ma milioni di righe, mentre il linguaggio umano ha migliaia di categorie (verbi, nomi, aggettivi) con pochi esempi.
6. File di dati
Un file (o archivio) è un insieme di dati correlati identificato da un nome, memorizzato permanentemente su un supporto di memoria persistente e avente vita indipendente dai programmi utilizzati per crearlo o modificarlo.
Il modulo software che gestisce i file, il file system, è un componente fondamentale del sistema operativo: tiene traccia dei file (posizione, stato) tramite tabelle dette directory, controlla protezioni e diritti d’accesso, e rende (o meno) disponibili i dati ai programmi che li richiedono.
All’interno di un file, i dati sono raggruppati in unità logiche dette record (o registrazioni); ogni singolo elemento della struttura di un record è un campo (o field).
Nell’elenco telefonico, la struttura del record (aspetto intensionale) è: cognome, nome, numero telefonico, indirizzo. Uno specifico record — «Bianchi», «Giovanni», «0634162567», «Via Roma 14» — è un’occorrenza di quella struttura. L’insieme di tutti i record di un file costituisce l’aspetto estensionale dei dati.
I tre tipi classici di organizzazione di un file — cioè il modo in cui le registrazioni vengono memorizzate e successivamente elaborate — sono i seguenti.
| Organizzazione | Come funziona |
|---|---|
| Sequenziale | Registrazioni memorizzate nell’ordine di inserimento; per raggiungerne una specifica bisogna scorrere tutte quelle che la precedono |
| Ad accesso diretto (random) | Ogni registrazione è individuata da un numero che ne rappresenta la posizione nel file; si accede direttamente specificando quel numero |
| Indicizzata (indexed) | Uno o più campi (chiave) identificano univocamente le registrazioni; oltre al file primario è previsto un file indice, gestito con struttura ad albero binario di ricerca, che associa ogni valore di chiave alla posizione della registrazione |
Nell’organizzazione indicizzata, la ricerca avviene con accesso diretto specificando il valore di una chiave; da lì è poi possibile scorrere sequenzialmente le registrazioni precedenti o successive, seguendo l’ordinamento già stabilito. Come intuibile, l’organizzazione indicizzata è quella più flessibile — ma anche la più complessa da gestire — mentre quella sequenziale è la più semplice ma la meno efficiente per ricerche puntuali su grandi volumi di dati.
Sequenziale = cassetta VHS, devi scorrere tutto per trovare punto. Diretto = CD, vai direttamente a traccia 7. Indicizzato = libro con indice analitico, cerchi parola nell'indice e vai a pagina. Sequenziale economica ma lenta, indicizzata veloce ma complessa. I DBMS moderni usano indicizzata con B-Tree. All'esame: "Quando usi sequenziale?" → "Quando devo leggere tutto in ordine, es. elaborazione paghe di tutti i dipendenti".
7. Basi di dati e sistemi di gestione delle basi di dati
I primi DBMS furono introdotti alla fine degli anni Sessanta del secolo scorso. Da allora questo settore dell’informatica non ha mai smesso di crescere, sia per diffusione — interessando aree applicative sempre più vaste — sia dal punto di vista teorico.
Un DBMS (DataBase Management System) è un sistema software in grado di gestire grandi collezioni di dati integrate, condivise e persistenti, assicurando loro affidabilità e riservatezza. Un database (o base di dati) è una collezione di dati gestita da un DBMS.
Rispetto all’approccio basato su file system visto in precedenza, l’approccio fondato su DBMS porta con sé quattro vantaggi chiave.
I DBMS più diffusi sono i cosiddetti RDBMS (Relational DBMS), che adottano il modello relazionale: Oracle DB, Microsoft SQL Server, IBM DB2, PostgreSQL, MySQL e il suo fork MariaDB. Vengono anche chiamati “DBMS SQL”, dal nome del linguaggio di interrogazione standard che utilizzano. Accanto a questi esistono i DBMS NoSQL — orientati ai documenti, chiave-valore, wide-column o a grafo — pensati per schemi flessibili, grandi volumi di dati poco strutturati, scalabilità elevata e carichi di utenza consistenti: rientrano in questa categoria prodotti come MongoDB, DynamoDB, Cassandra o Neo4j. Approfondiremo questo confronto nella prossima lezione.
RDBMS = dati strutturati, tabelle, relazioni rigide, transazioni ACID (banca, scuola). NoSQL = dati flessibili, JSON, grafi, big data, scala orizzontale (social, IoT, log). Oggi 80% progetti aziendali sono ancora RDBMS. NoSQL non sostituisce RDBMS, lo affianca. Per maturità, sappiate dire "Uso RDBMS per gestionale con vincoli forti, NoSQL per catalogo prodotti con attributi variabili".
Chi utilizza un DBMS può ricoprire ruoli molto diversi tra loro.
| Ruolo | Cosa fa |
|---|---|
| Programmatori di applicazioni | Sviluppano software che si interfaccia con la base di dati, mediando l’accesso per gli utenti finali |
| Utenti finali | Interagiscono con la base di dati solo tramite applicazioni già pronte (sportelli, magazzinieri, utenti web), senza conoscerne la struttura |
| Utenti avanzati | Conoscono la struttura dei dati e sanno usare un linguaggio di interrogazione, senza però poter alterare la base di dati |
| Amministratori (DBA) | Gli unici a poter modificare la struttura della base di dati e i diritti di accesso degli utenti, usando gli strumenti di amministrazione del DBMS |
Per interagire con un database si usano due categorie di linguaggi: il DDL (Data Definition Language), che serve principalmente al DBA per definire e modificare la struttura della base di dati e i vincoli di integrità, e il DML (Data Manipulation Language), usato per interrogare o manipolare i dati (inserimento, eliminazione, modifica). Il DML può essere usato in modalità ospitata — “immerso” in un linguaggio di programmazione dagli sviluppatori — oppure autonoma, per un accesso prevalentemente interattivo ai dati.
DDL = definisci struttura: CREATE TABLE Studenti (id INT, nome VARCHAR...), ALTER TABLE, DROP TABLE. Lo fa DBA una volta. DML = usi dati: SELECT, INSERT, UPDATE, DELETE. Lo usano tutti ogni giorno. DDL costruisce casa, DML ci vive dentro. Ricordate: DDL = struttura, DML = dati.
Il termine modello dei dati fu proposto nel 1970 da Edgar Codd, ricercatore IBM, in coincidenza con la presentazione del modello relazionale — divenuto in seguito dominante. Un modello dei dati è, in sostanza, lo strumento concettuale che ci permette di attribuire un significato ai dati, principalmente assegnando loro una struttura secondo meccanismi specifici del modello stesso. Senza Codd, non avremmo SQL. È uno dei padri dell'informatica moderna, da citare all'esame.
8. Architettura logica di un sistema di gestione delle basi di dati
Seguendo il modello classico ANSI-SPARC, l’architettura di un sistema di gestione di database si articola su tre livelli.
| Livello | Descrizione |
|---|---|
| Logico utente (esterno) | Ogni utente ha un proprio spazio di lavoro che si interfaccia con la base di dati tramite un’applicazione o direttamente col DML. A questo livello il DBA definisce, con il DDL, le viste utente — sottoinsiemi del modello logico globale che realizzano la riservatezza dei dati |
| Logico globale (concettuale) | La struttura logica generale della base di dati (aspetto intensionale, vincoli di integrità), definita dal DBA tramite DDL |
| Fisico di memorizzazione (interno) | Il livello più basso: dispositivi di memorizzazione, organizzazione fisica dei dati e modalità di accesso |
I collegamenti tra i tre livelli sono gestiti dal DBMS tramite tecniche di corrispondenza (mapping): procedure software che associano gli elementi di un livello ai corrispondenti elementi del livello contiguo — è proprio questo meccanismo a garantire l’indipendenza logica e fisica di cui parlavamo poco fa.
Un ultimo cenno merita il mondo degli ORM (Object-Relational Mapping), tecniche di programmazione che integrano applicazioni orientate agli oggetti con sistemi RDBMS, astraendo dalle caratteristiche specifiche di questi ultimi: un ORM gestisce la persistenza degli oggetti realizzandone il mapping con i corrispondenti insiemi di dati nel database. Esempi noti sono Hibernate, Doctrine e Propel — strumenti che incontreremo più avanti quando parleremo di programmazione ad oggetti applicata alle basi di dati.
Perché se domani cambi HDD con SSD (livello fisico), non vuoi riscrivere tutte le tabelle (logico globale). E se un utente deve vedere solo propri dati (vista), non vuoi cambiare tutta la base dati. Mapping fa da traduttore tra livelli. È come avere adattatore: cambi presa elettrica sotto, ma lampada sopra continua a funzionare. Questa indipendenza è il vero vantaggio dei DBMS rispetto ai file.
📌 Riepilogo — Punti chiave
- Dato vs informazione: dato = misura fenomeno, informazione = elaborazione dati che accresce conoscenza — validità limitata nel tempo
- Sistema informativo vs informatico: informativo = procedure + risorse umane/materiali per scopi operativi (servizio) e decisionali (governo), indipendente da strumenti; informatico = sottoinsieme automatizzato con dati digitali
- Ciclo di vita: 3 macrofasi cicliche raccolta richieste (indagine, analisi, requisiti) → progettazione concettuale (E/R, IDEF1X, UML, SysML, BPMN) → realizzazione logica/fisica; non fotocopiare errori in digitale, razionalizzare
- File system vs DBMS: file genera ridondanza e incoerenza; DBMS garantisce integrazione, indipendenza logica/fisica, integrità
- Intensionale vs estensionale: intensionale = schema interpretazione, estensionale = valori istanze; senza intensionale, estensionale non ha significato; poche tabelle molte righe
- File: record + campi; organizzazioni sequenziale (scorre), diretta (numero posizione), indicizzata (chiave + indice B-Tree) più flessibile
- DBMS: gestisce basi dati integrate condivise persistenti; RDBMS relazionale SQL (Oracle, MySQL, PostgreSQL) vs NoSQL (MongoDB, Cassandra, Neo4j); ruoli programmatore/utente finale/avanzato/DBA; DDL struttura vs DML dati; ANSI-SPARC 3 livelli esterno/concettuale/interno + mapping + ORM Hibernate/Doctrine
📚 Prossimo passo - Dal modello E/R al relazionale
Nella prossima lezione entriamo nel vivo della progettazione concettuale: diagrammi E/R, entità, relazioni, cardinalità, attributi, e come tradurre tutto in tabelle relazionali. Se questa lezione su dato/informazione e ciclo di vita è chiara, E/R sarà naturale. Portate matita e righello: disegneremo schemi.
