La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

BASI di Dati: Fondamenti e modelli Maurizio Fermeglia

Presentazioni simili


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

1 BASI di Dati: Fondamenti e modelli Maurizio Fermeglia

2 27 January, slide 2 Corso Di Basi di Dati 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 27 January, slide 3 Corso Di Basi di Dati 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 unaltra) 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 27 January, slide 4 Corso Di Basi di Dati 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 unorganizzazione: Inizialmente non erano automatizzati (per esempio, gli archivi bancari) Informatica gestione automatica dei dati basi di dati Informazione memorizzata in modo rigoroso

5 27 January, slide 5 Corso Di Basi di Dati 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 27 January, slide 6 Corso Di Basi di Dati 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-VenSabatoFestivo

7 27 January, slide 7 Corso Di Basi di Dati Dati e informazioni 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 27 January, slide 8 Corso Di Basi di Dati 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 27 January, slide 9 Corso Di Basi di Dati 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 27 January, slide 10 Corso Di Basi di Dati 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 27 January, slide 11 Corso Di Basi di Dati 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 27 January, slide 12 Corso Di Basi di Dati Condivisione (segue) Lintegrazione 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 allaccesso (autorizzazioni). La condivisione richiede un opportuno coordinamento degli accessi: controllo della concorrenza.

13 27 January, slide 13 Corso Di Basi di Dati 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. Lefficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano.

14 27 January, slide 14 Corso Di Basi di Dati 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 unoperazione 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 27 January, slide 15 Corso Di Basi di Dati 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 27 January, slide 16 Corso Di Basi di Dati GESTIONE DI FILES Basati su File systems Logica di accesso ai dati contenuta nel codice (COBOL) Problemi di manutenzione Programma di Update Programma di Report Programma di Controllo File DatiStorico

17 27 January, slide 17 Corso Di Basi di Dati Descrizioni dei dati nei DBMS Esistono descrizioni e rappresentazioni dei dati a livelli diversi, che permettono lindipendenza 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 27 January, slide 18 Corso Di Basi di Dati 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 lutente e il livello dellimplementazione Molte proposte in DBMS commerciali Implemen- tazione Modello logico Utente

19 27 January, slide 19 Corso Di Basi di Dati 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 27 January, slide 20 Corso Di Basi di Dati 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 27 January, slide 21 Corso Di Basi di Dati 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 27 January, slide 22 Corso Di Basi di Dati Componenti Data Base System (DBS) Software Data Base Management System (DBMS) si interpone tra lhw +dati e lutente 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 27 January, slide 23 Corso Di Basi di Dati Personaggi e interpreti progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati (DBA)DBA progettisti e programmatori di applicazioni utenti utenti finali (terminalisti): eseguono applicazioni predefinite (transazioni)transazioni utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi

24 27 January, slide 24 Corso Di Basi di Dati Database administrator (DBA) Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dellaffidabilità, delle autorizzazioni Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni

25 27 January, slide 25 Corso Di Basi di Dati 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 27 January, slide 26 Corso Di Basi di Dati Quindi … Data base I dati solo i dati e nullaltro che i dati Valore per lazienda 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 27 January, slide 27 Corso Di Basi di Dati Alcune definizioni DATA BASE SYSTEM 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 27 January, slide 28 Corso Di Basi di Dati 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 27 January, slide 29 Corso Di Basi di Dati VANTAGGI DELLUSO DI UN DATA BASE Caso dellutente 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 27 January, slide 30 Corso Di Basi di Dati Vantaggi e svantaggi di un DBMS Vantaggi 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 27 January, slide 32 Corso Di Basi di Dati 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 listanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) es.: il corpo di ciascuna tabella

33 27 January, slide 33 Corso Di Basi di Dati Due tipi (principali) di modelli modelli logicilogici modelli concettualiconcettuali

34 27 January, slide 34 Corso Di Basi di Dati Modelli logici Adottati nei DBMS esistenti per lorganizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti, basato su XML

35 27 January, slide 35 Corso Di Basi di Dati 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 27 January, slide 36 Corso Di Basi di Dati Architettura (semplificata) di un DBMS BD Schema logico Schema interno utente

37 27 January, slide 37 Corso Di Basi di Dati 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 27 January, slide 38 Corso Di Basi di Dati 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 27 January, slide 39 Corso Di Basi di Dati INDIPENDENZA DEI DATI Esiste il concetto di VISTA del Data Base Lamministratore del DB può modificare la struttura interna dei dati senza toccare la visibilità esterna allo stesso IMMUNITA DELLE APPLICAZIONI A MODIFICHE DI STRUTTURA

40 27 January, slide 40 Corso Di Basi di Dati Una vista

41 27 January, slide 41 Corso Di Basi di Dati Architettura standard (ANSI/SPARC) tre livelli per DBMS BD Schema logico Schema esterno Schema interno Schema esterno Schema esterno utente

42 27 January, slide 42 Corso Di Basi di Dati Architettura ANSI/SPARC: schemi schema logico : descrizione dellintera 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 27 January, slide 43 Corso Di Basi di Dati Indipendenza dei dati conseguenza della articolazione in livelli: laccesso 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 27 January, slide 44 Corso Di Basi di Dati TIPI DI SISTEMI DI BASI DI DATI Sistemi basati sulla gestione di Files (FMS) Modelli Gerarchici Modelli Reticolari (Network) Modelli Relazionali

45 27 January, slide 45 Corso Di Basi di Dati 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 Modelli a Oggetti >> Un po di storia

46 27 January, slide 46 Corso Di Basi di Dati 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 Modelli a Oggetti >> Un po di storia

47 27 January, slide 47 Corso Di Basi di Dati 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 Modelli a Oggetti >> Un po di storia

48 27 January, slide 48 Corso Di Basi di Dati 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 Modelli a Oggetti >> Un po di storia

49 27 January, slide 49 Corso Di Basi di Dati 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 Modelli a Oggetti >> Un po di storia

50 27 January, slide 50 Corso Di Basi di Dati 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 Modelli a Oggetti >> Un po di storia

51 27 January, slide 51 Corso Di Basi di Dati I Quadranti di Stonebraker Modelli a Oggetti >> Un po di storia Complessità delle interrogazioni Complessità dei tipi di dato DBMS Relazionale a Oggetti Linguaggio di prog. + File System DBMS Relazionale DBMS Orientato agli Oggetti

52 27 January, slide 52 Corso Di Basi di Dati GESTIONE DI FILES Basati su File systems Logica di accesso ai dati contenuta nel codice (COBOL) Problemi di manutenzione Programma di Update Programma di Report Programma di Controllo File DatiStorico

53 27 January, slide 53 Corso Di Basi di Dati 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 MotoreCarrozzeriaChassis Porta sinistraPorta destraTettoCofano Finestrino Motore elettrico Maniglia

54 27 January, slide 54 Corso Di Basi di Dati 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 DATA BASE RELAZIONALI Liberarsi dei puntatori fisici


Scaricare ppt "BASI di Dati: Fondamenti e modelli Maurizio Fermeglia"

Presentazioni simili


Annunci Google