Basi di Dati

Click here to load reader

  • date post

    04-Jan-2016
  • Category

    Documents

  • view

    27
  • download

    0

Embed Size (px)

description

Basi di Dati. DBMS Relazionali a Oggetti: Introduzione. versione 2.0. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina). Modelli a Oggetti >> Sommario. Sommario. Un po’ di Storia Successo del modello relazionale - PowerPoint PPT Presentation

Transcript of Basi di Dati

  • Basi di DatiDBMS Relazionali a Oggetti: Introduzioneversione 2.0Questo lavoro concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

    G. Mecca - [email protected] - Basi di Dati

  • SommarioUn po di StoriaSuccesso del modello relazionaleDBMS Orientati agli oggettiAlcuni Limiti del Modello RelazionaleDBMS Relazionali a Oggettirow type, oid, ereditarietcollezionitipi di dato astrattoModelli a Oggetti >> Sommario

    G. Mecca - [email protected] - Basi di Dati

  • Un po di Storia: Anni 70Anni 70DBMS gerarchiciDBMS reticolariModello di dati basato su alberi o grafiDipendenza dal modello fisicoInterrogazioninavigazioni del grafoModelli a Oggetti >> Un po di storia

    G. Mecca - [email protected] - Basi di Dati

  • Un po di Storia: Anni 80Anni 80Codd A Relational Model for Large Shared Data Banks, CACM, giugno 1970DBMS relazionaliModello semplice ed eleganteCaratteristiche del modellolegami tra i dati basati sui valoriI forma normale (domini elementari)indipendenza rispetto al modello fisicoModelli a Oggetti >> Un po di storia

    G. Mecca - [email protected] - Basi di Dati

  • Un po di Storia: Anni 80Ottime prestazioniServizi avanzaticoncorrenza, affidabilit, sicurezzaStandard SQL-89, SQL-92intergalactic dataspeakArchitettura a tre livellischemi esterni, schema logico, schema fisicoGrande successo nei sistemi informatividati gestionaliModelli a Oggetti >> Un po di storia

    G. Mecca - [email protected] - Basi di Dati

  • Un po di StoriaAnni 90nuove applicazioniGIS, CAD, dati multimediali, documentioggetti con struttura complessaIl mondo fatto di oggetti, non di tabelleIl garage relazionaleper conservare la tua auto ti costringe a farla a pezzi e conservare ciascun pezzo in un cassettinoModelli a Oggetti >> Un po di storia

    G. Mecca - [email protected] - Basi di Dati

  • Un po di StoriaTecnologia a oggettisistema di tipi riccoclassi di oggetti basati sui tipiereditariet e polimorfismoTecnologia di successo nei linguaggi di programmazione (C++, Java)Sistemi per Basi di Dati Orientati agli Ogg.la soluzione finale ?Modelli a Oggetti >> Un po di storia

    G. Mecca - [email protected] - Basi di Dati

  • Un po di StoriaMoltissima ricerca (e risultati interessanti)DBMS a Oggetti CommercialiO2, Objectstore, GemStoneStandard ODMG-93linguaggio OQLScarso successo commerciale (nicchia)differenze notevoli tra i prodottidipendenza dal linguaggio (Java ?)prestazioni inferioriModelli a Oggetti >> Un po di storia

    G. Mecca - [email protected] - Basi di Dati

  • I Quadranti di StonebrakerModelli a Oggetti >> Un po di storiaComplessit delle interrogazioniComplessit dei tipi di datoDBMS Relazionale a OggettiLinguaggio di prog.+File System DBMS RelazionaleDBMS Orientato agli Oggetti

    G. Mecca - [email protected] - Basi di Dati

  • DBMS Relazionali a OggettiIdea di baseconservare lorganizzazione di fondoestendere il sistema di tipi identit di oggetto ed ereditarietcollezioni (array)tipi definiti dallutenteVantaggiricchezza di rappresentazionesemplicit di programmazione OOModelli a Oggetti >> Un po di Storia

    G. Mecca - [email protected] - Basi di Dati

  • Un EsempioLa base di dati universitariaprofessori: nome, cognome, data e luogo di nascita, qualifica, facolt, studenti: nome, cognome, data e luogo di nascita, matricola, numeri di telefono dei professorimateriale didattico messo in linea dai professori: professore, corso, descrizione, file Modelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • Professori e StudentiTABLE Studenti(matricola integer PRIMARY KEY, cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, dataN date, luogoN varchar(30), UNIQUE (cognome, nome, dataN, luogoN));

    TABLE Professori(cognome varchar(20), nome varchar(20), qualifica char(15), dataN date, luogoN varchar(30), facolta char(10), UNIQUE (cognome, nome, dataN, luogoN), PRIMARY KEY (cognome, nome, qualifica));Modelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • Professori e StudentiModelli a Oggetti >> Alcuni Limiti del Modello RelazionaleAlternativa: introdurre un identificatore compatto per i professori (in questi esempi utilizzeremo lidentificatore esteso)

    G. Mecca - [email protected] - Basi di Dati

  • Professori e StudentiOgni volta che necessario:lelenco di tutte le persone ammesse alla bibliotecaelenco dei libri in prestitoDue opzioniopzione 1: unire i dati delle due tabelle ogni volta che necessarioopzione 2: mantenere una tabella personeModelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • Professori e Studenti: Opzione 1

    Prestiti in bibliotecacodiceLibro, riferimento alla personaquale riferimento ?quale vincolo di integrit ?Modelli a Oggetti >> Alcuni Limiti del Modello RelazionaleProfessoriStudenti

    cognomenomequalificadataNfacluogoNGiacomoLeopardiordinario10-10-1957IngRecanatiAlessandroManzoniassociato01-02-1940SciMilano

    matricolacognomenomedataNluogoN1234PieroPierino10-11-1987Potenza 3456GianBurrasca02-12-1990Potenza

    G. Mecca - [email protected] - Basi di Dati

  • Professori e Studenti: Opzione 2Modelli a Oggetti >> DBMS Relazionali a OggettiProfessoriStudenti

    matricolacognomenomedataNluogoN1234PieroPierino10-11-1987Potenza 3456GianBurrasca02-12-1990Potenza

    cognomenomequalificadataNfacluogoNGiacomoLeopardiordinario10-10-1957IngRecanatiAlessandroManzoniassociato01-02-1940SciMilano

    G. Mecca - [email protected] - Basi di Dati

  • Numeri di TelefonoTABLE Professori(cognome varchar(20) NOT NULL, nome varchar(20) NOT NULL, dataN date, luogoN varchar(30), qualifica char(15), facolta char(10), UNIQUE (cognome, nome, dataN, luogoN), PRIMARY KEY (cognome, nome, qualifica));

    TABLE NumeriTel(cognome varchar(20), nome varchar(20), qualifica char(15), numero char(9), PRIMARY KEY (cognome, nome, qualifica, numero), FOREIGN KEY (cognome, nome, qualifica) REFERENCES Professori(cognome,nome,qualifica));Modelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • Numeri di TelefonoModelli a Oggetti >> Alcuni Limiti del Modello RelazionaleProfessori

    cognomenomequalificadataNfacluogoNGiacomoLeopardiordinario10-10-1957IngRecanatiAlessandroManzoniassociato01-02-1940SciMilano

    G. Mecca - [email protected] - Basi di Dati

  • Numeri di TelefonoOgni volta che necessario:elenco dei professori della facolt di Ingegneria con i loro numeri di telefono Due opzioniopzione 1: tenere le tabelle separate e correlare tutte le volte i dati delle due tabelle (pu essere costoso)opzione 2: mettere tutto in una tabella (de-normalizzare la tabella Professori)Modelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • Numeri di Telefono: Opzione 2 TABLE ProfessoriENumeri(cognome varchar(20), nome varchar(20), qualifica char(15), dataN date, luogoN varchar(30), facolta char(10), numero char(9), PRIMARY KEY (cognome, nome, qualifica, numero));Modelli a Oggetti >> Alcuni Limiti del Modello RelazionaleRappresentazione di qualit molto scadente (denormalizzata)

    G. Mecca - [email protected] - Basi di Dati

  • Numeri di Telefono: Opzione 2ProfessoriENumeri, Ridondanzaes: la facolt di LeopardiAnomalie di aggiornamentoes: cambi di facoltAnomalie di inserimentoprofessori senza numeroAnomalie di cancellazionecancellazione di numeri di telefonoModelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • Materiale DidatticoTABLE Materiale(cod char(3) PRIMARY KEY, cognome varchar(20), nome varchar(20), qualifica char(15), descrizione TEXT, formato char(5), file VARBINARY, FOREIGN KEY (cognome, nome, qualifica) REFERENCES Professori(cognome,nome,qualifica));Modelli a Oggetti >> Alcuni Limiti del Modello RelazionaleMateriale

    codcognomenomequalificadescrizioneformfilel01GiacomoLeopardiordinarioQuesta disp...ppt01001100l02GiacomoLeopardiordinarioDate deglippt10111000m01AlessandroManzoniassociatoMat. per la lezjpg11011011

    G. Mecca - [email protected] - Basi di Dati

  • Materiale DidatticoOgni volta che necessario:pubblicare sul sito Web di facolt le dispense in formato ppt compresseridurre la risoluzione delle immagini jpg Devoprelevare i dati (di grandi dimensioni) dal DBMSeffettuare le operazioni con un linguaggio di programmazione allesterno del DBMStipicamente questo tipo di dati viene tenuto fuori dal DBMS (file system)Modelli a Oggetti >> Alcuni Limiti del Modello Relazionale

    G. Mecca - [email protected] - Basi di Dati

  • DBMS Relazionale a OggettiSistema di tipi arricchitoTipi ennupla (row type)ereditariet (singola)oid e riferimentiCollezioni (array)Tipi di dato astrattodati complessiFunzioni sui tipiModelli a Oggetti >> DBMS Relazionali a Oggetti

    G. Mecca - [email protected] - Basi di Dati

  • DBMS Relazionale a OggettiEstensioni offerte dalla maggior parte dei prodotti commercialies: O