Basi di Dati - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Basi di Dati

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 – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 38
Provided by: GMec
Category:
Tags: basi | dati

less

Transcript and Presenter's Notes

Title: Basi di Dati


1
Basi di Dati
  • DBMS Relazionali a OggettiIntroduzione

versione 2.0
Questo lavoro è concesso in uso secondo i termini
di una licenza Creative Commons (vedi ultima
pagina)
2
Sommario
Modelli a Oggetti gtgt Sommario
  • Un po di Storia
  • Successo del modello relazionale
  • DBMS Orientati agli oggetti
  • Alcuni Limiti del Modello Relazionale
  • DBMS Relazionali a Oggetti
  • row type, oid, ereditarietà
  • collezioni
  • tipi di dato astratto

3
Un po di Storia Anni 70
Modelli a Oggetti gtgt Un po di storia
  • Anni 70
  • DBMS gerarchici
  • DBMS reticolari
  • Modello di dati basato su alberi o grafi
  • Dipendenza dal modello fisico
  • Interrogazioni
  • navigazioni del grafo

4
Un po di Storia Anni 80
Modelli a Oggetti gtgt Un po di storia
  • 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

5
Un po di Storia Anni 80
Modelli a Oggetti gtgt Un po di storia
  • 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

6
Un po di Storia
Modelli a Oggetti gtgt 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

7
Un po di Storia
Modelli a Oggetti gtgt 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 ?

8
Un po di Storia
Modelli a Oggetti gtgt 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

9
I Quadranti di Stonebraker
Modelli a Oggetti gtgt Un po di storia
DBMSRelazionalea Oggetti
DBMSOrientatoagli Oggetti
Complessità dei tipi di dato
Linguaggio di prog. File System
DBMSRelazionale
Complessità delle interrogazioni
10
DBMS Relazionali a Oggetti
Modelli a Oggetti gtgt Un po di Storia
  • Idea di base
  • conservare lorganizzazione di fondo
  • estendere il sistema di tipi
  • identità di oggetto ed ereditarietà
  • collezioni (array)
  • tipi definiti dallutente
  • Vantaggi
  • ricchezza di rappresentazione
  • semplicità di programmazione OO

11
Un Esempio
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • La base di dati universitaria
  • professori nome, cognome, data e luogo di
    nascita, qualifica, facoltà,
  • studenti nome, cognome, data e luogo di nascita,
    matricola,
  • numeri di telefono dei professori
  • materiale didattico messo in linea dai
    professori professore, corso, descrizione, file

12
Professori e Studenti
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • TABLE 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))

13
Professori e Studenti
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
Alternativa introdurre un identificatore
compatto per i professori(in questi esempi
utilizzeremo lidentificatore esteso)
14
Professori e Studenti
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • Ogni volta che è necessario
  • lelenco di tutte le persone ammesse alla
    biblioteca
  • elenco dei libri in prestito
  • Due opzioni
  • opzione 1 unire i dati delle due tabelle ogni
    volta che è necessario
  • opzione 2 mantenere una tabella persone

15
Professori e Studenti Opzione 1
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
cognome nome qualifica dataN fac luogoN
Giacomo Leopardi ordinario 10-10-1957 Ing Recanati
Alessandro Manzoni associato 01-02-1940 Sci Milano
Professori
  • Prestiti in biblioteca
  • codiceLibro, riferimento alla persona
  • quale riferimento ?
  • quale vincolo di integrità ?

Studenti
matricola cognome nome dataN luogoN
1234 Piero Pierino 10-11-1987 Potenza
3456 Gian Burrasca 02-12-1990 Potenza
16
Professori e Studenti Opzione 2
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
Professori
cognome nome qualifica dataN fac luogoN
Giacomo Leopardi ordinario 10-10-1957 Ing Recanati
Alessandro Manzoni associato 01-02-1940 Sci Milano
Studenti
matricola cognome nome dataN luogoN
1234 Piero Pierino 10-11-1987 Potenza
3456 Gian Burrasca 02-12-1990 Potenza
17
Numeri di Telefono
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • TABLE 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))

18
Numeri di Telefono
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
Professori
cognome nome qualifica dataN fac luogoN
Giacomo Leopardi ordinario 10-10-1957 Ing Recanati
Alessandro Manzoni associato 01-02-1940 Sci Milano
19
Numeri di Telefono
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • Ogni volta che è necessario
  • elenco dei professori della facoltà di
    Ingegneria con i loro numeri di telefono
  • Due opzioni
  • opzione 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)

20
Numeri di Telefono Opzione 2
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • 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))

Rappresentazione di qualità molto scadente
(denormalizzata)
21
Numeri di Telefono Opzione 2
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • ProfessoriENumeri, Ridondanza
  • es la facoltà di Leopardi
  • Anomalie di aggiornamento
  • es cambi di facoltà
  • Anomalie di inserimento
  • professori senza numero
  • Anomalie di cancellazione
  • cancellazione di numeri di telefono

22
Materiale Didattico
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • TABLE 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))

Materiale
cod cognome nome qualifica descrizione form file
l01 Giacomo Leopardi ordinario Questa disp... ppt 01001100
l02 Giacomo Leopardi ordinario Date degli ppt 10111000
m01 Alessandro Manzoni associato Mat. per la lez jpg 11011011
23
Materiale Didattico
Modelli a Oggetti gtgt Alcuni Limiti del Modello
Relazionale
  • Ogni volta che è necessario
  • pubblicare sul sito Web di facoltà le dispense in
    formato ppt compresse
  • ridurre la risoluzione delle immagini jpg
  • Devo
  • prelevare i dati (di grandi dimensioni) dal DBMS
  • effettuare le operazioni con un linguaggio di
    programmazione allesterno del DBMS
  • tipicamente questo tipo di dati viene tenuto
    fuori dal DBMS (file system)

24
DBMS Relazionale a Oggetti
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • Sistema di tipi arricchito
  • Tipi ennupla (row type)
  • ereditarietà (singola)
  • oid e riferimenti
  • Collezioni (array)
  • Tipi di dato astratto
  • dati complessi
  • Funzioni sui tipi

25
DBMS Relazionale a Oggetti
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • Estensioni offerte dalla maggior parte dei
    prodotti commerciali
  • es Oracle, IBM DB2, Sybase
  • PostgreSQL
  • un DBMS relazionale a oggetti open source
  • Standard
  • SQL1999

26
Professori e Studenti
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • TYPE Persona(cognome varchar(20) NOT NULL,
  • nome varchar(20) NOT NULL,
  • dataN date,
  • luogoN varchar(30)
  • UNIQUE (cognome, nome, dataN,
    luogoN))
  • TABLE Professori OF Persona
  • (qualifica char(15))
  • TABLE Studenti OF Persona
  • (matricola integer PRIMARY KEY)

27
Tipo Ennupla o Row Type
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • Schema di tabella
  • row type
  • Ereditarietà singola
  • Funzioni sui valori del tipo
  • metodi
  • Istanza di tabella
  • collezione di oggetti istanze del row type
  • oid

28
Professori e Studenti
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
Professori
oid cognome nome qualifica dataN luogoN
o3 Giacomo Leopardi ordinario 10-10-1957 Recanati
o4 Alessandro Manzoni associato 01-02-1940 Milano
Studenti
oid matricola cognome nome dataN luogoN
o1 1234 Piero Pierino 10-11-1987 Potenza
o2 3456 Gian Burrasca 02-12-1990 Potenza
Es metodo per il calcolo del codice fiscale
29
Array
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • E lunico tipo di collezione prevista dal
    SQL1999
  • Array semplici
  • no array di array
  • Base 1
  • Possono avere dimensione variabile
  • es integer ARRAY10fino a 10 numeri interi

30
Numeri di Telefono
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • TABLE Professori OF Persona
  • (qualifica char(15),
  • numeri char(9) ARRAY5)

Professori
oid cognome nome qualifica dataN luogoN numeri
o3 Giacomo Leopardi ordinario 10-10-1957 Recanati 0971202121, 347345678
o4 Alessandro Manzoni associato 01-02-1940 Milano 0971205134
31
Tipi di Dati Astratti (ADT)
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • Posso definire nuovi tipi complessi
  • es ppt_file, jpg_image, zip_file
  • Il tipo è una scatola nera
  • linguaggio di programmazione
  • strategia di memorizzazione
  • metodi di accesso
  • Nelle tabelle lo uso come un tipo di base
  • Le operazioni vengono eseguite dentro il DBMS

32
Materiale Didattico
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • TYPE ppt_file (internallenght 10M,
  • input ppt_in,
  • output ppt_out)
  • FUNCTION ppt_in(ppt_file) returns varbinary
  • EXTERNAL NAME /bin/extensions/ppt_in.class
  • LANGUAGE Java
  • FUNCTION ppt_out(varbinary) returns ppt_file
  • EXTERNAL NAME /bin/extensions/ppt_out.class
  • LANGUAGE Java
  • FUNCTION comprimi(ppt_file) returns zip_file
  • EXTERNAL NAME /bin/extensions/compress.jar
  • LANGUAGE Java

33
Materiale Didattico
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • TABLE Materiale(docente REF(professori),
  • descrizione TEXT,
  • formato char(5),
  • file ppt_file)

E possibile costruire una gerarchia per
gli altri tipi di file (es zip_file ecc.)
Materiale
oid docente descrizione formato file
m1 o3 Questa disp ppt xxxxx
m2 o3 Date degli ppt xxxxx
34
Sistemi Relazionali a Oggetti
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • Sistema ricco di tipi
  • Universal Database
  • extenders (rasoio e lamette)
  • integrazione profonda degli ADT nel DBMS
  • Semplicità di programmazione OO
  • JDBC vs JDO
  • Prestazioni di rilievo
  • modello fisico molto simile a quello relazionale
  • clustering più spinto

35
Sistemi Relazionali a Oggetti
Modelli a Oggetti gtgt DBMS Relazionali a Oggetti
  • Grandi investimenti
  • Ancora poca omogeneità
  • SQL1999 è recente
  • PostgreSQL
  • offre tutte le funzionalità descritte
  • attenzione sintassi non standardes non esiste
    la parola chiave ARRAY

36
Sommario
Modelli a Oggetti gtgt Sommario
  • Un po di Storia
  • Successo del modello relazionale
  • DBMS Orientati agli oggetti
  • Alcuni Limiti del Modello Relazionale
  • DBMS Relazionali a Oggetti
  • row type, oid, ereditarietà
  • collezioni
  • tipi di dato astratto

37
Termini della Licenza
Termini della Licenza
  • This work is licensed under the Creative Commons
    Attribution-ShareAlike License. To view a copy of
    this license, visit http//creativecommons.org/lic
    enses/by-sa/1.0/ or send a letter to Creative
    Commons, 559 Nathan Abbott Way, Stanford,
    California 94305, USA.
  • Questo lavoro viene concesso in uso secondo i
    termini della licenza Attribution-ShareAlike di
    Creative Commons. Per ottenere una copia della
    licenza, è possibile visitare http//creativecommo
    ns.org/licenses/by-sa/1.0/ oppure inviare una
    lettera allindirizzo Creative Commons, 559
    Nathan Abbott Way, Stanford, California 94305,
    USA.
Write a Comment
User Comments (0)
About PowerShow.com