STRUTTURE DI DATI GEOGRAFICI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "STRUTTURE DI DATI GEOGRAFICI"

Transcript

1 STRUTTURE DI DATI GEOGRAFICI STRUTTURE DI DATI I dati rappresentano una delle componenti fondamentali di un GIS. Proprio per questo devono essere valutati con attenzione gli strumenti usati per la creazione dell archivio, la manipolazione delle informazioni in esso contenute, la loro manutenzione e l aggiornamento. I gestori di base di dati (DBMS) sono pacchetti software che permettono l archiviazione, la manipolazione e il recupero di dati in un insieme di dati (database); si comprende quindi perchè il loro utilizzo costituisca un aspetto cruciale dei GIS. Un database è una raccolta di uno o più file o tabelle di dati archiviati in modo strutturato: le relazioni esistenti tra le differenti colonne delle tabelle o tra gli insiemi di dati possano essere utilizzate dal software DBMS allo scopo di manipolare e recuperare i dati. Il database sarà strutturato in generale in modo tale da soddisfare le richieste di più utenti. 1

2 STRUTTURE DI DATI GEOGRAFICI CARATTERISTICHE PRINCIPALI DI UN GESTORE DI BASI DI DATI minima ridondanza dei dati: non esiste una incontrollata duplicazione dei dati (però è ammessa una certa ridondanza (controllata) quando può essere utile per velocizzare i processi di ricerca); consistenza dei dati (contro i pericoli di stati inconsistenti dovuti all accesso concorrente in fase di lettura/scrittura); integrazione dei dati (mantenimento delle relazioni tra i dati); integrità e ripristino del dato (mantenimento della correttezza del dato e protezione del database da possibili errori software e hardware); gestione facilitata del dato; accessibilità del dato; affidabilità del dato; indipendenza del dato (separatezza tra descrizioni logica e fisica del dato, che rende possibili modifiche di un programma applicativo e del database in modo indipendente l uno dall altro). sicurezza o privatezza del dato (contro utenti non autorizzati); 2

3 STRUTTURE DI DATI GEOGRAFICI TIPI DI STRUTTURE DI DBMS Una volta che sia completata l analisi dei dati, il modello di dati deve essere implementato usando un software DBMS adeguato. Questo potrebbe essere implementato ex-novo, ma in genere si fa ricorso a sistemi disponibili. Tra questi individuiamo le categorie: sistemi gerarchici; sistemi reticolari; sistemi relazionali. Nell ambito GIS il modello più utilizzato è quello relazionale. 3

4 STRUTTURE DI DATI GEOGRAFICI SISTEMI DI GESTIONE DI BASI DI DATI RELAZIONALI Il concetto fondamentale per l archiviazione dei dati nel modello relazionale è una tabella di record, detta relazione o anche tabella. Le tabelle sono contenitori di dati strutturati in forma tabellare; ogni riga rappresenta un dato (tupla) ed ogni colonna rappresenta un attributo dei dati I dati appartenenti ad una tabella sono caratterizzati dalle stesse proprietà; i record nella tabella contengono un numero fissato di campi. Tutti i record hanno formato identico. Non possono esserci due tuple uguali. Ogni tabella deve avere un campo detto chiave primaria che assume necessariamente valore diverso per ogni tupla, identificando univocamente la tupla stessa. Poiché ogni riga deve essere differente dalle altre, il valore di una singola colonna o una combinazione di valori in colonne multiple, può essere usata per definire tale chiave. La proprietà di univocità permette di individuare la chiave primaria come unico meccanismo di indirizzamento a livello delle righe nel modello del database relazionale. Ogni record della tabella archivia quindi un entità ed è identificato da una chiave primaria. 4

5 STRUTTURE DI DATI GEOGRAFICI PASSAGGIO DAL MODELLO ENTITA' - RELAZIONE AI MODELLI RELAZIONALI Torniamo al solito esempio: STRADA 1 A B C D E F STRADA 2 G H I STRADA 1 STRADA 3 STRADA 4 STRADA 4 STRADA 5 Cominciamo a considerare la parte del modello entità - relazione che non coinvolge entità spaziali. Particella catastale Codice Indirizzo proprietà data pratica codice pratica 1 - N 1 - N Proprietario Cod. Fiscale Data Nascita Comune Nascita Cognome Nome 5

6 Le tabelle associate sono: Codice Particella Indirizzo A Strada 4,1 B Strada 4, 3 C Strada 4, 5 D Strada 5, 1 E Strada 5, 3 F Strada 5, 5 G Strada 1, 1 H Strada 1,3 I Strada 1, 5 Tabella Particella STRUTTURE DI DATI GEOGRAFICI Particella Data Pratica Codice Pratica Proprietario A 08/02/ B 10/04/ BNCFRC62B55C933X C 25/12/ RSSMRA60A01F205L D 08/02/ BNCFRC62B55C933X E 18/11/ BNCFRC62B55C933X F 01/05/ BNCFRC62B55C933X G 05/04/ BNCFRC62B55C933X H 21/12/ RSSMRA60A01F205L I 20/12/ RSSMRA60A01F205L Tabella Proprietà Codice Fiscale Data Comune Nome Cognome Nascita Nascita BNCFRC62B55C933X COMO FRANCA BIANCHI RSSMRA60A01F205L MILANO MARIO ROSSI Tabella Proprietario 6

7 STRUTTURE DI DATI GEOGRAFICI VINCOLI DI INTEGRITA REFERENZIALE Un campo qualunque di una tabella può essere vincolato ad assumere solo valori presenti nel campo chiave di un altra tabella. I due campi devono essere dello stesso tipo In questo modo il campo vincolato esprime un legame di dipendenza tra la tupla a cui appartiene e quella corrispondente nell altra tabella Codice Particella Indirizzo A Strada 4,1 B Strada 4, 3 C Strada 4, 5 Tabella Particella Particella Data Pratica Codice Pratica Proprietario A 08/02/ BNCFRC62B55C933X B 10/04/ BNCFRC62B55C933X C 25/12/ RSSMRA60A01F205L Tabella Proprietà Codice Fiscale Data Nascita Comune Nascita Nome Cognome BNCFRC62B55C933X COMO FRANCA. BIANCHI... Tabella Proprietario 7

8 STRUTTURE DI DATI GEOGRAFICI COSTRUZIONE DEL MODELLO LOGICO ❾ Le ENTITA si traducono in TABELLE, aventi per campi gli attributi dell entità e per chiave l attributo chiave dell entità ❾ Le RELAZIONI con cardinalità uno a uno si traducono in VINCOLI DI INTEGRITA tra tabelle ❾ Le RELAZIONI con cardinalità uno a molti o molti a molti si traducono in VINCOLI DI INTEGRITA e TABELLE Nell'esempio precedente si considerano le tabelle: PARTICELLA CATASTALE (Codice Particella, Indirizzo) PROPRIETARIO (Codice Fiscale, Data Nascita, Comune Nascita, Cognome, Nome) PARTICELLA - PROPRIETARIO (Codice Particella, Codice Fiscale, Data della Pratica, Codice della Pratica) 8

9 STRUTTURE DI DATI GEOGRAFICI VANTAGGI E SVANTAGGI DEI DBMS RELAZIONALI RISPETTO AD ALTRE STRUTTURE DI DATI VANTAGGI E una metodologia che consente una progettazione rigorosa, basata su fondamenti teorici; tutte le altre strutture di dati possono essere ridotte ad un modello relazionale e quindi è la forma più generale di rappresentazione; è semplice da usare ed implementare, è modificabile, cioè permette di introdurre nuove tabelle e nuove righe di dati, senza difficoltà; è flessibile nella selezione dei dati grazie al meccanismo di unione relazionale e ai potenti linguaggi di interrogazione disponibili. 9

10 STRUTTURE DI DATI GEOGRAFICI SVANTAGGI Lo svantaggio principale legato ai sistemi relazionali è dovuto al fatto che quelli commerciali standard non possono risolvere problemi specifici legati alla particolarità del problema spaziale, cioè al tipo di dato da trattare. Quindi lo svantaggio non è riferito in rapporto ad altri DBMS tradizionali (gerarchici o reticolari), ma piuttosto rispetto ad estensioni particolari, studiate appositamente, di DBMS tradizionali, in grado di fornire maggiori prestazioni ed efficienza nel trattamento del dato geografico. 10

11 STRUTTURE DI DATI GEOGRAFICI COSTRUZIONE DEL MODELLO PER ENTITA' SPAZIALI Consideriamo le tabelle associate alle entità particelle catastali e strade relative al solito esempio. Notiamo che in questo caso per semplicità si erano considerati come primitive geometriche i segmenti e quindi non avremo il problema di curve descritte da un numero variabile di vertici. Comunque vedremo che l'archiviazione non è efficiente perché: devo ripetere più volte gli identificatori di strada o particella; si creano tabelle lunghe e sottili. Riconsideriamo lo schema dell'esempio: 1 l12 l2 3 l3 4 l4 5 l5 6 l6 7 l7 8 l8 l9 l10 l

12 STRUTTURE DI DATI GEOGRAFICI Abbiamo tabelle relative alle entità: PARTICELLA CATASTALE (Codice Particella, Indirizzo) STRADA (Nome Strada, Lunghezza, Tipologia) Codice Particella Indirizzo A Strada 4,1 B Strada 4, 3 C Strada 4, 5 Tabella Particella Nome Lunghezza Tipologia Strada Strada Provinciale Strada Comunale Strada Comunale Tabella Strada le tabelle che descrivono le primitive geometriche: SEGMENTO (Numero segmento, Lunghezza) PUNTO (Numero punto, Coordinate X,Y) Numero segmento Lunghezza l1 15 l2 100 l3.12 Tabella Segmento 12

13 Numero Punto STRUTTURE DI DATI GEOGRAFICI Coordinata X Coordinata Y Tabella Punto le tabelle che descrivono le relazioni STRADA - SEGMENTO (Nome Strada, Numero Segmento) PARTICELLA - SEGMENTO (Codice Particella, Numero Segmento) SEGMENTO - PUNTI (Numero Segmento, Numero Punto, Numero Punto) Nome Strada Strada 1 Strada 1 Strada 1 Numero Segmento l1 l7 Tabella Strada - Segmento Codice Particella A A A Numero Segmento l2 l8 l9 Tabella Particella - Segmento Numero Numero Segmento Punto l1 1 2 Numero Punto l2 2 3 Tabella Segmento - Punti 13

14 STRUTTURE DI DATI GEOGRAFICI Ovviamente se introduciamo una descrizione più complessa (ad es. primitive geometriche: curve), l'efficienza nell'archiviazione dei dati peggiora. Vediamo con degli esempi. Come primo passo consideriamo semplicemente le due catene seguenti: P1 P4 P5 P2 L1 L2 P3 P7 Per la costruzione del modello considereremo le entità (e quindi tabelle): P6 TABELLA PUNTO P X Y P1 X1 Y1 P2 X2 Y2 P3 X3 Y3 P4 X4 Y4 P5 X5 Y5 P6 X6 Y6 P7 X7 Y7 punto_id coord X coord Y 14

15 TABELLA CURVA STRUTTURE DI DATI GEOGRAFICI L1 P1 P2 P3 P4 L2 P5 P6 P7 ho un numero variabile di colonne e quindi non è possibile applicare la struttura relazionale costruendo la tabella in tal modo L1 L1 L1 L1 L2 L2 L2 P1 P2 P3 P4 P5 P6 P7 non posso scambiare tra di loro le tuple, perché non riesco più a ridisegnare le curve di punti in modo corretto devo introdurre un campo con la sequenza dei punti nella catena L1 P1 N1 L1 P2 N2 L1 P3 N3 L1 P4 N4 L2 P5 N1 L2 P6 N2 L2 P7 N3 catena_id punto_id numero_sequenza_punto 15

16 STRUTTURE DI DATI GEOGRAFICI prima di disegnare l'entità è necessario riordinare le coordinate nella tabella CURVA. Consideriamo ora modellizzazioni più complesse: TABELLA POLILINEA L1 L3 L5 L L L L1 L2 L3 L2 L4 nodo vertice TABELLA SUPERFICIE L L L L1 L2 L3 L2 L1 L4 L3 16

17 STRUTTURE DI DATI GEOGRAFICI Supponiamo ora di voler associare alle entità geografiche non solo una descrizione geometrica ma anche attributi (componente testuale). Abbiamo quindi delle tabelle con attributi che caratterizzano le entità: ogni tupla è caratterizzata da un identificatore dell'entità geografica. Consideriamo la carta seguente in cui le superfici colorate rappresentano regioni corrispondenti a modelli digitali del terreno forniti da enti differenti: codice origine 0 ITALIA 1 ITALIA (correzioni) 2 ITALIA (laghi - superficie) 3 ITALIA (laghi -condensato) 4 BATIMETRIA 5 FRANCIA 6 SVIZZERA 7 AUSTRIA 8 GERMANIA 9 ETOPO5U 10 GTOPO30 17

18 Consideriamo una delle regioni corrispondente ad una certa "sorgente" di informazione e descriviamola spazialmente (l'attributo testuale associato alla regione è il corrispondente codice DTM) S4 S3 F6 S5 S2 Punto_id ϕ λ Relazione Punto

19 Spigolo_id Punto_id Numero_sequenza_punto S S2 2 1 S2 3 2 S3 3 1 S3 4 2 S3 5 3 S3 6 4 S4 6 1 S4 S5 S Relazione Spigolo Faccia_id Segmento_id F6 S2 F6 S3 F6 S4 F6 S Relazione Faccia Regione_id Faccia_id DTM_id R6 F Relazione regione - DTM

20 L'archiviazione secondo questo schema non è efficiente perché: si devono ripetere gli identificatori di spigolo e faccia si deve archiviare un campo aggiuntivo contenente il numero d'ordine di ogni vertice si creano tabelle lunghe e sottili più scomode da consultare (si allungano i tempi di interrogazione) Sinora ci siamo occupati solo di RDBMS "classici", i quali, proprio per garantire la semplicità del modello, devono soddisfare ad alcune ipotesi di base. Tra queste quella che peggio si adatta ai dati spaziali è la 1NF (first normal form) che impone che domini o attributi consistano di valori atomici, non decomponibili. In molti progetti questa ipotesi è stata abbandonata e vengono integrati nel database dati complessi. In questo caso si parla di modelli relazionali estesi classificati come NF2 (Non first normal form ) o Nested-Relational.

21 DATA BASE RELAZIONALI AD OGGETTI Estendono il modello relazionale aggiungendo i concetti di: ADT = Abstract Data Type che definisce: la struttura le operazioni e di EREDITARIETÀ che permette di insiemi di oggetti simili Riuso: è la possibilità di riutilizzare insiemi (classi) di oggetti precedentemente formalizzate per definire nuove classi che ereditano dalle precedenti attributi e metodi. Estensibilità: è la possibilità di estendere la descrizione di queste nuove classi definendo nuovi attributi, che formalizzano meglio le caratteristiche della nuova classe e nuovi metodi che gestiscono il valore dei nuovi attributi.

22 POSTGRESQL E' un ORDBMS (DBMS relazionale a oggetti); deriva da un progetto iniziato nel '86 alla "University of California di Berkeley" e finanziato dal "Defense Advanced Research Projects Agency (DARPA)", dal "Army Research Office (ARO)", dalla "National Science Foundation (NSF) e ESL Inc"; nel '94 viene sostituito il linguaggio interrogativo Postquel con l'sql (Postgres95); nella successiva evoluzione il database prende l'attuale nome di PostgreSQL e' un database freeware, di cui sono disponibili i sorgenti in rete, utilizzabile anche via ODBC. TIPI DI DATI GEOMETRICI IN POSTGRES TIPO SPAZIO RAPPRESENTA DESCRIZIONE (bytes) ZIONE POINT 16 (x,y) PUNTO LINE 32 ((x1,y1),(x2,y2)) LINEA SEGMENT 32 ((x1,y1),(x2,y2)) SEGMENTO BOX 32 ((x1,y1),(x2,y2)) RETTANGOLO PATH 4+32n ((x1,y1), ) CAMMINO CHIUSO PATH 4+32n [(x1,y1), ] CAMMINO APERTO POLYGON 4+32n ((x1,y1), ) POLIGONO CIRCLE 24 <(x,y),r> CIRCONFERENZA

23 OPERAZIONI GEOMETRICHE IN POSTGRES OPERATORE DESCRIZIONE + Traslazione - Traslazione * Scala/rotazione / Scala/rotazione # Intersezione # Numero di punti ## Punto più vicino && è sovrapposto &< è sovrapposto a sinistra &> è sovrapposto a destra <-> distanza << è a sinistra di < è sotto >> è a destra di > è sopra?# interseca o si sovrappone?- è orizzontale?- è lunghezza o circonferenza? è verticale? è contenuto o centro di = simile a

24 Utilizzando Postgres per la descrizione dell'esempio precedente relativo al DTM avremo le tabelle Faccia_id Poligon_data type F6 ((46.63,7.44),(46.63,7.71),(46.86,7.71),(46. 86,9.30), ). Relazione Faccia Regione_id Faccia_id DTM_id R6 F Relazione regione - DTM efficienza di archiviazione decisamente maggiore.

25 STRUTTURE DI GESTIONE DI BASI DI DATI NEI GIS SISTEMI IBRIDI I GIS che implementano un architettura ibrida sono caratterizzati da: parte testuale strutturata utilizzando un modello di dati relazionale e gestita da un relazionale; parte geometrica gestita da un sistema proprietario appositamente realizzato per rendere possibile la memorizzazione della parte spaziale del dato, utilizzando particolari indicizzazioni la gestione usando algoritmi implementati in dipendenza del tipo di dati che il sistema GIS deve gestire

26 STRUTTURE DI GESTIONE DI BASI DI DATI NEI GIS SISTEMI INTEGRATI La componente spaziale (i file delle coordinate dei punti e della topologia degli elementi geometrici) coesiste con la componente testuale (i file degli attributi) ed è in relazione con questa, creando una base di dati geometrico-statistica. Il RDBMS deve avere estensioni spaziali.

27 METODI DI INDICIZZAZIONE DI UNA BASE DI DATI RELAZIONALE Le basi di dati che sono state realizzate seguendo il modello relazionale classico (1NF) sono state progettate per gestire dati di tipo monodimensionale, in modo da fornire strumenti adeguati per velocizzare le interrogazioni su questo tipo di informazioni. Ogni dato che si vuole memorizzare in una di queste basi di dati andrà associato ad un singolo attributo; nel caso di dati spaziali, quindi, ad ogni dimensione corrisponde un attributo differente. Consideriamo i punti evidenziati nella figura seguente:

28 le cui coordinate sono riportate nella corrispondente tabella che possiamo immaginare come la tabella di una base di dati relazionale. I record della tabella hanno tre attributi: il codice del punto, la sua latitudine e la sua longitudine: punto_id latitudine N longitudine E ' 12 20' ' 13 60' ' 11 30' ' 16 10' La tabella può essere ordinata creando un indice riferito ad una qualsiasi delle sue colonne: se ad esempio ordiniamo la tabella rispetto all'attributo longitudine la sequenza dei punti sarà 3, 1, 2, 4. Indipendentemente dalla colonna scelta in questo tipo di tabella non si riuscirà mai ad ordinare i punti dell'elenco in base alla loro distanza.

29 In caso di interrogazione bidimensionale su di una regione definita da due coppie di coordinate (x 1, y 1 ) e (x 2, y 2 ) risulta evidente l'inefficienza del modello relazionale per questo tipo di dati. Supponiamo di voler estrarre tutti i punti compresi nell'intervallo più scuro per poter far questo, è necessario esaminare completamente l'intero intervallo in latitudine e longitudine (area segnata più in chiaro). Questi problemi si potrebbero evitare se si avesse a disposizione una base di dati in grado di considerare entrambi le coordinate come se fossero un unico dato rispetto al quale indicizzare la tabella.

30 2-D TREE Ogni record di una base di dati organizzata con questo sistema oltre ai campi dei dati ha anche due campi speciali: uno punta al ramo di sinistra, l'altro a quello di destra. La struttura di un record di tipo 2-d tree è la seguente (scritta in linguaggio C): typedef struct { tipo_informazione INFO; real LAT; real LON; nodo S; nodo D; } nodo; Il campo INFO contiene informazioni generiche legate al punto, ad esempio la quota; LAT e LON sono numeri reali corrispondenti alle coordinate del punto (latitudine e longitudine); S e D puntano ciascuno ad un record figlio. Se N è un nodo pari abbiamo: nel ramo di sinistra i nodi M (record figli di N) caratterizzati da M.LAT < N.LAT. nel ramo di destra i nodi L con L.LAT > N.LAT Viceversa se N è un nodo dispari abbiamo: nel ramo di sinistra i record M con M.LON < N.LON nel ramo di destra i nodi L con L.LON > N.LON.

31 Vediamo l'inserimento dei dati; supponiamo che al campo INFO si associ l'altezza elissoidica h ' 12 20' Radice S D ' 11 30' S D ' 13 60' S D Livello ' 16 10' Livello 2 S D Albero 2d-tree Inserimento del punto 1: la tabella è vuota: questo record sarà la radice dell'albero di dati. Inserimento del punto 2): essendo al livello 1 (dispari) dell'albero devo confrontare: 2.LON > 1.LON il record figlio verrà collegato al campo D. Inserimento del punto 3: iniziamo confrontando con il punto 1 (e siamo al livello 1). Poiché 3.LON < 1.LON questo record figlio va collegato al campo S. Inserimento del punto 4: a livello 1, 4.LON > 1.LON, ma il campo D è già occupato. Passo quindi a confrontare con il record figlio del ramo di destra. Essendo al livello 2 il confronto va fatto tra i campi LAT: 4.LAT < 2.LAT, il record figlio andrà quindi collegato al campo S.

32 Ogni volta che inserisco un nodo nell'albero divido la regione in due sottoregioni: il punto 1 la divide in due parti (A e B) usando la longitudine 12 20' come discriminante; il punto 2 divide la sottoregione di destra (B) in altre due sottoregioni a nord (C) e a sud (D) di 43 60'; il punto 3 divide invece la sottoregione di sinistra in due sottoregioni a nord (E) e a sud (F) di 42 50'; il punto 4 divide la sottoregione (D) in due sottoregioni a est (G) e a ovest (H) di 16 10'. Quando eseguo una interrogazione sulla base di dati questa verrà riferita solo ai punti della sottoregione di interesse, evitando di prendere in considerazione l'intero intervallo (x, y), come succedeva nell'esempio iniziale Suddivisione regione Suddivisione regione B

33 Suddivisione regione A Suddivisione regione D Questo tipo di struttura può essere usato anche per dati multidimensionali (k-n tree), dove k è il numero di dimensioni del dato. Al posto dei campi LAT e LON si ha una matrice di dimensione pari a k: typedef struct { tipo_informazione INFO; real VAL[k]; nodo S; nodo D; } nodo; ogni nodo ha k coordinate i collegamenti padre-figlio sono determinati usando la stessa logica del caso bidimensionale

34 POINT QUADTREE Questo tipo di organizzazione può essere usato per rappresentare i punti solo in due dimensioni. Ogni nodo divide la regione in quattro quadranti: NO (nord - ovest), NE (nord est), SO (sud ovest), SE (sud - est). La struttura di un record di tipo point quadtree è: typedef struct { tipo_informazione INFO; real LAT; real LON; nodo NO; nodo NE; nodo SO; nodo SE; } nodo; i campi NO, NE, SO, SE puntano ai record figli. Dato N, nodo dell'albero di dati, il ramo in cui inserire un nuovo punto M dipende dal confronto tra le coordinate dei punti: M.LAT > N.LAT e M.LON > N.LON NE M.LAT > N.LAT e M.LON < N.LON NO M.LAT < N.LAT e M.LON > N.LON SE M.LAT < N.LAT e M.LON < N.LON SO

35 Inseriamo di nuovo, seguendo le regole di questa struttura dati, i punti dell'esempio ' 12 20' Radice NE NO SE SO ' 13 60' ' 11 30' Livello 1 NE NO SE SO NE NO SE SO ' 16 10' NE NO SE SO Livello 2 Albero point quadtree Inserimento del punto 1: la tabella è vuota: questo record è la radice dell'albero di dati. Inserimento del punto 2: 2.LAT < 1.LAT e 2.LON > 1.LON: il figlio è collegato al campo SE. Inserimento del punto 3: 3.LAT < 1.LAT e 3.LON < 1.LON: il figlio è collegato al campo SO. Inserimento del punto 4: 4.LAT < 1.LAT e 4.LON > 1.LON: passo al nodo collegato al campo SE, che è già occupato (punto 2); 4.LAT < 2.LAT e 4.LON > 2.LON: il figlio è collegato al campo SE del punto 2.

36 Ogni volta che inserisco un nodo nell'albero divido la regione in quattro sottoregioni: il punto 1 la divide in quattro parti (A, B, C, D) con longitudine 12 20' e latitudine 44 50' come discriminanti; il punto 2 divide la sottoregione (D) in altre quattro sottoregioni (E, F, G, H) in base alle sue coordinate; il punto 3 divide invece la sottoregione (C) in quattro sotteregioni (I, L, M, N); il punto 4 divide la sottoregione (H) in quattro sottoregioni (O, P, Q, R). Suddivisione regione Suddivisione regione D

37 Suddivisione regione C Suddivisione regione H Rispetto al 2-D tree ogni nodo divide in quattro parti la regione di appartenenza: questo consente di avere alberi con meno livelli, permettendo un accesso più veloce ai dati; la struttura è più complessa: ho quattro campi puntatori e non solo due come prima.

38 HHCODE Questo tipo di organizzazione dei dati permette di archiviare i dati spaziali mediante la codifica dei dati n-dimensionali con un valore monodimensionale. Ciò è possibile grazie all'introduzione di un nuovo tipo di dato: Helical Hyperspatial CODE (HHCODE). La struttura di un record di tipo HHCODE è: typedef struct { tipo_informazione INFO; real LAT; real LON; hhcode COD; } nodo; Il metodo su cui si basa questa struttura ad albero prevede una decomposizione ricorsiva dello spazio. Una regione bidimensionale viene, ad esempio, suddivisa in quattro quadranti (sottoregioni); ad ognuno di questi viene assegnato un codice da 0 a 3. Per ogni punto della base di dati viene assegnato al campo COD il relativo codice della regione di appartenenza.

39 Se il numero di punti contenuti in una regione è superiore ad un limite prefissato, deciso dal progettista in base al massimo tempo di accesso ai dati che si desidera ottenere, questa viene divisa in altri quattro quadranti; ad ogni quadrante è assegnato un codice da 0 a 3. Il campo COD di questi punti è così a due cifre e aumenta di dimensione all'aumentare delle decomposizioni interne delle sottoregioni. La regione iniziale è stata suddivisa in 4 sottoregioni principali, se ipotizziamo che nelle regioni 1 e 3 la densità dei dati sia superiore al limite di riferimento queste verranno a loro volta ulteriormente suddivise. Nel caso della regione 1 ipotizziamo che si sia necessaria un'ulteriore suddivisione. Il valore assegnato al campo COD varierà in base al livello di profondità delle suddivisioni, quindi per i punti appartenenti alle regioni 0 e 2 avrà una sola cifra, per i punti appartenenti alla regione 3 due cifre, quelli della regione 1 saranno invece caratterizzati da un COD di tre cifre. L'operazione di decomposizione continua finché non si raggiunge il livello di risoluzione dei dati desiderato, aggiungendo ad ogni passaggio una cifra alla stringa che identifica la regione dello spazio.

40 Livello 1 Livello 2 Livello Campo HHCODE in base ai diversi livelli

41 R-TREE L'organizzazione dei dati secondo le regole R-tree è usata per archiviare regioni rettangolari di una mappa. Questo sistema è particolarmente usato nel caso si abbia a che fare con un gran numero di dati perché permette di fare un numero di accessi al disco ridotto: ad ogni nodo è associato un numero intero K (ordine dell'albero) ogni nodo che non sia una foglia contiene da un minimo di K/2 a un massimo K rettangoli (l'unica possibile eccezione è la radice) Quindi ogni ramo può essere al minimo mezzo pieno. In questo modo si evita di incappare nell'eventualità presente nei precedenti metodi di indicizzazione di avere rami dell'albero vuoti. Ogni accesso al disco ritorna una pagina contenente diversi rettangoli. L'altezza dell'albero risulta quindi minore rispetto ai metodi già visti. I dati con cui abbiamo a che fare possono essere gruppi di rettangoli (nodi dell'albero) o rettangoli singoli (foglie dell'albero).

42 La struttura di un record per gli R-Tree è la seguente: typedef struct { tipo_rettangolo RET_1, RET_2,...,RET_K; nodo P_1, P_2,..., P_K; } nodo; Il record tipo_rettangolo dipende dal tipo di rappresentazione che si è scelta per i dati. Quando devo inserire un nuovo rettangolo lo inserisco nel nodo che comporta la più piccola estensione dell'area del gruppo se il gruppo in cui devo inserire il nuovo dato ha già raggiunto il limite K di foglie, aggiungo un livello all'albero dei dati scomponendo il gruppo pieno in altri sottogruppi.

43 Vediamo un esempio di inserimento dati. Supponiamo di avere un R-tree di ordine 3, nel quale siano già stati inseriti i dati riportati nella tabella seguente. GRUPPO G1 G2 AREA A1, A2 A3, A4, A5 G1 G2 A1 A2 A3 A4 A5 Foglie Esempio di albero R-tree

44 Nella figura seguente sono riportati sulla mappa i gruppi G1 e G2 (contorni rossi) e le aree in essi contenute (contorni gialli). Si vuole inserire nella nostra base di dati due nuove aree (A6 e A7, segnate con i contorni in arancione): l'area A6 può essere aggiunta senza problemi al gruppo G1; l'area A7 non può essere aggiunta al gruppo G2 in quanto questo è già pieno. Non si può nemmeno creare un nuovo gruppo con all'interno solo A7 in quanto si è detto che ogni nodo dell'albero deve contenere almeno K/2 foglie. La procedura corretta consiste nel creare un nuovo gruppo G3 contenente sia A7 che A5. Raggruppamenti R-tree Inserimento nuove aree

45 DIVISIONE DELLO SPAZIO MEDIANTE CURVE In questo tipo di approccio lo spazio viene diviso in tante celle quanti sono i punti bidimensionali ai quali si vuole associare una determinata informazione. Ogni cella in cui viene diviso lo spazio può contenere un solo dato. Normalmente viene introdotto anche un parametro, detto risoluzione, che è indicativo della granularità del dominio: ad esempio una curva di risoluzione r viene costruita dividendo lo spazio in 2 2r celle. E' possibile definire una curva monodimensionale passante per tutte le celle e quindi per tutti i punti, ottenendo così una superficie con la caratteristica di avere tutta la sua area ripiena di curve. Seguendo lo sviluppo della curva questa attraversa tutte le celle secondo una determinata sequenza: si stabilisce così un ordine di lettura che può essere utilizzato nella memorizzazione delle celle nella base di dati. L'ordinamento spaziale si ottiene mediante una trasformazione matematica che mappa un numero finito di k celle in un numero finito di k numeri naturali.

46 Se la funzione è opportunamente definita, cioè in modo che celle adiacenti si trovino vicine anche nella successione da questa stabilita, si ottengono dei vantaggi dal punto di vista del tempo di accesso ai dati. Ci sono parecchi modi per ottenere questo effetto, ma le due funzioni più importanti sono: N, o ordine di Peano (Peano, 1890); Π, o ordine di Hilbert (Hilbert, 1891). Entrambe queste curve passano per ogni cella di uno spazio bidimensionale; inoltre i punti che sono confinanti sulla curva, sono generalmente confinanti anche sullo spazio. In questo modo possiamo introdurre una efficiente chiave monodimensionale di numerazione per ogni punto corrispondente alla cella. La costruzione della chiave di Peano è fatta mediante una procedura interfogliante.

47 Ad esempio il codice corrispondente al punto P(6,4), con x = 6 e y = 4 è k=56. P(6,4) x = 6 (in binario ) k = 56 ( ) y = 4 (in binario )

48 LE CURVE DI PEANO DI RISOLUZIONE 1,2,

49 LE CURVE DI HILBERT DI RISOLUZIONE 1,2,

50 LE CURVE U DI RISOLUZIONE 1,2,

51 SISTEMI DI GESTIONE DI BASI DI DATI ORIENTATE AGLI OGGETTI OGGETTI E CLASSI Ogni entità reale è rappresentata da un oggetto. Un oggetto è composto da un insieme di attributi (stato dell oggetto) che lo qualificano da un insieme di metodi (protocollo dell oggetto) che operano sul valore degli attributi. Le procedure implementate per agire sul valore degli attributi sono parte integrante dell oggetto e non appartengono all applicazione che gestisce la base di dati. Parte spaziale e parte statistica del dato vengono trattate allo stesso modo. Oggetti con lo stesso stato e protocollo sono raggruppati in classi. Ogni oggetto appartiene ad una e una sola classe (le classi sono mutualmente esclusive).

52 ESEMPIO: PARTICELLA CATASTALE STATO Proprietario Superficie Elenco Nodi Elenco Archi PROTOCOLLO Partizionamento Accorpamento Overlay Cambio Proprietario AGGIORNAMENTO DI UNA PARTICELLA CATASTALE

53 OGGETTI ED IDENTITÀ In applicazioni in cui il valore degli attributi degli oggetti cambia nel tempo è importante poter identificare in modo univoco ogni oggetto della base di dati; un oggetto ha associato un identificatore unico che gli permette di essere univocamente individuato in modo indipendente dal valore dei suoi attributi. L'identità nel modello orientato agli oggetti è diversa da quella realizzata nel modello relazionale con il meccanismo della chiave: in questo caso ogni record è associato ad un insieme di attributi i cui valori lo identificano in modo univoco. es: Una particella catastale cambia nel tempo. Eventi come il passaggio di proprietà e il cambiamento di indirizzo determinano un cambiamento di valore per i rispettivi attributi. Eventi più complessi come il partizionamento o l'accorpamento agiscono più a stretto contatto con l'identificatore di identità: nel primo caso, viene creata una nuova particella e quindi deve essere inizializzato un nuovo identificatore, nel secondo caso una particella esistente viene eliminata e quindi il suo identificatore deve essere cancellato e devono essere modificati il valore di attributi come la superficie e l'indirizzo della particella rimanente. OGGETTI COMPLESSI

54 Con il meccanismo degli oggetti complessi si realizza il potere espressivo del modello orientato agli oggetti. Nel modello relazionale un attributo può assumere un unico valore appartenente a un dominio di tipo primitivo come i numeri interi o reali e le stringhe alfanumeriche. Nel modello orientato agli oggetti il valore di un attributo è un oggetto o un insieme di oggetti appartenenti a classi della base di dati; in questo modo è possibile modellare situazioni complesse come gli attributi multivalore e quelli a valore non primitivo. La relazione tra l'attributo di un oggetto e la classe a cui appartiene l'oggetto valore dà origine ad una gerarchia tra le classi denominata gerarchia di composizione.

55 ESEMPIO DI RELAZIONE DI COMPOSIZIONE FRA CLASSI DI UNA BASE DI DATI. Un oggetto Particella Catastale ha un attributo Elenco_Nodi che rappresenta l'insieme dei punti che identificano il poligono associato alla forma geometrica della particella. Il suo valore è quindi un insieme (indicato dall'asterisco sulla freccia congiungente le due classi) di oggetti della classe Punto. PARTICELLA CATASTALE PUNTO COORDINATA PROPRIETARIO ELENCO_NODI * LATITUDINE LONGITUDINE GRADI PRIMI SUPERFICIE SECONDI

56 EREDITARIETÀ Riuso: è la possibilità di riutilizzare classi precedentemente formalizzate - le superclassi - per definire nuove classi - le sottoclassi - che ereditano dalle precedenti attributi e metodi. Estensibilità: è la possibilità di estendere la descrizione delle sottoclassi definendo nuovi attributi, che formalizzano meglio le caratteristiche della nuova classe e nuovi metodi che gestiscono il valore dei nuovi attributi. Nel contesto di una sottoclasse è anche possibile ridefinire l implementazione dei metodi ereditati per renderli più efficienti in relazione alle nuove caratteristiche della classe.

57 es: la superclasse Poligono è definita da tre attributi (Lista_Nodi, Lista_Archi, Area) e da tre metodi per gestire il loro valore (Calc_Centr, Disegna, Overlay). Una particella catastale è geometricamente descritta da un poligono e quindi può essere definita come sottoclasse della classe già esistente Poligono. La sottoclasse Particella Catastale eredita tutti gli attributi e i metodi dalla classe Poligono; inoltre, localmente si definiscono tre nuovi attributi che caratterizzano più in dettaglio una Particella catastale (Valore, Proprietario, Indirizzo) e due metodi per gestire il loro valore (Cambio_Prop, Cambio_Ind).

GESTIONE della BASE di DATI

GESTIONE della BASE di DATI GESTIONE della SE di DTI I dati sono una componente fondamentale di un GIS Devono essere valutati con attenzione gli strumenti usati per: creare l archivio dei dati manipolare le informazioni contenute

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

Dettagli

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

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

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

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

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

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

DATABASE. A cura di Massimiliano Buschi

DATABASE. A cura di Massimiliano Buschi DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

Dettagli

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 LEZIONE 23: Indicizzazione Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees Informatica 3 Lezione 23 - Modulo 1 Indicizzazione lineare, ISAM e

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

LA NORMALIZZAZIONE. Introduzione

LA NORMALIZZAZIONE. Introduzione LA NORMALIZZAZIONE Introduzione La normalizzazione e' una tecnica di progettazione dei database, mediante la quale si elimina la rindondanza dei dati al fine di evitare anomalie nella loro consistenza

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

disponibili nel pacchetto software.

disponibili nel pacchetto software. Modulo syllabus 4 00 000 00 0 000 000 0 Modulo syllabus 4 DATABASE 00 000 00 0 000 000 0 Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database

Dettagli

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26 Indice L attività di recupero 6 Funzioni Teoria in sintesi 0 Obiettivo Ricerca del dominio e del codominio di funzioni note Obiettivo Ricerca del dominio di funzioni algebriche; scrittura del dominio Obiettivo

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

LA GRAFICA E LA GEOMETRIA OPERATIVA

LA GRAFICA E LA GEOMETRIA OPERATIVA LA GRAFICA E LA GEOMETRIA OPERATIVA La geometria operativa, contrariamente a quella descrittiva basata sulle regole per la rappresentazione delle forme geometriche, prende in considerazione lo spazio racchiuso

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Sistemi Informativi Territoriali. Map Algebra

Sistemi Informativi Territoriali. Map Algebra Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

5.6.1 REPORT, ESPORTAZIONE DI DATI

5.6.1 REPORT, ESPORTAZIONE DI DATI 5.6 STAMPA In alcune circostanze può essere necessario riprodurre su carta i dati di tabelle o il risultato di ricerche; altre volte, invece, occorre esportare il risultato di una ricerca, o i dati memorizzati

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Creare diagrammi di Gantt con Visio 2003

Creare diagrammi di Gantt con Visio 2003 Creare diagrammi di Gantt con Visio 2003 La fase di pianificazione di un progetto è sicuramente molto delicata e alquanto complessa, in quanto bisogna riuscire a definire una scomposizione del progetto

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Manuale di realizzazione dei modelli di documento

Manuale di realizzazione dei modelli di documento MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2

Dettagli

SPECIFICHE E LIMITI DI EXCEL

SPECIFICHE E LIMITI DI EXCEL SPECIFICHE E LIMITI DI EXCEL Un "FOGLIO DI CALCOLO" è un oggetto di un programma per computer costituito da un insieme di celle, organizzate in righe e colonne, atte a memorizzare dati ed effettuare operazioni

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

IGiochidiArchimede-SoluzioniBiennio 22 novembre 2006

IGiochidiArchimede-SoluzioniBiennio 22 novembre 2006 PROGETTO OLIMPII I MTEMTI U.M.I. UNIONE MTEMTI ITLIN SUOL NORMLE SUPERIORE IGiochidirchimede-Soluzioniiennio novembre 006 Griglia delle risposte corrette Problema Risposta corretta E 4 5 6 7 8 9 E 0 Problema

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

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

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

Dettagli

EasyPrint v4.15. Gadget e calendari. Manuale Utente

EasyPrint v4.15. Gadget e calendari. Manuale Utente EasyPrint v4.15 Gadget e calendari Manuale Utente Lo strumento di impaginazione gadget e calendari consiste in una nuova funzione del software da banco EasyPrint 4 che permette di ordinare in maniera semplice

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Kangourou della Matematica 2014 finale nazionale italiana Mirabilandia, 12 maggio 2014

Kangourou della Matematica 2014 finale nazionale italiana Mirabilandia, 12 maggio 2014 Kangourou della Matematica 2014 finale nazionale italiana Mirabilandia, 12 maggio 2014 LIVELLO STUDENT K,M N CD BC A S1. (5 punti ) In figura si vede una circonferenza della quale i segmenti AB, BC e CD

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale Basi di Dati Conversione Modello ER in Modello Relazionale Il Modello Relazionale che rappresenta la realtà di interesse può essere ricavato direttamente dal Modello ER attraverso una sequenza di operazioni

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Spiegazione Open Interest Storico:

Spiegazione Open Interest Storico: Spiegazione Open Interest Storico: Ogni volta che viene scaricata la chain delle opzioni, tutti i dati ottenuti vengono memorizzati anche nel database storico, che comprende quindi sia i valori degli Open

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Android. Implementare una interfaccia utente

Android. Implementare una interfaccia utente Android Implementare una interfaccia utente Introduzione In questa lezione vedremo come implementare una interfaccia utente sullo schermo di Android. Vedremo gli elementi di base visualizzabili sullo schermo

Dettagli

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Dettagli

Gestione dei servizi all utenza. 3. Autorizzazioni

Gestione dei servizi all utenza. 3. Autorizzazioni Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni bibliografiche Manuali utente per SBN WEB Gestione dei servizi all utenza 3. Autorizzazioni 1 2 1. Introduzione

Dettagli