Istituto Tecnico Commerciale Statale “G. Dell’Olio Bisceglie Basi di dati Informatica gestionale – Indirizzo Mercurio LIMITI DEGLI ARCHIVI TRADIZIONALI CLIENTI Merceria: INTIMO e più codcliente cognome nome indirizzo città 010 Bianchi Lucia Via roma Bari 011 Giglio Maria Via nuova Foggia 012 Marini Claudia Piazza vecchia Lecce VENDITE codcliente Data codart descrizione 010 10-mag-05 P01 Calze 010 11-giu-05 P02 Top 010 15-lug-05 P05 Pigiama 011 7-mag-05 P01 Calze 011 20-giu-05 P02 Top 012 3-sett-05 P01 Calze marca quantità Sissi 2 Pompea 1 Alpina 1 Sissi 5 Pompea 1 Sissi 1 LIMITI Ridondanza: info ripetute per stessi articoli Incongruenza: le modifiche vengono apportate a tutti gli articoli con ugual codice? Inconsistenza: se uno stesso articolo si ritrova con marche diverse quale sarà quella giusta? Dipendenza dei programmi dai dati: se cambia il tracciato record o la cartella di un archivio devo cambiare l’applicativo Difficoltà nel gestire l’integrità dei dati: va scritto codice ad hoc nell’applicativo Difficoltà nel gestire la concorrenza: in un file condiviso due utenti tentano la modifica, quale l’esito? Limitata sicurezza: non tutti gli utenti hanno stessi permessi sui dati Scarsa protezione dei dati da guasti accidentali BASE DI DATI E’ una raccolta di dati progettati per essere fruiti in maniera ottimizzata da differenti applicazioni e utenti diversi Semplice: facilmente ritrovabili Efficiente: rispetto al tempo CPU e spazio RAM Efficace: informazioni rappresentative della realtà in esame Sicuro: operazioni consentite a soggetti identificabili e sicuri SISTEMA DI GESTIONE DI UNA BASE DI DATI o DBMS Prodotti software che permettono di creare e di interagire con una base di dati, consentendo opportune operazioni agli utenti autorizzati, nel rispetto delle regole prestabilite. Le richieste degli utenti non devono violare alcun vincolo sui dati. FUNZIONI DI UN DBMS Permettere la creazione di una nuova base di dati Facilitare gli utenti nell’inserimento, cancellazione, modifica Rendere possibile l’estrazione di informazioni interrogando la base di dati DDL Data Definition Language DML Data Manipulation Language QL Query Language Superare i limiti descritti nelle pagine precedenti: ridondanza integrità indipendenza concorrenza sicurezza MODELLI PER IL DATABASE LIVELLO CONCETTUALE Entità MODELLO E/R GERARCHICO 1970 LIVELLO LOGICO Attributi e vincoli RETICOLARE fine anni 70 MODELLO RELAZIONALE LIVELLO FISICO Più file separati File unico, FLAT FILE Differenze fra i modelli il modello relazionale e’ basato su valori, nel senso che le corrispondenze fra dati in relazioni diverse sono rappresentate per mezzo della presenza di valori comuni il modello reticolare e quello gerarchico sono basati su puntatori, utilizzati come riferimenti espliciti fra record di tipi diversi MODELLO GERARCHICO Il primo modello gerarchico si affermò nel 1968 si chiamava IMS (Information Management System) e fu sviluppato da IBM. Oggi resistono sui mainframe. I dati sono organizzati in record connessi tra loro secondo strutture ad albero. L’albero è formato da 2 tipi di record: il record OWNER (proprietario) e il record MEMBER (componente). Ogni record del database, che non sia la radice dell' albero, deve avere uno e un solo padre Es. il file system del sistema operativo: ogni cartella è contenuta in una cartella padre tranne che la root Limiti: non si presta a rappresentare in modo efficiente le associazioni N:M Esempio db gerarchico scuola docente Tanti alberi quante sono le scuole S01 D01 De Nicolo S02 D07 Sicolo ITCS Giordano Anita D02 Mitolo Nicola D06 Nimeo Marini Carlo >>Ridondanza<< ITCS Dell’Olio Lucia D05 Rosa D01 De Nicolo Anita MODELLO RETICOLARE Si affermò CODASYL (fine anni 70) sviluppato dal gruppo di standardizzazione del linguaggio COBOL Un record puo’ avere uno o piu’ record padre e cio’ permette di evitare i problemi di ridondanza Il modello reticolare e’ così chiamato poiche’ ogni suo schema puo essere rappresentato per mezzo di un grafo (o una rete), con nodi e archi. Limiti: Complessa la gestione difficile il progetto Esempio db reticolare scuola S01 D02 Mitolo docente ITCS Giordano Nicola D05 D01 De Nicolo Marini Carlo S02 ITCS Dell’Olio Anita D07 Sicolo Lucia MODELLO RELAZIONALE Lo progettò nel 1970 Edgar Codd(IBM) Insieme di tabelle messe in relazione tra loro tramite i campi Campi comuni tra tabelle stabiliscono le relazioni della base di dati OPERAZIONI RELAZIONALI La Proiezione e’ una visualizzazione "verticale" della tabella (solo alcune colonne). La Selezione e’ una visualizzazione "orizzontale" della tabella (solo alcune righe che soddisfano una condizione). Il Join e’ l' unione di record che sono memorizzati su tabelle diverse. Esempio db relazionale studente esame corso docente Database orientati agli oggetti L’OODB (Object Oriented DataBase è un modello più recente di database che nasce dall’esigenza di gestire informazioni multimediali: immagini, audio, video, documenti e risorse Internet. Insieme ai dati nel database sono specificate le modalità di accesso più adatte al formato che si sta trattando: i metodi e i dati sono inglobati nelle classi proprio come prescrive il paradigma della programmazione Object Oriented. Esempi di DBMS orientati agli oggetti sono Versant, Objectstore e Poet