I - INTRODUZIONE AI DATABASE TERRITORIALI. Capitolo 1 INTRODUZIONE AI DATABASE TERRITORIALI. 1.1 Definizioni di un database

Documenti analoghi
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

CAPITOLO V. DATABASE: Il modello relazionale

DBMS (Data Base Management System)

Sommario. Introduzione... 13

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogazioni nidificate

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

PROGRAMMA DI CLASSE 5AI

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

BASI DATI: algebra relazionale

Informatica per le Scienze Umane. Introduzione al corso: programma

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

DATABASE.

Basi di Dati Corso di Laura in Informatica Umanistica

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Informatica e Bioinformatica: Basi di Dati

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Pag Politecnico di Torino 1

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Elementi di gestione di dati con MS Access 2000

Informatica per le discipline umanistiche 2 lezione 10

Basi di Dati Corso di Laura in Informatica Umanistica

LABORATORIO di INFORMATICA

DATABASE PER IL WEB. Programmazione Web 1

Archivi e Basi di Dati

Basi di dati Modelli e linguaggi di interrogazione

Corso di Laboratorio di Basi di Dati

Elena Baralis 2007 Politecnico di Torino 1

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Le basi di dati. Lez. 3: Il Modello Relazionale

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Esercitazione Simulazione Compito

Esempio di database relazionale con l utilizzo del prodotto MySQL

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

2011 Politecnico di Torino 1

Basi di Dati: Corso di laboratorio

TEORIA sulle BASI DI DATI

RELAZIONI E BASI DI DATI

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Elena Baralis 2013 Politecnico di Torino 1

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Il linguaggio SQL: query innestate

Gestione di basi di dati in Access. SUISM Docente: Ugo de Liguoro a.a Asti

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Caratteristiche dei linguaggi per Database

Access. P a r t e t e r z a

Lezione V. Aula Multimediale - sabato 29/03/2008

Sistemi per la gestione di database: MySQL ( )

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

Interrogazioni nidificate

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Basi di Dati e Microsoft Access

INDICE. Introduzione. 3 Capitolo 1 Cenni di geodesia

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

BASI DATI: Open Office BASE INFORMATICA

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

GESTIONE ABBONAMENTI RIVISTE

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

Archivi e database. Dato e gli archivi

La normalizzazione Trasformazione da concettuale a relazionale

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

Definizione di domini

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Si definisca il relativo schema E/R (nella metodologia proposta a lezione) e si evidenzino eventuali vincoli inespressi e attributi derivati.

Alessandra Raffaetà. Esempio: Compagnia di trasporti

Schema Del DB Operazionale TELEFONATE

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL

Introduzione ai Sistemi di Gestione di Basi di Dati XML

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

Il modello relazionale

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

SOLUZIONE ESAME DI STATO 2015/2016 Indirizzo: ITSI - AMMINISTRAZIONE, FINANZA E MARKETING ARTICOLAZIONE SISTEMI INFORMATIVI AZIENDALI

Le Basi di Dati Attive

Sistemi Informativi Aziendali II

DATABASE CLIENTIRAPPRESENTANTI

MS Access: Tutorial Tabelle, Relazioni

Transcript:

I - INTRODUZIONE AI DATABASE TERRITORIALI Capitolo 1 INTRODUZIONE AI DATABASE TERRITORIALI 1.1 Definizioni di un database 1.2 Struttura di un DBMS 1.3 Ruolo dei data-base nei SIT 1.4 Metadati - Introduzione 1.5 Introduzione al modello relazionale 1.6 Formalismo relazionale esteso 1.7 Conclusioni 1.1 Definizioni di un database Il Sistema Generale di LeMoigne Un database è un insieme informatico di dati che può essere interrogato o utilizzato da parecchi utenti La verità è nel database Contenuto = mini-mondo Visione del mondo Struttura Comportamento Evoluzione (entropica o teleologica) Ambiente (del sistema) Cap. 1 : Introduzione ai Database Territoriali 1

Teoria del sistema generale Detaglio del sistema di pilotaggio Sistema di pilotaggio Sistema di decisione e di pianificazione Sistema di pilotaggio - Impostazione degli obiettivi - Diagnosi dei problemi - Decisione e selezione - Progettazione Sistema informativo Sistema di informazione Sistema informativo Sistema operante Sistema operante Esempio di Sistema operante: la città Popolazione Tipo di informazione in un database territoriale Servizi pubblici Impiego Informazione di tipo strategico proveniente dal sistema di pilotaggio Budget Ambiente/Inquinamento Edilizia Uso del suolo Informazioni proveniente da misure sul territorio da gestire Database territoriale Informazioni utili per la presa di decisione Trasporti Cap. 1 : Introduzione ai Database Territoriali 2

SISTEMA INFORMATIVO TERRITORIALE Strati applicativi Sistema informativo dedicato alla gestione e alla pianificazione dei territori Database territoriale Cartografia Analisi dei dati spaziali Ragionamenti spaziali Stuttura di un SIT Sistema di acquisizione delle informazioni spaziali Sistema d'analisi dei data Sistema di gestione del database Sistema di visualizzazione cartografica Database territoriale 1.2 Struttura di un DBMS Struttura semplificata Database system Applicazioni DBMS = Database Management System DBMS Software per i programmi e le richieste Software per l accesso Dati Metadati Cap. 1 : Introduzione ai Database Territoriali 3

Piccoli e grandi DB 1.3 Ruolo dei data-base nei SIT Osservazione della terra : 12 terabyte ogni giorno Toy database Database Very Large Database Dati alfanumerici (intero, reale, carattere, booleano) Dati spaziali (punti, poligoni, ecc.) Dati multimediali (segnali, voce, immagini, video, ecc.) Ecc. Metadati = dati sui dati (informazioni sulla struttura dati) 1.4 Metadati - Introduzione Strutturazione dell informazione sui dati Origine Fonti Qualità Ecc. Normativa FGDC : Federal Government Data Committee 1.5 Introduzione al modello relazionale 1.5.1 Principi 1.5.2 Algebra relazionale 1.5.3 Rappresentazione degli operatori 1.5.4 Vincoli di integrità 1.5.5 Conclusioni Cap. 1 : Introduzione ai Database Territoriali 4

1.5.1 Principi Creato da Edgar CODD alla fine degli anni 60 Tutto è tabella 1 tabella == 1 relazione Operatori sulle tabelle ORACLE, ACCESS, SYBASE, MySQL, etc. Tabelle e relazioni VEICOLO (Nome-Proprietario, Marca, Targa) VEICOLO Nome-Propr. Marca Targa Pietro Renault TO-123456 Anna Ford VE-789123 Maria VW MI-456789 Giulio Fiat PD-323456 Definizioni Colonna Riga TABELLA Colonna Corrisponde ad un attributo Chiave o identificatore Valore «senza valore» (NULL) Definita in un dominio (intero, link, immagine, etc.) Dom (intero) = N NULL Cap. 1 : Introduzione ai Database Territoriali 5

Valore NULL valore non ancora valutato valore non conosciuto valore non ancora conosciuto valore impossibile valore inapplicabile Riga Corrisponde a un record Possede tutti gli attributi Identificata da una chiave Chiavi primarie (primary keys) E' un attributo, o un insieme di attributi Si tratta di un identificatore unico valutato, il NULL non è possibile attenzione : in una tabella, una chiave unica puo essere creata da parecchi identificatori Consente l accesso al record Chiavi esterne (foreign keys) Si dice di una chiave presente in una relazione e che si riferisce ad una chiave primaria di una altra relazione Esempio PERSONA (NOID, NOME, NOTEL) TELEFONO (NOTEL, LUOGO) Cap. 1 : Introduzione ai Database Territoriali 6

1.5.2 Algebra relazionale Ogni query può essere descritta con questa algebra Su una sola tabella Operatori comuni Proiezione Restrizione (selezione) Su due tabelle Unione e Intersezione Join Esempio Proiezione su Popolazione Pop Paese Popolazione Francia 60 Italia 60 Spagna 40 Svizzera 15 Irlanda 15 GB 55 Popolazione 60 60 40 15 15 55 Cap. 1 : Introduzione ai Database Territoriali 7

Restrizione : Es. popolazione > 50 Esempio Pop Paese Popolazione Europa Paese Capitale Pae. Anglo. Paese Capitale Francia 60 Francia Parigi USA Washington Italia 60 Italia Roma Australia Canberra GB 55 Spagna Madrid Irlanda Dublino Germania Berlino GB Londra Irlanda Dublino GB Londra Unione Paese Capitale Francia Parigi Intersezione Unione Italia Spagna Germania Irlanda Roma Madrid Berlino Dublino Inter Paese Capitale Irlanda Dublino GB Londra GB Londres USA Washington Australia Canberra Cap. 1 : Introduzione ai Database Territoriali 8

Join tra Europa e Pop Risultato Join tra Europe e Pop Pop Paese Popolazione Europa Paese Capitale Eur-Pop Paese Popolazione Capitale Francia 60 Francia Parigi Francia 60 Parigi Italia 60 Italia Roma Italia 60 Roma Spagna 40 Spagna Madrid Spagna 40 Madrid Svizzera 15 Germania Berlino Irlanda 15 Dublino Irlanda 15 Irlanda Dublino GB 55 Londres GB 55 GB Londra Conclusioni sull algebra relazionale Strumento potente per risolvere le richieste Abbastanza difficile per un utente medio Linguaggio SQL Utilizzato al livello interno Rappresentazione degli operatori Obiettivi: grafo di combinazione per risolvere le richieste Cap. 1 : Introduzione ai Database Territoriali 9

Proiezione Restrizione Unione Intersezione Lista d attributi Relazione Lista di condizioni Rel. 1 Rel. 2 Rel. 1 Rel. 2 Join (interno) Join (esterno) Risultato Lista di attributi Rel. 1 Rel. 2 Cardine Rel. 1 Rel. 2 Cardine Rel. 3 Cardine Esempio Rel. 1 Rel. 2 Cap. 1 : Introduzione ai Database Territoriali 10

Cardine della forma: Note sugli join Relazione1.Toto = Relazione2.Titi Auto-join possibile Attenzione ai valori NULL negli join esterni Join esterno : gli attributi mancanti sono forzati a NULL Linguaggio SQL: introduzione SELECT lista degli attributi FROM lista delle tabelle utilizzate [WHERE lista booleana di condizioni] Proiezione, restrizione - select popolazione from pop; - select popolazione from pop where popolazione > 50 Unione, intersezione - select paese, capitale from europa union (select paese, capitale from pae-anglo); - select paese, capitale from europa intersect (select paese, capitale from pae-anglo); Cap. 1 : Introduzione ai Database Territoriali 11

Esempi select paese, capitale from europa intersect (select paese, capitale from pae-anglo); Esempio con join Select Paese, popolazione, capitale from pop, europa where pop.paese=europa.paese 1.5.4 Vincoli d integrità Controllo qualità del contenuto Condizioni o predicati Vincoli di base esistenziale (primary key) referenziale (foreign key) Altri vincoli controllo di verosimiglianza vincoli d integrità al livello topologico Esempio Collezione di oggetti chiamati «triangoli» 3 lati 3 angoli La somma degli angoli uguale 180 gradi TRIANGOLI(no_triangolo, ang1, ang2, ang3) TRIANGOLI NO ANG1 ANG2 ANG3 A 50 50 80 B 10 10 10 OK KO Cap. 1 : Introduzione ai Database Territoriali 12

VI statici : Vincoli d integrità Condizione vera sul DB VI dinamici : prima e dopo aggiornamento Evoluzione vera Nota 1 Se il predicato è falso, allora esiste una incoerenza da corregere Stato stabile / istabile Alcuni comportamenti nel caso di incoerenza Blocco temporaneo del DB: nessun trattamento è possibile fin tanto che rimane l incoerenza Problema : VI longhi Alcuni trattamenti sono comunque possibili durante un breve intervallo di tempo (correzioni forzate) Nota 2 Nessuna contradizione tra i VI Necessità di strumenti per verificare la monotonia dei VI (cioè coerenza dei VI dopo l aggiornamento/modifica di un solo vincolo) Dichiarativa Verifica dei VI Alla creazione, è data una lista dei predicati Verifica durante l'inserimento e la modifica Procedurale Programmi di controllo avviati regolarmente (procedure di controllo) o su eventi (triggers). Cap. 1 : Introduzione ai Database Territoriali 13

Vincolo esistenziale Legato alle primary keys Dettaglio Ogni chiave è differente Chiave NULL non sono autorizzate Nel caso di difficoltà, creare un identificatore temporaneo Definizione alla creazione del DB Verifica dichiarativa (inserimento e modifica) Vincolo referenziale Legati alle foreign key Dettaglio Deve sempre esistere una primary key corrispondente I NULL non sono permessi Definizione alla creazione del DB Verificato ad ogni inserimento e modifica Controllo di verosimiglianza Verifica degli ordini di grandezza Ad esempio : date, età, codici postali, targhe, ecc Piccole verifiche: dichiarative Grosse verifiche: procedurali (trigger/procedure) Controllo topologico Nel caso dei DB territoriali (vettore) Poligoni non degenerati Due particelle non si devono accavallare Copertura totale dello spazio Ecc. Generalmente con procedure o trigger Cap. 1 : Introduzione ai Database Territoriali 14

1.5.5 Conclusioni Importanza del modello relazionale (tabelle, operatori, ecc.) Normative Richieste fatte con operatori Linguaggio SQL 1.6 Formalismo relazionale esteso Esistenza di sotto-tabelle. * = 1 a n + = 0 a n Esempi: R 1 (a, b*) R 2 (a, (b,c) + ) R 3 (a, (b, (c,d)*)*) Esempi NOME (cognome, (nome)*) PERSONA (cognome, (nome)*,(ragazzo) + ) 1.7 Conclusioni Importanza dei DB nei SIT Dati Alfanumerici Multimediali Spaziali Cap. 1 : Introduzione ai Database Territoriali 15