Basi di Dati
Introduzione
Prof. Aniello Cimitile
DATA BASE
Che cosa è un dato?
Def. Un dato è la rappresentazione del valore di una informazione
… definizioni e concetti correlati …
• L’informazione è definita come la terna di elementi Tipo, Attributo, valore – Informazione ≡ { T, A, V}
• Il concetto di rappresentazione implica: – ¶ : un supporto di rappresentazione
– S : un insieme di simboli rappresentabili sul supporto
– C : un codice di rappresentazione
• C: T ↔ stringhe di s𝜀𝑆
• Non esiste dato se non c’è l’informazione a cui è associato
- 321
BTP Spread
Forche caudine
Risultato x + 322 = 1
… Airbus British Airway
Colore semaforo
…
-321 può essere la rappresentazione del valore di infinite informazioni
… informazione – dato …
• L’informazione è condizione necessaria per l’esistenza del dato
• Il dato è condizione necessaria per la conservazione, elaborazione e trasmissione dell’informazione
SOCIETA’ DELL’INFORMAZIONE E DELLA CONOSCENZA
SOCIETA’ DEI DATI
Siamo immersi in un mondo di dati … noi stessi siamo portatori di dati …
e dalla biologia ci fanno sapere …che alcuni di questi dati ci segnano per sempre …
DATA BASE
Che cosa è una base?
• Una delle parole più polisemiche
– Componente o parte inferiore … con funzioni di appoggio e sostegno;
• Anche come superfice di supporto, stato iniziale o fondo ( es. base musicale, ….)
– Architettura, urbanistica, ing. Civile; aritmetica, algebra, geometria, chimica, elettronica, …;
– Luogo di appoggio, di partenza e ritorno ( baseball, spedizioni .., organizzazione militari, logistica …)
– Insieme di principi, di concetti, di elementi essenziali, di componenti fondamentali
…………
…………
In un dominio applicativo, in un ambiente di lavoro, … in un contesto operativo
• È un insieme di elementi indispensabili per le attività e le operazioni che debbono essere fatte
Def. E’ un insieme di elementi la cui esistenza e disponibilità è condizione necessaria per la operatività del contesto
Sistema Produttivo
• Ogni giorno siamo immersi in contesti operativi diversi
• Alcuni di questi contesti si concretizzano in strutture organizzate per la produzione di beni e servizi che chiameremo Sistemi Produttivi
SISTEMA PRODUTTIVO
Risorse Beni e/o Servizi
• In ogni SP si sviluppano processi ed attività che si fondano, fra l’altro , su un insieme di informazioni che chiameremo:
Base Informativa
• …l’esistenza e la disponibilità di una BI è condizione necessaria … del SP
• La BI è una componente aziendale strategica per:
– I processi e le attività operative ( informazioni e dati di servizio)
– La programmazione ed il controllo ( informazioni e dati di gestione)
– La direzione e decisione strategica ( informazioni e dati di pianificazione e governo)
• Informazioni e dati della BI richiedono una gestione sistematica, strutturata, controllata e sicura
• Diremo Sistema Informativo il complesso di competenze e risorse umane, di macchine ed impianti, di procedure organizzato, strutturato e dedicato alla definizione, manutenzione ed evoluzione della BI, alla raccolta, circolazione ed elaborazione dei dati della BI
• La BI viene, in generale, considerata una componente del SI
• Alcune componenti, a volte gran parte della BI, non sono solo operativamente indispensabili, ma diventano un Patrimonio aziendale di rilevante valore commerciale
• Nell’arco della vita di un SP, la quantità di dati della BI che circola nel SI è praticamente …. Infinita – Alcuni di tali dati sono volatili ( la loro vita cessa con l’attività o il
processo nel quale sono coinvolti) – Altri non solo persistono ma vengono organizzati in Collezioni
Permanenti ( dette anche persistenti) con un ciclo di vita la cui durata può coincidere con quella della vita stessa del SP
– Naturalmente, il numero di tali collezioni è finito, e finito è, in ogni istante, il numero di dati che le compongono.
• Diremo Patrimonio Dati di un SP l’insieme delle collezioni permanenti di dati presenti nella sua BI
• ….naturalmente il Patrimonio dati di un SP è a sua volta una base dello stesso
• è una base che in un SP è ben definita e caratterizzata non solo da un punto di vista logico concettuale ma anche progettuale ed operativo
Esempi di collezioni permanenti: Archivi di un comune, Schedario di una biblioteca , Elenco clienti……, Registri Protocollo, Contatti i-phone NB. Ben Strutturate ……..
… uno schema riassuntivo di un Sistema Produttivo dal nostro punto di vista…
SISTEMA PRODUTTIVO
SISTEMA INFORMATIVO
BASE INFORMATIVA
PATRIMONIO DATI
…qualche considerazione sul patrimonio dati…
• Visto alla luce delle nostre definizioni di informazione e dati – una collezione, in generale, si caratterizza per il fatto
che i suoi dati si riferiscono ad Informazioni che hanno tutte lo stesso Tipo e lo stesso Attributo
– ..in altre parole, dentro una collezione, il tipo e l’attributo delle informazioni sono costanti e pertanto l’informazione è direttamente ed unicamente caratterizzata dal suo valore • Nb. Questa è una delle ragioni per cui spesso si fa
confusione fra Informazione e Dato
Def. Diremo Schema (SCH) di una collezione l’insieme degli attributi e dei tipi comuni delle sue informazioni SCH ≡ { (T,A)} es. la definizione di un modulo-scheda per un archivio-schedario è uno schema
Esercizio: Costruiamo lo schema della « collezione» degli studenti che seguono questo corso
• Definito lo schema di una collezione, un valore dello schema è l’insieme dei valori delle informazioni che lo compongono, …e un dato della collezione è l’inisieme delle rappresentazioni …. – Es, un modulo-scheda «riempito», …un rigo riempito
dell’agenda, un componente dell’elenco,…
Def. Diremo Istanza di una collezione l’insieme costituito dallo schema e dai dati che la compongono
Esercizio: in coerenza con lo schema definito costruiamo l’istanza attuale della collezione studenti che seguono questo corso
Sistema Informativo e
SISTEMA INFORMATICO
• Lo sviluppo dell’Informatica e, più in generale delle ICT, ha avuto un enorme impatto sui SP ed in particolare sui loro Sistemi Informativi;
• Gran parte di un SI viene supportata e/o direttamente realizzata con le ICT
Def. Diremo Sistema Informatico il complesso delle componenti tecnologiche ICT ( hardware, software, reti, … etc.) appositamente progettato, implementato, tenuto in esercizio, aggiornato e manutenuto quale componente fondamentale di un SI
• viceversa …, i feedback e la domanda proveniente dai SP per Sistemi Informatici sempre più pervasivi ed efficienti, capaci di dare un contributo decisivo alla efficacia aziendale, hanno profondamente segnato la storia e l’evoluzione dell’Informatica
NB. Efficienza = Risultati/Risorse Efficacia = Risultati/Obiettivi
Pervasività : da non confondere con ubiquitous computing ( concetti di due ...ere… diverse ); ci si riferisce alla presenza del sistema informatico in ogni Task dei processi aziendali ed alla percentuale di copertura degli stessi
• In particolare, importanti e storiche tappe dell’informatica sono proprio legate ai problemi posti dalle collezioni del Patrimonio Dati delle aziende
• … e, in primo luogo, da due loro peculiari caratteristiche strutturali: – Grande Dimensione – Persistenza
• … in secondo luogo da complesse caratteristiche e vincoli funzionali ed operativi ( condivisione vs privatezza, sicurezza ed affidabilità, ….)
• Hanno attraversato tutte le macro-aree dell’informatica
– Quella (hardware) delle macchine e degli impianti (es. si pensi alla nascita ed alla evoluzione delle memorie di massa)
– Quella delle architetture e dei sistemi operativi (es. ..storica organizzazione in System, Job e Data Managment), dei sistemi distribuiti e delle reti
E in particolare la grande area del Software dove si aprono e si caratterizzano due grandi filoni:
Ingegneria del Software e Ingegneria dei Dati
… Il cammino verso la ingegneria dei dati
• 1^ fase: – assenza di distinzione concettuale, progettuale ed
operativa fra programmi e dati che compongono una unica componente software
– Il Sistema Software di un Sistema Informatico si compone di Sottosistemi e Procedure concepiti come compartimenti stagni separati
– Ogni sottosistema/procedura direttamente definisce, implementa e gestisce appositi file che realizzano la versione informatizzata delle collezioni di dati che occorrono
– In sostanza ogni sottosistema/procedura definisce, usa ed aggiorna dei «propri file» memorizzati in modo persistente su memoria di massa
Archivio Laureati: Nome 12; Cognome 15; Città 12; Via 20 ; N.ro Civico 4; Es1 3 ; Es2 3; Es3 3; VotoLaurea 4; Anno laurea 2; Anno nascita: 2
Es. …………..0022L3003002601087248
… Procedura 1 Procedura 2 Procedura 3
File 1 File 2 File 3 File 4
• Linguaggi di programmazione semplici che mettevano a disposizione elementari istruzioni di accesso ( I/O) alle memorie di masse; istruzioni a loro volta fondate su elementari driver messi a disposizione dai S.O.
• Le procedure ( e … il programmatore) erano chiamati a definire anche dettagli organizzativi e di formattazione dei dati sulle memorie ( Livello Fisico dei dati)
• File «privati», praticamente non accessibili da parte di altre procedure ( Non Condivisibili )
• Il Patrimonio Dati Informatizzato ( definibile come l’insieme dei file delle diverse procedure /applicazioni) presentava Ridondanze ed Inconsistenze
• Esempio: in un comune distinti ed autonomi sistemi software per – Anagrafe e Stato Civile Archivio Anagrafico – Gestione del Personale Archivio Dipendenti
– Gestione giuridica, contabile, rilevazione presenze
– Gestione Tributi Archivi Contribuenti (Ruolo)
– Gestione Elezioni Archivio Elettori – Bilancio e Contabilità – ………. – ………
Gennaro Esposito è cittadino, dipendente comunale, elettore, contribuente, …..
• 2^ fase: – I Sistemi Operativi, attraverso una specifica sezione logico-
funzionale denominata «Gestione dei Dati», offrono servizi specifici per la gestione di archivi su memorie di massa
– In particolare, i File System offrono agli utenti ( e quindi anche alle procedure/applicazioni) una unica e comune interfaccia per la generazione e gestione dei files
– Comuni e standard le modalità e le operazioni di definizione ed accesso ai file ( es. creazione, apertura/chiusura, lettura/scrittura, cancellazione, …)
– Organizzazione logistica dell’insieme dei files ( inidici/elenchi/directory …., accesso, cancellazioni, organizzazione di sottosezioni, ….)
FILE SYSTEM
Procedura 1
Procedura 2
Procedura n
. . .
File File 1
File 2
File 3
File m
. . .
• Per ogni sottosistema/procedura software il file diventa una struttura dati di prevalente Livello Logico in quanto il suo Livello Fisico di allocazione, organizzazione e gestione sulla memoria di massa è quasi totalmente oscurato
• Dal punto di vista progettuale i File, pur essendo possibile una loro condivisione, continuano ad essere Dipendenti dalle Procedure e concepiti come l’implementazione di una collezione di dati legata ad una procedura applicativa o ad un limitato numero di esse (es. Quelle dello stesso sottosistema software)
• Permangono i problemi di Ridondanza ed Inconsistenza , si dilatano quelli di Privatezza e Concorrenza
3^ Fase: l’autonomia dei Dati
• Cambiano le metodologie di analisi dei sistemi informativi e progettazione dei sistemi software
• Prima: analisi funzionale dei Sistemi informativi; per una o più funzioni individuate si progettava il sottosistema/procedura software; per ogni sottosistema/procedura si progettavano i Files (archivi) necessari
• Ora: si prende atto che il patrimonio dati vive indipendentemente dalle funzioni e, anzi, è più stabile di queste ultime
• L’analisi dei dati e la definizione del Patrimonio Dati può essere fatta autonomamente
• La progettazione della soluzione informatica che implementa il PD può essere fatta separatamente dalle procedure software che realizzano le funzioni del Sistema Informatico
• Ogni procedura accede al patrimonio dati unico ed informatizzato per usare ciò che occorre
SOFTWARE DATA BASE
Questo nuovo approccio richiede: teorie, modelli, metodi, processi, tecniche
…tecnologie ed ambienti specializzati per i DATI
E’ la nascita della Ingegneria dei Dati
Come per i Sistemi Software ( destinati a implementare una o più Funzioni di un SIc), anche la costruzione e la gestione di un Sistema dati Informatico ( destinato a Implementare il PD del SIc) diventa un autonomo e specifico processo produttivo, con un ciclo di vita caratterizzato da fasi ed attività specifiche
• L’analisi di un sistema produttivo per la definizione del Patrimonio Dati del sistema
informativo diventa
Analisi e Progettazione Concettuale
Dei Dati
Principali obiettivi della Progettazione Concettuale sono:
• la definizione degli schemi delle collezioni che comporranno il PI
• la definizione delle relazioni che intercorrono fra le informazioni che gli schemi definiscono
Esempio: dalla nostra realtà definiamo Studente ( sch della collezione degli studenti) , Corso ( sch … dei corsi), Docente (sch dei docenti) e le relazioni studente segue corso, docente tiene corso
• Così come nella Ingegneria del Software alla fase di progettazione segue quella di programmazione che trasforma l’insieme delle componenti funzionali ( moduli, procedure, etc..) in unità di programmi attivabili ed eseguibili ……
• ..nella Ingegneria dei Dati alla fase di progettazione concettuale segue una fase che trasforma tale progetto in una base di dati (informatica) che il computer possa fisicamente rappresentare sulle proprie memorie di
massa e renderla operativa; diremo tale fase «data base building»
• L’equivalente dei programmi, che descrivono le sequenze operative che realizzano una funzione, viene chiamato Progetto Logico della base di dati e descrive le collezioni di dati che lo compongono (Schemi Logici)
• Così come per la definizione dei programmi e la loro trasformazione in unità fisicamente eseguibili abbiamo linguaggi di programmazione ed ambienti linguistici operativi di supporto ( editor, compilatori, …), anche per la definizione del Progetto Logico di una base di dati e la sua trasformazione ad un Livello Fisico occorrono specifici linguaggi ed ambienti di supporto per la definizione
Un modello organizzativo insufficiente per i dati
DE A
Progetto Concettuale
Programmatore di Data Base
Ambiente di
Progettazione logica
DB( livello Fisico)
DB DB (livello Logico)
DE A
REQUISITI e PROGETTO
Programmatore
Ambiente di
programmazione
Unità software eseguibili
programmi
• Per una base di dati, fra il livello fisico e l’ambiente esterno, non basta interporre un ambiente di progettazione logica
• La stessa fase di «Data Base Building» non si limita al «progetto logico» ma richiede, ad esempio, che agli schemi vengano aggiunte le istanze ( i dati iniziali) con operazioni ( spesso molto pesanti) di inizializzazione e popolamento (anche dette di caricamento iniziale della base dati)
• e , inoltre, molti e complessi sono i problemi relativi alla tenuta in esercizio ed all’uso della Base di Dati
• Ad esempio, per «tenere in esercizio la base di dati» ( grandi dimensioni e anche migliaia e migliaia accessi al secondo)
occorre far fronte ad enormi problemi di Integrità e Sicurezza dei dati
• Def. Chiameremo Integrità dei Dati ( Data Integrity ) la protezione degli stessi da cancellazioni o modifiche indesiderate – Corruzioni ….. Perdite
– Integrità fisica, integrità logica
• Def. Chiameremo Sicurezza dei Dati ( Data Security ) la protezione degli stessi da accessi indesiderati – Errori …………… dolo
• Ad esempio, problemi di – Sicurezza ed affidabilità
• Backup, restore, disaster recovery, …..
– Condivisione
• Diverse applicazioni e diversi utenti, conflitti, ridondanze ed inconsistenze , ….
– Controllo Accessi
• Diritti di accesso, privacy e protezioni
– …………………………………..
• L’uso della base di dati richiede di mettere a disposizione un ambiente operativo di accesso e di interrogazione che consenta di – Leggere e aggiornare dati, avere report, organizzare
«Viste» ed estrazioni delle sole collezioni e delle parti dei loro dati che sono di interesse, ……..
• La figura di programmatore di DB va trasformata in quello di Amministratore di Data Base, deputata non solo alla fase di DB Building, ma anche a quella di tenuta in esercizio in condizioni di efficienza della stessa
• E, …, soprattutto occorrono Sistemi Software Specializzati che non solo consentano la fase di progettazione logica e produzione del livello fisico, ma supportino tutta la fase di DB building, tutte le attività di amministrazione, le viste e gli usi dei diversi utenti
Data Base Management System
• Vengono progettati e realizzati Sistemi Software complessi, che mettono a disposizione ambienti operativi fondati sulla implementazione di modelli teoricamente fondati, linguaggi ben definiti, tecniche e tecnologie software avanzate, e la cui realizzazione e progettazione richiede migliaia di anni uomo
• Questi sistemi vengono chiamati Data Base Management Systems
Def. Viene chiamato Data Base l’insieme delle collezioni di dati realizzato, amministrato ed usato attraverso un Data Base Management System
DATA BASE
DATA BASE MANAGEMENT SYSTEM
Amministratore DB
Programmatori
... . .
Unità software
Unità software 1
Unità software 2
Unità software n
Utente Term. 1
Utente Term. 2
Utente Term. k
... . . .
…i livelli di astrazione gestiti da un DBMS
Viste di utente
Livello logico
Livello fisico
Una vista di utente è un sottoinsieme degli schemi ( solo le parti di specifico Interesse di uno specifico utente)
L’INDIPENDENZA dei tre livelli come Fondamentale conquista concettuale ed Ingegneristica
… deriva dall’Architettura a tre livelli definita nel 1970 da ANSI SPARC
Gli elementi CARATTERIZZANTI di un DBMS e relativi DB
• I fondamentali elementi caratterizzanti sono:
– Il modello di dati su cui si fonda
– Il linguaggio di definizione logica degli schemi di un DB, Data Definition Language ( DDL )
– Il linguaggio di manipolazione dei dati, Data Manipolation Language ( DML), o, più in generale il linguaggio di Interrogazione , Query Language (QL)
MODELLO DI DATI
• Un ambiente operativo è determinato dalle entità su cui si opera e dalle operazioni che su di esse si possono fare
• Quando parliamo di informazioni le operazioni sono caratteristiche del TIPO
– Es. Intero + - : *
Stringa caratteri concatenazione ( /,&, …)
• Ricordiamo che quando siamo di fronte a Tipi Strutturati ( ed in tale categoria sicuramente ricadono le informazioni delle collezioni di dati permanenti ……) le operazioni sono:
– Quelle del livello di astrazione e caratteristiche del tipo,
dette anche INTERNE AL TIPO ( Operazioni che applicate ad uno o più oggetti del tipo restituiscono come risultato un oggetto del tipo stesso)
– Quelle di accesso ( operazioni che applicate ad un oggetto
del tipo ne restituiscono un suo componente) – Quelle logico-relazionali, come quelle di interrogazione
sullo stato di un oggetto ( operazioni che applicate ad un oggetto del tipo restituiscono un valore «vero» o «falso»)
• Quale tipo ( o quali tipi ) di dato strutturato saranno messi a disposizione per la rappresentazione logica delle collezioni di dati di un DB ?
• Quali operazioni interne al tipo ( set minimale o aumentato e con quali operazioni) sono disponibili?
• Quali operazioni relazionali, di accesso e, più in generale, esterne al tipo?
• Esempio: supponiamo che il Modello di Dati del DBMS sia quello costituito dal tipo INSIEME (SET) e dalle operazioni insiemistiche note
• Studenti 3° Anno (S3A),Studenti Corso DB (SCDB), SCIS, …. – Se voglio l’insieme degli studenti che stanno seguendo tutti i
corsi: intersezione di tutti .. • StuttiCorsi = 𝑺𝑪𝑫𝑩 ∩ 𝑺𝑪𝑰𝑺 ∩ … .
– Se voglio l’insieme degli studenti che seguono almeno un
corso: Unione di tutti • StudentiAttivi = 𝑺𝑪𝑫𝑩 ∪ 𝑺𝑪𝑰𝑺 ∪ … . .
– Se voglio sapere se Gennaro Esposito segue il corso di DB
• (Gennaro Esposito) 𝝐? 𝑺𝑪𝑫𝑩
– Se ogni collezione studente ha uno schema del tipo ( Nome, Cognome, Matricola, e_mail, anno di iscrizione, tasse, n. esami superati, n. cfu acquisiti,….) , posso accedere ai singoli componenti di un dato? • Esempio N= SCDB («Gennaro Esposito» ( n.cfu
acquisiti))
– Posso imporre vincoli di integrità ? – Esempio: non può esserci studente in SCDB se
Tasse non pagate – Intersezione Studenti Biologia e Studenti Geologia
deve essere Vuota
MA PENSIAMO ANCHE A CIO’ CHE IL MODELLO DI DATI NON CONSENTIREBBE DI FARE . .. e che richiederebbe all’ utente algoritmi ed elaborazioni …
• Un modello di dati può essere in generale definito dai suoi tipi di dato e dalle sue operazioni; nel caso di DBMS e di DB, a ciò si aggiunge un insieme di regole ( vincoli di integrità) che consentono il «tailoring» del modello astratto alle esigenze del mondo reale e concettuale
• Def. Un Modello di Dati è definito dalla terna di
elementi MD≡ 𝑻, 𝑶, 𝑹 𝒅𝒐𝒗𝒆 T è un inisieme di Tipi di Dato; O è un insieme di operazioni sui dati di tipo t𝝐T; R è un insieme di regole di integrità.
• E’ evidente che il Modello di Dati è elemento fondamentale nella definizione dei linguaggi sia DDl che QL
I modelli di DBMS e DB ….. • Nella storia dei DBMS e dei DB un punto di approdo fondamentale è
costituito dall’ adozione del Modello Relazionale dei Dati (RDM) e dalla conseguente nascita di RDBMS e RDB
• Prima di RDM, RDBMS e RDB
– Modello Gerarchico (HDM) – Modello Reticolare (NDM)
• I Data Base relazionali sono i data base usati e diffusi per i Sistemi Informativi Aziendali
• Esigenze moderne di DB diversi hanno portato alla nascita di altri
modelli detti Modelli NO-SEQL ( o anche NO-R) – Non sostituiscono i DB relazionali – Non ne sono una alternativa: NO sta per «Not Only»; si tratta
in generale di modelli nati per nuove applicazioni informatiche …
• Modello Gerarchico
– Le collezioni di dati sono organizzate secondo una struttura ad ALBERO
–Gli oggetti della collezione sono NODI dell’albero collegati fra loro da ARCHI (nodo padre, nodo figlio), con i noti vincoli
–Classiche operazioni di accesso, visita e trasformazione di un albero ( inserimento nodi ed archi, cancellazione nodi ed archi, etc ..)
– … implementazione tipica record- puntatori
Corsi di laurea
SCIENZE ING ECO – GIU
INFO ENER CIV
Corsi 3°anno
Data Base
Stud
DESKTOP
CART 1 CART 2 CART k file1 file2
CART 2.1 CART 2.2
File2.2.1 File2.2.2 File2.2.n
• Il primo Data Base era gerarchico, fu messo in commercio dalla IBM, si chiamava IMS ( Information Management System) e nel 1966 fu progettato e realizzato per il programma Apollo
• Grandi Problemi di Ridondanza (…anche interi e complessi sottalberi …)
• Per superare il problema : evoluzione verso la rottura del vincolo dei nodi figli ( … possono avere un sol padre …) che segna la fine della «gerarchia»
• Modello Reticolare – Le collezioni di dati sono organizzate secondo una
struttura a GRAFO ORIENTATO
– Gli oggetti della collezione sono NODI del Grafo collegati fra loro da ARCHI (nodo di partenza, nodo di arrivo), senza vincoli sui possibili collegamenti
– Classiche operazioni di accesso, visita e trasformazione di un Grafo ( inserimento nodi ed archi, cancellazione nodi ed archi, etc ..)
– … implementazione tipica record- puntatori (stutture a lista collegate o «linked-list data structure»)
STUDENTE
Corso DB
Corso Prog2
Corso CP
DOCENTE
Segreteria Studenti
SENATO
Diritto studio
• Il primo ambiente data base reticolare commerciale fu IDMS (Integrated Database Management System)
• Modello reticolare dati definito da CODASYL ( Conference on Data System Language)
• Prodotto da Cullinet, rilevato da CA Associates
• Con una estensione relazionale ( IDMS/R) è ancora attivo
Enormi problemi di Manutenzione , … una inestricabile foresta …
…il post relazionale …
• La nascita del paradigma di programmazione Object Oriented • Nelle fasi di analisi e design la IS mira ad una
«rappresentazione concettuale» in cui ogni entità del mondo reale è rappresentata da un oggetto
• un oggetto integra tipi di dato astratti e strutturati con le operazioni caratteristiche del tipo (integrazione dati-funzioni)
• Le relazioni non riescono a rispondere perfettamente alla esigenza di rappresentare oggetti – Oggetti complessi verrebbero «…frantumati ..» in un
elevato numero di relazioni ….
• … nascono basi di dati che direttamente assumono un Modello di dati OO
– Object Oriented Database Management System (OODBMS) e OODB
– I DDL vengono sostituiti da ODL, e i QL da OQL
• … e una evoluzione del modello relazionale verso la … integrazione degli oggetti …
– Object Relational Data Base ( ORDBMS ) e ORDB
NO-R …non solo relazionale...
• … si tratta di esigenze nate fuori dalle classiche applicazioni aziendali ( sistema produttivo – sistema informatico …)
• … nate col Web, con IoT e col Cloud Computing ( … nelle nuvole informatiche anche data services DaaS …)
• … con crescita enorme del volume dei dati da memorizzare ( … anche con accessi da rendere semplici per milioni di utenti … )
Es. CASSANDRA è usato da Facebook, Twitter, Digg ( il più grande sistema di social news), … E’ Open Source
… il Volume dei dati … come si misura ?
• Bit
• Byte 𝟐𝟑 bit
• KB Kilobyte 𝟏𝟎𝟑byte
• MB Megabyte 𝟏𝟎𝟔byte
• GB Gigabyte 𝟏𝟎𝟗byte
• TB Terabyte 𝟏𝟎𝟏𝟐byte
• PB Petabyte 𝟏𝟎𝟏𝟓byte
• EB Exabyte 𝟏𝟎𝟏𝟖byte
• ZB Zettabyte 𝟏𝟎𝟐𝟏byte
• YB Yottabyte 𝟏𝟎𝟐𝟒byte
… esempi …
• 1 TB 300 ore di filmati • Documenti Biblioteca del Congresso di
Washington 422 TB • Nel 2007: 1° HD per Pc da 1 TB
• Nel 2013:
– In Internet 1826 PB al giorno – Su YouTube traffico mensile di 27 PB – Nel 2011 il Centro di Ricerca e Sviluppo IBM di
Almadèn ha realizzato un disco fisso da 120 PB
• Fino al 2007 l’exabyte non era mai stato usato in un contesto pratico ….
• Il volume di nuovi dati (digitali) prodotto dal genere umano in 1 anno è valutato in circa 2EB
• CISCO VISUAL NETWORKING INDEX – …entro il 2016 il traffico dati globali su rete mobile
raggiungerà 91,3 Exabytes mensili …….
CISCO VISUAL NETWORKING INDEX
• Doc: The Zettabyte Era – Trends and Analysis : l’incipit dell’executive summary:
Annual IP traffic will pass the Zettabyte … by the end of 2016, and will reach 1,6 Zettabyte per year by 2018 ………. 2,3 Zettabyte …by 2020
Una stima UE :
I dati delle collezioni permanenti memorizzati nei DB tradizionali dei sistemi produttivi
sono solo una piccola parte …….
NB. Strutturati: organizzati secondo Schemi ben definiti, con modelli di dati su base matematica, con regole e vincoli da rispettare, ……………..
Il Termine Big Data fu introdotto da Google nel 2004
Il rapporto fra dati strutturati e dati destrutturati
• Con i Social Data si ha una esplosione di collezioni di dati DESTRUTTURATI le cui dimensioni superano la capacità di memorizzazione, gestione ed analisi dei tradizionali sistemi di basi di dati
• … e non è solo un problema di Volume, ovvero di quantità, peraltro crescenti
• …ma anche di Velocità, peraltro crescenti
• … di Varietà, peraltro crescente ( … digitalizzazione di tutto …)
• … di garanzie di Veridicità dei dati collezionati ( … non garantibili i livelli di certezza dei DB aziendali …)
• Volume
– In un tradizionale RDBMS: ordine dei Gigabyte
– Nei primi NO-R: ordine dei Petabyte
• Velocità di accesso
– Nei tradizionali RDBMS: 357 KB/sec
– Nei primi No-R: 103 MB/sec
La quinta V : il Valore (Value)
http://www.google.it/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0CAcQjRxqFQoTCMDs0rPMr8gCFYjTFAod1uwPqw&url=http://blogs.cisco.com/sp/riding-the-big-data-wave-service-providers-can-accelerate-big-data-evolution-to-unlock-new-value&psig=AFQjCNG1aj3-TmLB1AbXh08UEymRCMP0lQ&ust=1444280883644639
• Modelli di dato meno rigidi e formalizzati, senza schemi fissi,….
• Nuovi metodi di interrogazione con lo scopo di gestire enormi quantità di dati
• Agevolare la replica e la distribuzione di DB su più macchine
• Meno vincoli, anche di integrità ( ...le transazioni e le proprietà ACID* … )
• Pronti ad ammettere e sopportare altissime ridondanze
* Atomicità Coerenza Isolamento Durabilità ( persistenza)
NO – R o NO - SQL
• Es. Basi di dati Documentali
– Tipo di dato è il Documento è le principali operazioni sono di editing , ricerca ,..lettura
– è un tipo di dato permanente molto « free schema»
– … si pensi ad HTML (HiperTextMarkupLanguage) usato per descrivere documenti per Web
– Anche con query particolari ( …ricerca per contenuto ..)
• In particolare Data base XML
– XML è uno standard che introduce dati semistrutturati, in cui il documento può essere strutturato o meno, ma deve rispettare alcune regole «sintattiche»
– I documenti XML non sono direttamente utilizzabili in DB per sistemi informativi; Estensioni di RDBMS risolvono il problema per documenti semplici e ben strutturati; altrimenti DBMS XML nativo
Es. XML Data Base : Lotus Notes (IBM), Simple DB ( Amazon) anche open : Mongo DB, Apache Couch DB
• Esistono molti No-R ( importanti quelli fondati su un modello chiamato chiave/valore, come il citato CASSANDRA )
• e ,…. , per applicazioni specifiche che sono naturalmente o ottimamente rappresentate da grafi orientati e non, una nuova generazione di No-R fondati su Grafo
• Dato
• Base
• Sistema Produttivo
• Base Informativa
• Dati di servizio, gestione, pianificazione
• Sistemi Informativi
• Dati volatili, Permanenti/Persistenti
• Collezione permanente
• Patrimonio Dati
• Schema di una CP
• Istanza di una CP
• Sistema Informatico
• Ingegneria dei Dati
• Ridondanza
• Inconsistenza
• Concorrenza e condivisione
• Riservatezza
• Analisi dei Dati
• Livello/Progettazione Concettuale
• Livello/Progettazione Logica
• Livello Fisico
• DBMS
• DB • Data base building
• Amministratore di DB
• Inizializzazione e Popolamento
• Data Integrity
• Data Security
• Vista di utente
• Modello di Dati
• DDL ( linguaggio di descrizione dati)
• QL ( linguaggi di interrogazione)
• Modello Gerarchico
• Modello Reticolare
• Modello Relazionale
• Modello ad oggetti
• BIG DATA
• Modelli No-SEQL/No-R
• DB Documentali
• XML DB
• DB grafo
• DB chiave/valore
KEY WORDS
The pioneers of databases
• Peter Chen: "The Entity-Relationship Model--Toward a Unified View of Data". ACM Transactions on Database Systems 1/1/1976 ACM-Press ISSN 0362-5915, S. 9–36, 1976
• Edgar Frank Codd:” A relational model of data for large shared data banks”. Communications of the ACM 13 (6), 377-387, 1970
• Larry Ellison
A B C D E F G
A B C D
G1
E F G
G2
A B
G11
C D
G12
E F
G21
G
G22
1 scelta fra 7 3 Scelte fra 2
1 scelta fra N 𝑙𝑜𝑔2N