La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

BASI di Dati: Fondamenti e modelli

Presentazioni simili


Presentazione sul tema: "BASI di Dati: Fondamenti e modelli"— Transcript della presentazione:

1 BASI di Dati: Fondamenti e modelli
Maurizio Fermeglia

2 Sistema Informatico porzione automatizzata del sistema informativo
il sistema informatico è la parte del sistema informativo che gestisce informazioni per mezzo della tecnologia informatica. Sistema azienda Sistema organizzativo Sistema informativo Sistema informatico

3 Gestione delle informazioni
Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse, a seconda delle necessità e capacità: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in un’altra) disegni, grafici, schemi numeri codici (anche segreti) e su vari supporti, dalla memoria umana alla carta Ogni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Per esempio: Utenze telefoniche Conti correnti bancari Studenti iscritti a un corso di laurea Quotazioni di azioni nei mercati telematici

4 Gestione delle informazioni
Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni. Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e sono state poi introdotte informazioni via via più precise (e in un certo senso artificiali):  nome e cognome;  estremi anagrafici;  codice fiscale I sistemi informativi organizzano e gestiscono le informazioni necessarie alle attività di un’organizzazione: Inizialmente non erano automatizzati (per esempio, gli archivi bancari) Informatica  gestione automatica dei dati  basi di dati Informazione memorizzata in modo rigoroso

5 Informazioni e dati Nei sistemi informatici (e non solo in essi), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati. informazione : notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato : ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati. (Vocabolario della lingua italiana, 1987)

6 Dati e informazioni che cosa significano questi numeri?
cartelli stradali, in Finlandia; sono orari ma la differenza? senza "interpretazione," il dato serve a ben poco Lun-Ven Sabato Festivo

7 Dati e informazioni Perché i dati?
Quindi, i dati sono fatti elementari, informazioni codificate, che hanno bisogno di essere interpretate per fornire conoscenza Esempio ‘Mario’ ’275’ su un foglio di carta sono due dati. Se il foglio di carta viene fornito in risposta alla domanda “A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?”, allora i dati possono essere interpretati ed arricchire la conoscenza. Perché i dati? La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani)

8 Dati e applicazioni I dati possono variare nel tempo (per esempio, importo conto corrente) Le modalità con cui i dati sono rappresentati in un sistema sono di solito stabili Le operazioni sui dati variano spesso (per esempio, ricerche) separare i dati dalle applicazioni che operano su essi

9 Base di dati (accezione generica)
collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione. (accezione specifica) collezione di dati gestita da un DBMS

10 Sistema di gestione di basi di dati DataBase Management System — DBMS
Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche): grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati) persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano) condivise (utilizzate da applicazioni diverse) garantendo affidabilità (resistenza a malfunzionamenti hardware e software) e privatezza (con una disciplina e un controllo degli accessi). Come ogni prodotto informatico, un DBMS deve essere efficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività dei suoi utilizzatori).

11 Condivisione Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività. A ciascun settore o attività corrisponde un (sotto-)sistema informativo (privato o porzione di un sistema più grande). Possono esistere sovrapposizioni fra i dati di interesse dei vari settori. Una base di dati è una risorsa integrata, condivisa fra i vari settori.

12 Condivisione (segue) L’integrazione e la condivisione permettono di ridurre la ridondanza (evitando ripetizioni) e, di conseguenza, le possibilità di incoerenza (o inconsistenza) fra i dati. Poiché la condivisione non è mai completa (o comunque non opportuna) i DBMS prevedono meccanismi di definizione della privatezza dei dati e di limitazioni all’accesso (autorizzazioni). La condivisione richiede un opportuno coordinamento degli accessi: controllo della concorrenza.

13 Efficienza Si misura (come in tutti i sistemi informatici) in termini di tempo di esecuzione (tempo di risposta) e spazio di memoria (principale e secondaria). I DBMS, a causa della varietà di funzioni, non sono necessariamente più efficienti dei file system. L’efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano.

14 DBMS vs file system La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più semplici — gli ordinari file system dei sistemi operativi, che permettono di realizzare anche rudimentali forme di condivisione. Non esiste una linea netta di separazione fra DBMS e non-DBMS. I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata (cfr. efficacia). I file system prevedono forme di condivisione, permettendo accessi contemporanei in lettura ed esclusivi in scrittura: se è in corso un’operazione di scrittura su un file, altri non possono accedere affatto al file. Nei DBMS, c’è maggiore flessibilità: si può accedere contemporaneamente a record diversi di uno stesso file o addirittura allo stesso record (in lettura).

15 DBMS vs file system (2) Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi. Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi.

16 Programma di Controllo
GESTIONE DI FILES Basati su File systems Logica di accesso ai dati contenuta nel codice (COBOL) Problemi di manutenzione Programma di Update File Dati Programma di Report Storico Programma di Controllo

17 Descrizioni dei dati nei DBMS
Esistono descrizioni e rappresentazioni dei dati a livelli diversi, che permettono l’indipendenza dei dati dalla rappresentazione fisica: i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi. Precisiamo attraverso il concetto di modello dei dati.

18 Modello logico dei dati
Sottointende una specifica rappresentazione dei dati (tabelle, alberi, grafi, oggetti…) Descrive i dati a un livello intermedio, tra ciò che vede l’utente e il livello dell’implementazione Molte proposte in DBMS commerciali Utente Modello logico Implemen-tazione

19 Modello concettuale Per la progettazione di un DB: analisi della realtà di interesse Modello astratto Indipendente dal modello logico Modello concettuale = rappresentazione dei concetti Modello logico = rappresentazione dei dati

20 Modello dei dati insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei

21 Componenti di Data Base System DBS…
Schemi: la struttura Istanze: i contenuti Dati disponibili su varie piattaforme hw monoutente o multi user dati contenuti in un singolo Data Base ma estendibili a più DB dati integrati eliminazione delle ridondanze dati su più tabelle dati condivisi condivisi da tanti utenti con accesso contemporaneo Hardware Dischi, I/O devices, CPU, RAM,....

22 Componenti Data Base System (DBS)
Software Data Base Management System (DBMS) si interpone tra l’hw +dati e l’utente e supporta operazioni di tipo SQL Altre Utility Development toolkits, Report writers, Front end designer,... Utenti Programmatore di applicazioni - progettista Utenti Finali - utilizzatori del sistema tramite le applicazioni attraverso sistemi SQL ‘standard’ attraverso applicazioni ‘chiuse’ attraverso sistemi ‘GUI’ come MS Query - utenti occasionali Amministratori del Data Base

23 Personaggi e interpreti
progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati (DBA) progettisti e programmatori di applicazioni utenti utenti finali (terminalisti): eseguono applicazioni predefinite (transazioni) utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi

24 Database administrator (DBA)
Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell’affidabilità, delle autorizzazioni Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni

25 Un Data Base è formato da DATI,DATI,DATI
DatiPersistenti In contrapposizione ai dati transitori dati di Input: contenuti in una maschera dati di output: risposta del sistema DEFINIZIONE: Il Data Base è una collezione di dati persistenti che è usata dal sistema di una certa azienda (organizzazione tecnica, commerciale, scientifica)

26 Quindi … Data base Data Base Management System Data base system
I dati solo i dati e null’altro che i dati Valore per l’azienda Data Base Management System Il Sw che gestisce i dati Detto anche Motore Data Base Diversi vendors: IBM, Oracle, Sybase, Miscrosoft, … Data base system DB + DBMS Data bank Usato a sproposito …. Sinonimo di Data Base system Indica anche banche non necessariamente informatizzate

27 Alcune definizioni DATA BASE SYSTEM ... sul quale un utente...
un sistema computerizzato di gestione di records un archivio elettronico un deposito di informazioni (dati) ... sul quale un utente... aggiunge nuove informazioni aggiunge nuovi dati (records) estrae dati modifica, cancella, rimuove files .... composto da... (per DBR) Tabelle Records e Campi (fields) Linguaggio per la loro manipolazione (SQL) SELECT Birra, Produttore FROM Cantina WHERE Tipo=Scura INSERT INTO Cantina VALUES (53,’Nastro Azzurro’ ,’Peroni’, ‘Chiara’) DELETE FROM Cantina WHERE Codice=53

28 BENEFICI DELL’ USO DI DATA BASE
Riduzione delle informazioni ridondanti Eliminando I files privati Eliminando I doppiono (Forme normali) Consistenza della informazioni Conseguenza del punto precedente (ridondanza) Se c’è ridondanza, allora il DB deve garantire consistenza Dati condivisi E’ possibile imporre standard aziendali (DBA e DA li impongono Sicurezza Integrità Legata alla ridondanza e consistenza Fondamentale in ambiente multiutente

29 VANTAGGI DELL’USO DI UN DATA BASE
Caso dell’utente singolo Compattezza delle informazioni Velocità di estrazione Manutenzione dei files Possibilità di calcolo Caso della Multi utenza Stessi vantaggi di cui sopra esaltati dal fatto che il DB ha: Dimensioni maggiori Maggiore complessità Controllo centralizzato Consistenza ed integrità dei dati Sicurezza e riservatezza

30 Vantaggi e svantaggi di un DBMS
I dati sono considerati come un risorsa comune La base di dati fornisce un modello unificato del business Permette un controllo centralizzato dei dati permettendo standardizzazione ed economie di scala Riduzione di ridondanze ed inconsistenze Indipendenza dei dati Svantaggi Costo e la complessità - investimenti Potrebbero fornire servizi ridondanti e non richiesti effettivamente

31 MA IL BENEFICIO MAGGIORE E’ L’ INDIPENDENZA DEI DATI
Nei vecchi sistemi il modo in cui venivano organizzati i dati e le tecniche per accedervi facevano parte della logica e del codice del programma.

32 Schema e istanza In ogni base di dati esistono:
lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale) es.: le intestazioni delle tabelle l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) es.: il “corpo” di ciascuna tabella

33 Due tipi (principali) di modelli
modelli logici modelli concettuali

34 Modelli logici Adottati nei DBMS esistenti per l’organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti, basato su XML

35 Modelli concettuali Permettono di rappresentare i dati in modo indipendente da ogni sistema cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione Il più diffuso è il modello Entity-Relationship

36 Architettura (semplificata) di un DBMS
BD Schema logico Schema interno utente

37 Architettura semplificata di un DBMS: schemi
schema logico:  descrizione della base di dati nel modello logico (ad esempio, la struttura della tabella) schema interno (o fisico): rappresentazione dello schema logico per mezzo di strutture memorizzazione (file; ad esempio, record con puntatori, ordinati in un certo modo)

38 Indipendenza dei dati Il livello logico è indipendente da quello fisico: una tabella è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo) Perciò in questo corso vedremo solo il livello logico e non quello fisico

39 INDIPENDENZA DEI DATI Esiste il concetto di VISTA del Data Base
L’amministratore del DB può modificare la struttura interna dei dati senza toccare la visibilità esterna allo stesso IMMUNITA’ DELLE APPLICAZIONI A MODIFICHE DI STRUTTURA

40 Una vista

41 Architettura standard (ANSI/SPARC) tre livelli per DBMS
utente utente utente utente utente BD Schema logico Schema esterno Schema interno

42 Architettura ANSI/SPARC: schemi
schema logico:  descrizione dell’intera base di dati nel modello logico “principale” del DBMS schema esterno:  descrizione di parte della base di dati in un modello logico (“viste” parziali, derivate, anche in modelli diversi) schema fisico:  rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione.

43 Indipendenza dei dati conseguenza della articolazione in livelli:
l’accesso avviene solo tramite il livello esterno (che può coincidere con il livello logico); due forme: fisica: il livello logico e quello esterno sono indipendenti da quello fisico; una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo senza che debbano essere modificate le forme di utilizzo) logica: il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al livello logico; modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti

44 TIPI DI SISTEMI DI BASI DI DATI
Sistemi basati sulla gestione di Files (FMS) Modelli Gerarchici Modelli Reticolari (Network) Modelli Relazionali

45 Un po’ di Storia: Anni ‘70 Anni ’70
Modelli a Oggetti >> Un po’ di storia Un po’ di Storia: Anni ‘70 Anni ’70 DBMS gerarchici DBMS reticolari Modello di dati basato su alberi o grafi Dipendenza dal modello fisico Interrogazioni navigazioni del grafo

46 Un po’ di Storia: Anni ‘80 Anni ’80 Modello semplice ed elegante
Modelli a Oggetti >> Un po’ di storia Un po’ di Storia: Anni ‘80 Anni ’80 Codd “A Relational Model for Large Shared Data Banks”, CACM, giugno 1970 DBMS relazionali Modello semplice ed elegante Caratteristiche del modello legami tra i dati basati sui valori I forma normale (domini elementari) indipendenza rispetto al modello fisico

47 Un po’ di Storia: Anni ‘80 Ottime prestazioni Servizi avanzati
Modelli a Oggetti >> Un po’ di storia Un po’ di Storia: Anni ‘80 Ottime prestazioni Servizi avanzati concorrenza, affidabilità, sicurezza Standard SQL-89, SQL-92 “intergalactic dataspeak” Architettura a tre livelli schemi esterni, schema logico, schema fisico Grande successo nei sistemi informativi dati gestionali

48 Un po’ di Storia Anni ’90 Il mondo è fatto di oggetti, non di tabelle
Modelli a Oggetti >> Un po’ di storia Un po’ di Storia Anni ’90 nuove applicazioni GIS, CAD, dati multimediali, documenti oggetti con struttura complessa Il mondo è fatto di oggetti, non di tabelle Il “garage” relazionale “per conservare la tua auto ti costringe a farla a pezzi e conservare ciascun pezzo in un cassettino”

49 Un po’ di Storia Tecnologia a oggetti
Modelli a Oggetti >> Un po’ di storia Un po’ di Storia Tecnologia a oggetti sistema di tipi ricco classi di oggetti basati sui tipi ereditarietà e polimorfismo Tecnologia di successo nei linguaggi di programmazione (C++, Java) Sistemi per Basi di Dati Orientati agli Ogg. la soluzione finale ? NoSQL: NotOnly SQL Applicazioni: social networks

50 Un po’ di Storia Moltissima ricerca (e risultati interessanti)
Modelli a Oggetti >> Un po’ di storia Un po’ di Storia Moltissima ricerca (e risultati interessanti) DBMS a Oggetti Commerciali O2, Objectstore, GemStone Standard ODMG-93 linguaggio OQL Scarso successo commerciale (nicchia) differenze notevoli tra i prodotti dipendenza dal linguaggio (Java ?) prestazioni inferiori

51 I Quadranti di Stonebraker
Modelli a Oggetti >> Un po’ di storia I Quadranti di Stonebraker DBMS Orientato agli Oggetti DBMS Relazionale a Oggetti Complessità dei tipi di dato Linguaggio di prog. + File System DBMS Relazionale Complessità delle interrogazioni

52 Programma di Controllo
GESTIONE DI FILES Basati su File systems Logica di accesso ai dati contenuta nel codice (COBOL) Problemi di manutenzione Programma di Update File Dati Programma di Report Storico Programma di Controllo

53 DATA BASE GERARCHICI Struttura gerarchica dei dati (tipico di un file system) Utilizzato nelle industrie di manufatti (Automobili) Introduzione della relazione Padre-Figlio (puntatori fisici) Vantaggi Struttura semplice Eccellente per relazioni padre - figlio (A è parte di B oppure A contiene B) Performance: movimenti rapidi in virtù della struttura gerarchica Automobile Motore Carrozzeria Chassis Porta sinistra Porta destra Tetto Cofano Finestrino Motore elettrico Maniglia

54 DATA BASE RETICOLARI Modello gerarchico è poco flessibile (gestione ordini) Un record partecipa a relazioni padre-figlio multiple Il programmatore naviga nel data base dando anche le direzioni di movimento (ancora puntatori fisici) Vantaggi: Flessibilità e Performance Svantaggi: certa rigidezza dovuta alle relazioni definite a priori e necessità di aggiornamento del SW Clienti Prodotti Ordini

55 Liberarsi dei puntatori fisici
DATA BASE RELAZIONALI Liberarsi dei puntatori fisici


Scaricare ppt "BASI di Dati: Fondamenti e modelli"

Presentazioni simili


Annunci Google