Istituto Tecnico Commerciale Statale “G. Dell’Olio Bisceglie Basi di dati Informatica gestionale – Indirizzo Mercurio
LIMITI DEGLI ARCHIVI TRADIZIONALI Merceria: INTIMO e più CLIENTI 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 marca quantità 010 10-mag-05 P01 Calze Sissi 2 11-giu-05 P02 Top Pompea 1 15-lug-05 P05 Pigiama Alpina 011 7-mag-05 5 20-giu-05 012 3-sett-05
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 SISTEMA DI GESTIONE DI UNA BASE DI DATI o DBMS 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 Superare i limiti descritti nelle pagine precedenti: DDL Data Definition Language DML Data Manipulation Language QL Query Language 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 Più file separati LIVELLO FISICO 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 >>Ridondanza<< scuola docente Tanti alberi quante sono le scuole S01 ITCS Giordano D01 De Nicolo Anita D02 Mitolo Nicola D05 Marini Carlo >>Ridondanza<< S02 ITCS Dell’Olio D07 Sicolo Lucia D06 Nimeo 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 docente S01 ITCS Giordano S02 ITCS Dell’Olio D02 Mitolo Nicola D01 De Nicolo Anita D05 Marini Carlo D07 Sicolo Lucia
OPERAZIONI RELAZIONALI 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