GIS e Geo WEB: piattaforme e architetture

GIS e Geo WEB: piattaforme e architetture
Docente: Cristoforo Abbattista
eMail: [email protected]
IV lezione
Database
GIS e Geo WEB: piattaforme e architetture
Conservare in un luogo sicuro
Basi di Dati
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 3
Il nostro mondo
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 4
L’informazione
Classifichiamola
INFORMAZIONE
SPAZIALE
TERRITORIALE
Rappresentazione della realtà
NON SPAZIALE
NON TERRITORIALE
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 5
Il Database
DBMS – Database Management System
ƒ Edgar CODD alla fine degli anni 60
- PostgreSQL, MS SQL Server, ORACLE, Informix, ACCESS, SYBASE, MySQL, etc.
ƒ È un archivio elettronico di dati
- Prevede un programma di interfaccia per la definizione (DDL) e la manipolazione (DML)
dei dati.
- Esempio: Rubrica Telefonica
ƒ I dati sono organizzati in tabelle costituite da:
- colonne o campi
Nome
Cognome
Telefono
Indirizzo
- righe o record
Mario
Rossi
06942873
Via Conte68
ƒ Ogni campo ha:
Paolo
Bianchi
09247362
Corso Italia,15
Carlo
Verdi
02834472
Piazza Indipendenza,4
- Un nome
- Un tipo di dato (numerico,testo,…)
- Degli attributi per il tipo scelto (dimensione, formato,…)
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 6
Il Database
Com’è organizzato
ƒ È opportuno che ogni record abbia chiave di ricerca primaria
- un campo o una combinazione di campi
- Attenti alla scelta!
- Un contatore?
ƒ Un indice per il recupero veloce dei dati mediante la ricerca random invece di
quella sequenziale (TABLE SCAN).
ƒ La chiave primaria è un indice
ƒ Un indice può anche insistere su campi diversi.
Nome
Cognome
Telefono
Indirizzo
Mario
Rossi
06942873
Via Conte68
Paolo
Bianchi
09247362
Corso Italia,15
Carlo
Verdi
02834472
Piazza Indipendenza,4
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 7
Il Database
Relazionale
ƒ Le tabelle sono correlate mediante relazioni tra campi.
ƒ Aggregazione di dati attraverso le relazioni
ƒ Tipi di relazione
- Uno a uno
- Uno a molti (chiave esterna o Foreign Key)
- Molti a molti
ƒ Come si descrivono a livello fisico?
- Attraverso un campo in più
#Interlocutore
Azienda
Nome
Indirizzo
Cognome
Numero Di Telefono
Telefono
Indirizzo
relazione
Azienda
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 8
Il Database
Integrità referenziale
ƒ Non vogliamo che il database abbia dati non congruenti
- Interlocutori collegati ad aziende non registrate
- Aziende senza interlocutori
- Eliminazione di aziende con interlocutori
ƒ Il sistema si preoccupa di mantenere l’integrità referenziale
- Vengono posti dei dei vincoli che possono complicare la gestione del sistema
#Interlocutore
Nome
Cognome
Azienda
Indirizzo
Numero Di Telefono
Telefono
Indirizzo
relazione
Azienda
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 9
Disegnare un Database
Le domande
ƒ Quale è lo scopo del database?
ƒ Quali sono le entità principali?
ƒ Quali sono i dati che caratterizzano tali entità?
ƒ In che modo sono correlate tali entità?
- Verifica della struttura ed eventuali correzioni
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 10
Il modello Entità-Relazione
Un modello concettuale
ƒ Il modello ER e’ un modello concettuale di dati
- descrive la realtà in maniera semplice
- indipendente dalla organizzazione dei dati nel computer.
ƒ Gli elementi principali del modello sono
- Entità, Relazione, Attributo, Cardinalità.
Entità
Attributo semplice
Relazione
( a,A)
Attributo composto
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
( b,B)
Cardinalità di relazione
Page 11
Il modello Entità-Relazione
Le Entità
ƒ Le Entità sono classi di oggetti distinguibili tra loro ai fini del mondo di interesse
che si intende modellare.
ƒ Un’occorrenza (o istanza) di un’entità è un oggetto della classe
STUDENTE
CORSO
PROFESSORE
Le Relazioni
ƒ Le Relazioni (o Associazioni) rappresentano legami logici fra due o più entità
ƒ Ci possono essere più relazioni fra diverse entità o relazioni ricorsive
STU D EN TE
CORSO
ESAM I
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 12
Il modello Entità-Relazione
Gli attributi
ƒ Sono le proprietà delle entità e delle relazioni
Matricola
Nome
Voto
Data
Nome
Telef
Anno
Corso
Esame
Studente
Numero
Indiriz
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Via
CAP
Page 13
Il modello Entità-Relazione
Cardinalità delle relazioni
ƒ Determina il numero minimo e massimo di istanze di relazione per ogni entità a
cui la relazione si riferisce
ƒ Nell’esempio
- ad ogni impiegato si possono assegnare da 1 a 5 incarichi
- ogni incarico può essere assegnato al più a 50 impiegati
ƒ La cardinalità può essere
- uno a uno (1-1)
- uno a molti (1-N)
- molti a molti (M-N).
IMPIEGATO
(1,5)
ASSEGNA
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
(0,50)
INCARICO
Page 14
Disegnare un Database
I tipi di dati
ƒ Testo: combinazione di caratteri e numeri fino a 255 caratteri
ƒ Numerico: valori numerici tra cui (Byte, Intero, Intero lungo, Precisione singola,
Precisione doppia, ecc.)
ƒ Data/Ora: valori di data e ora in vari formati
ƒ Contatore: numero sequenziale incrementato automaticamente
ƒ Boolean
ƒ BLOB, Text: Immagine o campi lunghi
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 15
Disegnare un Database
Gli attributi
ƒ Dimensione: numero max di caratteri
ƒ Formato: memorizzare i dati in modi differenti
ƒ Valore predefinito: specifica un valore iniziale
ƒ Valido se..: intervalli di validità dei valori immessi
ƒ Richiesto
ƒ Indicizzato: sul campo esiste un indice
ƒ Consenti lunghezza zero: permette di avere valore NULL
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 16
SQL
Standard (Structured) Query Language
ƒ DDL (Data Definition Language)
- Creare la struttura del database
- Tabelle con i relativi campi e i relativi attributi
- Indici
- Trigger
- Stored Procedure
ƒ DML (Data Manipulation Language)
- Ricercare i dati nel database
- Inserire i dati nel database
- Modificare i dati nel database
- Eliminare i dati dal database
- Eseguire Stored Procedure
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 17
SQL
Esempi
ƒ DML (Data Manipulation Language)
- Trovare il nome e il cognome dell’interlocutore e il numero di telefono dell’azienda in cui
lavora
#Interlocutore
Nome
Cognome
Azienda
Indirizzo
Numero Di Telefono
Telefono
Indirizzo
Azienda
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 18
SQL
Operatori
ƒ Su una sola tabella
- Proiezione
- selezione
ƒ Su più tabelle
- Unione
- Intersezione
- Join
ƒ Logici
- AND, OR, NOT
ƒ Confronto
- >, <, =, !=, LIKE
ƒ NULL, NOT NULL
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 19
SQL - DDL
Gestire tabelle nel database
ƒCREATE TABLE tabella (campoX tipo [(dimensioni)] [NOT NULL])
ƒALTER TABLE tabella {ADD {COLUMN tipo campo[(dimensioni)] [NOT NULL] |
ALTER COLUMN tipo campo[(dimensioni)] |
DROP {COLUMN campo} }
ƒDROP TABLE tabella
Gestire indici nel database
ƒ CREATE [UNIQUE] INDEX indice ON tabella (campo)
ƒ DROP INDEX indice ON tabella
Gestire viste nel database
ƒ CREATE VIEW vista [lista campi] AS istruzioneselect
ƒ DROP VIEW vista
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 20
SQL - DML
Ricercare i dati nel database
ƒ SELECT lista colonne FROM lista tabelle utilizzate
ƒ [WHERE lista di condizioni] [GROUP BY... ] [HAVING... ] [ORDER BY... ]
Inserire i dati nel database
ƒ INSERT INTO tabella utilizzata [lista campi] VALUES lista valori
Modificare i dati nel database
ƒ UPDATE tabella SET (lista coppie campi=valori) WHERE lista condizioni
Eliminare i dati dal database
ƒ DELETE FROM tabella utilizzata WHERE lista condizioni
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 21
SQL - DML
Gli indici: alfanumerici e spaziali
ƒ B-Tree (http://it.wikipedia.org/wiki/B-Albero)
ƒ R-Tree (http://en.wikipedia.org/wiki/R-tree)
ƒ GiST (http://gist.cs.berkeley.edu/) (4 punti max.)
- http://postgis.refractions.net/docs/ch04.html#id2638705
“GIS e Geo WEB: piattaforme e architetture” - Cristoforo Abbattista
Page 22
Fine IV lezione
Database
GIS e Geo WEB: piattaforme e architetture