Basi di Dati - unisannio.it · Basi di Dati Introduzione Prof. Aniello Cimitile . DATA BASE . ......

82
Basi di Dati Introduzione Prof. Aniello Cimitile

Transcript of Basi di Dati - unisannio.it · Basi di Dati Introduzione Prof. Aniello Cimitile . DATA BASE . ......

  • 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