1 / 121

Le basi di dati

Le basi di dati. La storia Cos’è una base di dati? In altre parole … A cosa serve una base di dati ? Quali problemi provocano gli archivi tradizionali? Cosa deve garantire un database? Il DBMS Database o DBMS? Come può il DBMS superare i limiti della gestione tradizionale?

gavan
Download Presentation

Le basi di dati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Le basi di dati

  2. La storia Cos’è una base di dati? In altre parole … A cosa serve una base di dati ? Quali problemi provocano gli archivi tradizionali? Cosa deve garantire un database? Il DBMS Database o DBMS? Come può il DBMS superare i limiti della gestione tradizionale? Come si realizza l’integrazione degli archivi? Parleremo di ….. • Dov’è collocato un database? • I modelli per il database • Il modello gerarchico • Il modello reticolare • Il modello relazionale • I database orientati agli oggetti • Il modello relazionale: • concetti fondamentali • requisiti fondamentali • la chiave primaria • le regole di derivazione • gli operatori relazionali

  3. Il modello relazionale: la selezione la proiezione congiunzione operazioni sugli insiemi Normalizzazione 1FN 2FN 3FN L’integrità referenziale Osservazioni sul modello relazionale La gestione del database La gestione del database: funzioni del DBMS Parleremo di ….. • La gestione del database: il dizionario • I linguaggi per le basi di dati: • DDL (Data Definition Language) • DMCL (Device Media Control Language) • DML (Data Manipulation Language) • DCL (Data Control Language) • Query Languages • Relational DBMS (RDBMS) • Gli utenti

  4. La storia • La storia dei database inizia, parallelamente a quella dell'elaborazione elettronica, negli anni '50. • A partire dagli anni '60, grazie all'introduzione della distinzione tra il valore fisico dei dati ed il loro significato logico, si è lentamente passati da una modellizzazione focalizzata sui processi aziendali ad una modellizzazione basata sui dati aziendali, che sono entità meno soggette a variazioni rispetto ai processi.

  5. La storia Negli anni ’70: • il modello reticolare ha una discreta diffusione soprattutto nei sistemi di elaborazione di grandi dimensioni; • nel1970 nasce il modello relazionale, proposto da Edward E.Codd, ricercatore IBM, come idea di un modello logico molto semplice e nello stesso tempo in grado di superare i limiti degli altri modelli utilizzati.

  6. La storia Negli anni '80: • viene introdotto nell’uso corrente il modello relazionale. • Si inizia a parlare di un nuovo software il database management systems (DBMS). Un DBMS controlla tutte le funzioni di input, immagazzinamento, elaborazione e recupero dei dati da un database e genera, basandosi sulle relazioni, vari tipi di informazione.

  7. La storia Lo sviluppo dei prodotti DBMS è stato possibile grazie all'introduzione di supporti di memorie di massa, magnetici e soprattutto ma recentemente anche ottici, che consentono grandi capacità oltre che tempi di accesso e di trasferimento in memoria centrale molto bassi.

  8. Cos’è una base di dati (database)? E’ un insieme di archivi di dati: • organizzati in modo integrato attraverso tecniche di modellazione dei dati • gestiti sulle memorie di massa dei computer attraverso appositisoftware

  9. In altre parole … Undatabaseè unacollezione di archivi di datiben organizzatie benstrutturati, in modo che possano costituire una base di lavoro perutenti diversiconprogrammi diversi. Stampa fatture Stampa listini Magazzino

  10. A cosa serve una base di dati ? Obiettivo ? • Raggiungere una grande efficienza nel trattamento e nel ritrovamento dei dati, • Superare i limiti presenti nelle organizzazioni tradizionali degli archivi quali: • mancanza di integrazione fra gli archivi; • legamefral'accesso ai dati ed il tipo di organizzazione assegnata agli archivi. • legamefra gli archivi ed i programmi,

  11. Quali problemi provocano gli archivi tradizionali? I dati sono ridondanti se compaiono in maniera duplicata (questo è un aspetto di inefficienza nella gestione). Ridondanza Produce Un dato è incongruente se può essere aggiornato in un archivio e non in un altro, oppure possono essere presenti valori diversi per lo stesso dato. Incongruenza Produce I dati sono inconsistenti se non sono più affidabili, perché non si sa in modo certo quale dei diversi valori sia quello corretto. Inconsistenza

  12. Quali problemi provocano gli archivi tradizionali? L'accesso ai dati è determinato dall’organizzazione assegnata agli archivi L’organizzazione assegnata agli archivi, le chiavi stabilite per i record e l'ordine con cui i campi compaiono nella struttura del record. Influisce su • Operazioni che si possono effettuare sugli archivi • Accesso ai dati I dati contenuti negli archivi possono inoltre essere trattati solo elaborando i file record per record.

  13. Quali problemi provocano gli archivi tradizionali? I programmi sono legati agli archivi che gestiscono Tutti i linguaggi di programmazione tradizionali (per esempio il Pascal o il Cobol) richiedono la specificazione, all'interno del programma, degli archivi utilizzati e della struttura dei loro record. Implica che Qualsiasi modifica alla struttura del record, richiede la modifica di tutti i programmi che utilizzano quel tipo di record.

  14. Cosa deve garantire un database? Efficienza Produttività Un databasedeve consentire diritrovare facilmente le informazioni desiderate anche a fronte di una mole di dati rilevante. si parla di in termini di • velocità nell'elaborazione, • sicurezzadei dati, • integrità delle registrazioni.

  15. Cosa deve garantire un database? Deve essere garantita la consistenza degli archivi. Idati in essi contenuti devono essere: • significativi, • effettivamente utilizzabili nelle applicazioni dell'azienda.

  16. Cosa deve garantire un database? I dati devono quindi essere protetti per impedire perdite accidentali dovute a: • cadute del sistema, • guasti hardware, • interventi dannosi da parte di: • utenti, ad esempio interventi dolosi sui dati dovuti ad accessi non autorizzati, • programmi. Impedire la perdita di integrità

  17. Il DBMS (Data Base Management System) Il superamento dell’uso tradizionale degli archivi basato su accessi esplicitati nel percorso da parte del programmatore con comandi di apertura, chiusura, lettura, scrittura e posizionamento. È garantito dal Software per la gestione di database denominato DBMS(Database Management System).

  18. Il DBMS (Data Base Management System) Il DBMS consente all'utente di collocarsi in una posizione: • più lontana dall'hardware, dalle memorie di massa e dal Sistema Operativo • più vicina all'applicazione che utilizza i dati contenuti negli archivi.

  19. Il DBMS (Data Base Management System) Accresce la differenza tra: • struttura concettuale: modo attraverso il quale l'utente pensa all'organizzazione e al ritrovamento dei dati, • struttura fisica dei dati: tecniche utilizzate dal Sistema Operativo per registrare e leggere negli archivi.

  20. Database o DBMS ? … come nell'uso degli archivi tradizionali Nell’uso dei database … Database Insieme di dati Archivi di dati DBMS Sistema per la gestione del database File System

  21. Come può il DBMS superare i limiti della gestione tradizionale? Indipendenza dalla struttura fisica dei dati I programmi applicativi sono indipendenti dai dati fisici. Possibile modificare i supporti con cui i dati sono registrati e le modalità di accesso alle memoria di massa senza modifiche alle applicazioni.

  22. Come può il DBMS superare i limiti della gestione tradizionale? Indipendenza dalla struttura logica dei dati I programmi applicativi sono indipendenti dalla struttura logica con cui i dati sono organizzati negli archivi Possibile modificare la definizione delle strutture della base di dati senza modificare il software applicativo.

  23. Come può il DBMS superare i limiti della gestione tradizionale? Utilizzo da parte di più utenti • I diversi utenti del database possono avere anche una visione parziale del database. • Le operazioni svolte da utenti diversi in modo concorrente non interferiscano una con l'altra.

  24. Come può il DBMS superare i limiti della gestione tradizionale? Eliminazione di: Gli stessi dati non compaiono più volte in archivi diversi, cioè il database è costituito da archivi integrati di dati. Ridondanza Il database non può presentare campi uguali con valori diversi in archivi diversi. Inconsistenza

  25. Come può il DBMS superare i limiti della gestione tradizionale? Facilità d’uso Il ritrovamento dei dati è facilitato e svolto con grandi velocità, anche nel caso di richieste provenienti contemporaneamente da più utenti.

  26. Come può il DBMS superare i limiti della gestione tradizionale? Sono previste procedure di controllo per: Consentire che le operazioni sui dati richieste dagli utenti vengono eseguite fino al loro completamento in modo da assicurare la consistenza dei dati. Integrità dei dati Sicurezza dei dati Impedire accessi non autorizzati ai dati contenuti nel database e di protezione da guasti accidentali.

  27. Come può il DBMS superare i limiti della gestione tradizionale? Uso di linguaggi per la gestione del database Il database viene gestito attraverso • comandi per la manipolazione • comandi per l’interrogazioni I comandi non agiscono su un singolo record per volta, ma su gruppi di record per volta.

  28. Come operano gli utenti del database ? Gli utenti della base di dati: • elaborano in modo locale gli archivi che hanno a disposizione nel proprio sistema • accedono inmodo remoto a sistemi centrali attraverso le linee di comunicazione database locali database remoti

  29. Come si realizza l’integrazione degli archivi ? L'integrazione degli archivi è realizzata quindi a livello logico, nella visione che di essi hanno gli utenti finali, anche se i dati fisicamente possono risiedere su sistemi distanti.

  30. Dov’è collocato un database ? Gli archivi integrati che costituiscono la base di dati aziendale possono: dati accentrati • risiedere su un unico computer; • essere distribuiti sulle memorie di massa di computer diversi facenti parte di una rete aziendale. database distribuiti

  31. I modelli per il database Il database è un modello della realtà considerata: • i contenuti della base di dati rappresentano gli stati in cui si trova la realtà da modellare. • gli eventi che avvengono nell'ambiente in cui opera l'azienda rappresentano i cambiamenti che vengono apportati alla base di dati

  32. I modelli per il database Il progetto è indipendente: • dal computer, • dai supporti fisici destinati a contenere le informazioni, • dalle caratteristiche del DBMS. Contrariamente quanto accadeva nell’organizzazione convenzionale degli archivi.

  33. I modelli per il database Dallo schema concettuale entità/associazioni Progetto e realizzazione del database passando al modello logico cioè alle strutture di dati che consentono di organizzare i dati per consentire le operazioni di manipolazione e di interrogazione.

  34. possiede N 1 Clienti Conto 1 variare N Movimento I modelli per il database • ogni contodeve essere posseduto da uno o più clienti • ogni clientedeve possedere uno ed un solo conto • ogni contopuò essere variato da uno o più movimenti e ci possono essere conti non movimentati • ogni movimentodeve variare uno ed un solo conto

  35. I modelli per il database Nello sviluppo della teoria dei database, dal 1960in poi, sono emersi tipi diversi di modelli per le basi di dati: • gerarchico, • reticolare, • relazionale, • database orientati agli oggetti.

  36. Il modello gerarchico Il modello gerarchico è particolarmente adatto per rappresentare situazioni nelle quali è possibile fornire all'insieme dei dati una struttura nella quale ci sono entità che stanno in alto ed entità che stanno in basso.

  37. Il modello gerarchico Il modello gerarchico rappresenta le entità secondo uno schema ad albero, nel quale: • i nodi rappresentano le entità • gli archi rappresentano le associazioni. Il modello gerarchico è particolarmente adatto a rappresentare le associazioni1:N(uno a molti) ed ha avuto in passato una larga diffusione.

  38. Il modello gerarchico • Nella pratica: • l'entità è un file, • l'istanza è un record, • gli attributi sono i campi del record.

  39. Il modello gerarchico: esempio La caratteristica del modello gerarchico di ammettere un solo genitore per ogni nodo, crea un problema nel descrivere l'associazione tra i record di Clienti e i record di Conti a causa del record relativo al numero di conto 5100. Questo record ha due genitori: il record dei clienti di nome Gialli e quello di nome Verdi.

  40. Il modello gerarchico: esempio Per rispettare l'unicità del genitore del record di Conti si deve costruire l' albero:

  41. Il modello gerarchico: esempio La rigidità del modello gerarchico della struttura di dati creata non riesce ad evitare la ridondanza dei dati. Ridondanza provoca solo l'aumento dello spazio occupato dal database ed è una possibile causa di incongruenza dei dati Nonostante questi limiti, il modello gerarchico ha avuto in passato una larga diffusione, per il grande numero di implementazioni su modelli diversi di computer, e anche perché molte situazioni presentano in modo naturale una struttura di dati di tipo gerarchico.

  42. Il modello reticolare Questo modello è un’estensione del modello di albero gerarchico, essendo consentite anche associazioni tra entità che stanno in basso, e non solo dall'alto verso il basso come avviene nel modello gerarchico.

  43. Il modello reticolare • Nel modello reticolare: • Le entità rappresentano i nodi, • Le associazioni rappresentano gli archi di uno schema a grafo orientato. Esempio di grafo orientato Avere simpatia per…

  44. Il modello reticolare Un database reticolare consiste di due insiemi di dati: I tipi record sono fatti di campi tra i quali ci deve essere anche un campo chiave. • un insieme di record, • un insieme di legami. I legami sono realizzati memorizzando le coppie di chiavi delle entità associate.

  45. Il modello reticolare: esempio Non esiste una gerarchia predefinita tra le entità quindi si evita la ridondanza dei dati perché un record figlio può avere un numero qualsiasi di padri.

  46. Il modello reticolare Nel database costruiti secondo il modello reticolare: • risulta più complessa: • la gestione delle informazioni in quanto deve essere utilizzata una struttura a grafo; • l'implementazione; • la costruzione del software applicativo. • risultano più elevate: • prestazioni perché è più vicino alla struttura fisica delle memorie di massa.

  47. Il modello relazionale • Rappresenta il database come un insieme di tabelle. • Viene considerato attualmente il modello più semplice ed efficace, perché è più vicino al modo consueto di pensare i dati, e si adatta in modo naturale alla classificazione e alla strutturazione dei dati.

  48. possiede N 1 Clienti Conto 1 variare N Movimento Il modello relazionale: esempio

  49. Confronto….. Le operazioni sui database gerarchici e reticolari sono complesse, agiscono su singoli record e non su gruppi di record. • I modelli non relazionali sono fondamentalmente basati sulla programmazione di applicazioni, l'utente deve specificare i percorsi per ritrovare i dati e la velocità nel ritrovare le informazioni dipende dal software di gestione; • nel modello relazionale invece i percorsi per le interrogazioni sono a carico del sistema.

  50. Il modello OODB (Object Oriented DataBase) I database orientati agli oggetti sono stati introdotti nel tentativo di superare alcune caratteristiche dei database relazionali che apparivano inadeguate per la gestione di dati complessi in modo vicino alla realtà (testi, grafici, audio, video, documenti e risorse Internet).

More Related