basi di dati - unisannio.it...ogni istante, il numero di dati che le compongono. •diremo...
TRANSCRIPT
Basi di Dati
Introduzione
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
BTPSpread
Forche caudine
Risultatox + 322 = 1
…AirbusBritishAirway
Coloresemaforo
…
-321 può essere la rappresentazione del valore di infinite informazioni
… informazione – dato …
• L’informazione è condizione necessaria perl’esistenza del dato
• Il dato è condizione necessaria per laconservazione, elaborazione e trasmissionedell’informazione
SOCIETA’ DELL’INFORMAZIONEE DELLA CONOSCENZA
SOCIETA’ DEI DATI
Siamo immersi in un mondo di dati … noi stessi siamo portatori di dati …
e dalla biologia ci fanno sapere …chealcuni di questi dati ci segnano per sempre …
La Rivoluzione dell’Intelligenza
In un uomo ed in un mondo senza dati
L’Intelligenza sarebbe perfettamente inutile
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 esistenzae disponibilità è condizione necessaria perla 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
SISTEMAPRODUTTIVO
Risorse Beni e/o Servizi
• In ogni SP si sviluppano processi ed attivitàche si fondano, fra l’altro , su un insieme diinformazioni 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 gestionesistematica, strutturata, controllata e sicura
• Diremo Sistema Informativo il complesso dicompetenze e risorse umane, di macchine ed impianti,di procedure organizzato, strutturato e dedicato alladefinizione, manutenzione ed evoluzione della BI, allaraccolta, circolazione ed elaborazione dei dati della BI
• La BI viene, in generale, considerata una componentedel SI
• Alcune componenti, a volte gran parte della BI, non sonosolo operativamente indispensabili, ma diventano unPatrimonio aziendale di rilevante valore commerciale
• Nell’arco della vita di un SP, la quantità di dati della BI checircola 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 cuidurata può coincidere con quella della vita stessa del SP
– Naturalmente, il numero di tali collezioni è finito, e finito è, inogni 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…
– 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• Es. collezione dei clienti di una azienda:
Per ogni cliente conserviamo i dati relativi alle stesse informazioniCome il Nome, il Cognome, Partita Iva, CIF, indirizzo, Pec, …
– ..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 perun archivio-schedario è uno schema
Esercizio: Costruiamo lo schema della « collezione» degli studenti cheseguono 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’insieme delle rappresentazioni …. – Es, un modulo-scheda «riempito», …un rigo riempito
dell’agenda, un componente dell’elenco,…; l’insieme dei moduli, l’insieme delle righe …, l’insieme dei componenti
Def. Diremo Istanza di una collezione l’insiemecostituito dallo schema e dai dati che lacompongono
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, haavuto un enorme impatto sui SP ed in particolare sui loroSistemi Informativi;
• Gran parte di un SI viene supportata e/o direttamenterealizzata con le ICT
Def. Diremo Sistema Informatico il complesso delle componentitecnologiche ICT ( hardware, software, reti, … etc.) appositamenteprogettato, implementato, tenuto in esercizio, aggiornato emanutenuto quale componente fondamentale di un SI
• viceversa …, i feedback e la domandaproveniente dai SP per Sistemi Informaticisempre più pervasivi ed efficienti, capaci didare un contributo decisivo alla efficaciaaziendale, hanno profondamente segnato lastoria e l’evoluzione dell’Informatica
NB. Efficienza = Risultati/Risorse Efficacia = Risultati/Obiettivi
Pervasività : da non confondere con ubiquitous computing ( concetti di due ...ere…diverse ); qui ci si riferisce alla presenza del sistema informatico in ogniTask 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 dovesi 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 servizispecifici per la gestione di archivi su memorie di massa
– In particolare, i File System offrono agli utenti ( e quindi anchealle procedure/applicazioni) una unica e comune interfaccia perla generazione e gestione dei files
– Comuni e standard le modalità e le operazioni di definizione edaccesso ai file ( es. creazione, apertura/chiusura,lettura/scrittura, cancellazione, …)
– Organizzazione logistica dell’insieme dei files (inidici/elenchi/directory …., accesso, cancellazioni,organizzazione di sottosezioni, ….)
FILESYSTEM
Procedura 1
Procedura 2
Procedura n
...
FileFile 1
File 2
File 3
File m
...
• Per ogni sottosistema/procedura software il file diventa una struttura dati diprevalente 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 comel’implementazione di una collezione di dati legata ad una procedura applicativa oad un limitato numero di esse (es. Quelle dello stesso sottosistema software)
• Permangono i problemi di Ridondanza ed Inconsistenza , si dilatano quelli diPrivatezza 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
…… nei dati che colleziono oggi … chissà quali elaborazioni verranno fatte domani … quali procedure e quali intelligenze li useranno …
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 Sistemadati Informatico ( destinato a Implementare il PD del SIc) diventaun autonomo e specifico processo produttivo, con un ciclo di vitacaratterizzato 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 individuazione delle collezioni;
• la definizione degli schemi delle collezioni;
• 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 relazionistudente segue corso, docente tiene corso
• Così come nella Ingegneria del Software alla fase di progettazione seguequella di programmazione che trasforma l’insieme delle componentifunzionali ( moduli, procedure, etc..) in unità di programmi attivabili edeseguibili ……
• ..nella Ingegneria dei Dati alla fase di progettazione concettuale segue unafase che trasforma tale progetto in una base di dati (informatica) che ilcomputer possa fisicamente rappresentare sulle proprie memorie di
massa e rendere operativa; diremo tale fase «data base building»
• L’equivalente dei programmi, che descrivono le sequenze operative cherealizzano una funzione, viene chiamato Progetto Logico della base di datie 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
DEA
ProgettoConcettuale
Programmatore diData Base
Ambiente di
Progettazione logica
DB( livelloFisico)
DBDB (livelloLogico)
DEA
REQUISITIe 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» ( grandidimensioni 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 ) laprotezione degli stessi da cancellazioni o modificheche producono effetti indesiderati
– Corruzioni ….. Perdite… Violazione di regole e vincoli …
– Integrità fisica, integrità logica
• Def. Chiameremo Sicurezza dei Dati ( Data Security ) laprotezione 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 per un DB non basta più, mava potenziata :– Amministratore di Data Base, deputata non solo alla fase
di DB Building, ma anche a quella di tenuta in esercizio incondizioni di efficienza della stessa
• e, …, soprattutto occorrono Sistemi SoftwareSpecializzati che non solo consentano la fase diprogettazione logica e produzione del livellofisico, ma supportino tutta la fase di DB building,tutte le attività di amministrazione, le viste e gliusi dei diversi utenti
Data Base Management System
• Vengono progettati e realizzati Sistemi Software complessi, chemettono a disposizione ambienti operativi fondati sullaimplementazione di modelli teoricamente fondati, linguaggi bendefiniti, tecniche e tecnologie software avanzate, e la cuirealizzazione e progettazione richiede migliaia di anni uomo
• Questi sistemi vengono chiamati Data Base Management Systems
Def. Viene chiamato Data Base l’insieme dellecollezioni di dati realizzato, amministrato edusato attraverso un Data Base ManagementSystem
DATA BASE
DATA BASE MANAGEMENT SYSTEM
AmministratoreDB
Programmatori
... . .
Unità software
Unità software1
Unità software2
Unità softwaren
UtenteTerm. 1
UtenteTerm. 2
UtenteTerm. k
... . . .
…i livelli di astrazione gestiti da un DBMS
Viste di utente
Livello logico
Livello fisico
Una vista di utente è un sottoinsiemedegli schemi ( solo le parti di specifico
Interesse di uno specifico utente)
L’INDIPENDENZA dei tre livelli come Fondamentale conquista concettualeed Ingegneristica
… deriva dall’Architettura a tre livelli definita nel 1970 da ANSI SPARC
Gli elementi CARATTERIZZANTIdi 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 dalleentità su cui si opera e dalle operazioni che sudi esse si possono fare
• Quando parliamo di informazioni le operazionisono caratteristiche del TIPO
– Es. Intero + - : *
Stringa caratteri concatenazione ( /,&, …)
• Ricordiamo che quando siamo di fronte a Tipi Strutturati( ed in tale categoria sicuramente ricadono leinformazioni delle collezioni di dati permanenti ……) leoperazioni sono:
– Quelle del livello di astrazione e caratteristiche del tipo,dette anche INTERNE AL TIPO ( Operazioni che applicate aduno o più oggetti del tipo restituiscono come risultato unoggetto del tipo stesso)
– Quelle di accesso ( operazioni che applicate ad un oggettodel tipo ne restituiscono un suo componente)
– Quelle logico-relazionali, come quelle di interrogazionesullo stato di un oggetto ( operazioni che applicate ad unoggetto del tipo restituiscono un valore «vero» o «falso»)
• Quali tipi ) di dato strutturato saranno messi adisposizione per la rappresentazione logicadelle collezioni di dati di un DB ?
• Quali operazioni interne al tipo ( set minimaleo aumentato e con quali operazioni) sonodisponibili?
• 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 definitodai suoi tipi di dato e dalle sue operazioni; nel casodi DBMS e di DB, a ciò si aggiunge un insieme diregole ( vincoli di integrità) che consentono il«tailoring» del modello astratto alle esigenze delmondo 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 è elementofondamentale nella definizione dei linguaggi sia DDlche 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: visita e trasformazione di un albero ( inserimento nodi ed archi, cancellazione nodi ed archi, etc ..)
– … nei corsi base: implementazione tipica record-puntatori
Corsi dilaurea
SCIENZE INGECO –GIU
INFO ENER CIV
Corsi3°anno
DataBase
Stud
DESKTOP
CART 1 CART 2 CART kfile1 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 Grafocollegati fra loro da ARCHI (nodo di partenza,nodo di arrivo), senza vincoli sui possibilicollegamenti
– Classiche operazioni: visita e trasformazione di unGrafo ( inserimento nodi ed archi, cancellazionenodi ed archi, etc ..)
– … implementazione tipica record- puntatori (stutture alista collegate o «linked-list data structure»)
STUDENTE
CorsoDB
CorsoProg2
CorsoCP
DOCENTE
SegreteriaStudenti
SENATO
Dirittostudio
• 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 programmazioneObject 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 …)
• … esplose col Web, con IoT e col Cloud Computing ( … nelle nuvole informatiche anche data servicesDaaS …)
• … 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
È stato di: 1.2 ZB
Attuale Previsione Per 2021:
3.3 ZB
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 datiDESTRUTTURATI le cui dimensioni superano la capacità dimemorizzazione, gestione ed analisi dei tradizionali sistemidi basi di dati
• … e non è solo un problema di Volume, ovvero diquantità, peraltro crescenti
• …ma anche di Velocità, peraltro crescenti
• … di Varietà, peraltro crescente ( … digitalizzazione ditutto …)
• … 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)
• 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 descriveredocumenti per Web
– Anche con query particolari ( …ricerca per contenuto ..)
• In particolare Data base XML
– XML è uno standard che introduce dati semistrutturati, in cui ildocumento può essere strutturato o meno, ma deve rispettare alcuneregole «sintattiche»
– I documenti XML non sono direttamente utilizzabili in DB per sistemiinformativi; Estensioni di RDBMS risolvono il problema per documentisemplici 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 sononaturalmente o ottimamente rappresentateda grafi orientati e non, una nuovagenerazione 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