INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso
|
|
- Emilio Campo
- 7 anni fa
- Visualizzazioni
Transcript
1 INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo una funzione di hash. Indici: strutture ausiliarie di accesso Usati per velocizzare l accesso dei record in risposta a determinate condizioni di ricerca Forniscono percorsi di accesso secondari, che offrono metodi alternativi per accedere ai record senza influenzarne la posizione fisica Campi di indicizzazione: vengono utilizzati per costruire un indice Su uno stesso file possono essere costruiti più indici su campi differenti
2 3 Tipi di indici Indici ordinati a un solo livello Indici primari Indici di cluster Indici secondari Indici a più livelli (strutture di dati ad albero) Indici hash Indici bitmap Inoltre: Indice denso: contiene una voce per ogni valore della chiave di ricerca Indice sparso (non denso): contiene voci solo per alcuni valori di ricerca 4 Indici ordinati a un solo livello (1) L idea è simile a quella che sta alla base dell indice analitico di un libro di testo: riporta in ordine alfabetico concetti/ parole fondamentali con l indicazione del numero di pagina in cui compaiono La struttura di accesso a indice è costruita su un campo (campo di indicizzazione) L indice memorizza ogni valore del campo di indicizzazione corredandolo di un elenco di puntatori a tutti i blocchi del disco che contengono un record con quel valore del campo I valori dell indice sono ordinati in modo che si possa fare una ricerca binaria Il file indice è molto più piccolo rispetto al file di dati
3 5 Indice primario Un indice primario è un file ordinato i cui record sono di lunghezza fissa e sono costituiti da due campi Il primo campo: è dello stesso tipo del campo chiave di ordinamento (chiave primaria) Il secondo campo: è un puntatore a un blocco del disco (un indirizzo di blocco) Nel file dell indice esiste una voce per ogni blocco del file di dati. Ogni voce <K(i), P(i)> dove: K(i) è il valore del campo della chiave primaria del primo record del blocco i P(i) è il puntatore al blocco i 6 Lo schema NOME è chiave primaria
4 7 Lo schema 8 Considerazioni su indici primari Il numero di voci dell indice è uguale al numero di blocchi su disco nel file di dati ordinato Il primo record di ciascun blocco è detto record àncora In genere è un indice sparso Un file indice occupa meno blocchi rispetto al file dati: 1. vi sono meno voci dell indice che record nel file dati 2. ogni voce è di dimensione inferiore rispetto a un record (ha solo due campi) Quindi un blocco su disco può contenere più voci dell indice che record del file dati Quindi una ricerca sull indice richiede meno accessi al blocco rispetto a una ricerca binaria su file dati
5 9 Costo di ricerca Ricerca binaria su file di dati ordinato richiede log 2 b accessi a blocco Se il file dell indice primario contiene b i blocchi, la localizzazione di un record richiede: 1. ricerca binaria nel file dell indice 2. accesso al blocco che contiene il record Quindi richiede log 2 b i + 1 accessi a blocco Un record il cui valore della chiave primaria è K si trova nel blocco il cui indirizzo è P(i) la che K(i) K < K(i + 1) 10 Esempio 1 File ordinato con r = record Dimensioni dei blocchi su disco B = 1024 byte I record hanno dimensione fissa e sono indivisibili, lunghezza R = 100 byte Il fattore di blocco è bfr = "(B/R) "= "(1024/100) "= 10 record per blocco Numero blocchi necessari b = (r/bfr) "= (30000/10) "= 3000 blocchi Una ricerca binaria su file dati richiede circa log 2 b "= log "= 12 accessi ai blocchi
6 11 Esempio 1 con indice primario Si supponga che il campo della chiave di ordinamento del file sia lungo V = 9 byte e che un puntatore sia lungo P = 6 byte Indice primario per il file: dimensione di ogni voce R i = (9+6) = 15 byte bfr i = "(B/R i ) "= "(1024/15) "= 68 numero totale delle voci è uguale al numero di blocchi del file dati r i = 3000 Numero di blocchi dell indice b i = (r i /bfr i ) "= (3000/68) "= 45 blocchi Per una ricerca binaria sull indice log 2 b i "= log 2 45 "= 6 accessi ai blocchi Per cercare un record quindi 6+1=7 accessi ai blocchi 12 Problemi con gli indici primari Come per qualsiasi file ordinato il problema è nell inserimento e nell eliminazione dei record Non solo bisogna spostare i record nel file di dati, ma anche cambiare le voci dell indice Si può usare un file di overflow non ordinato
7 13 Indice di cluster Se i record di un file sono ordinati fisicamente rispetto a un campo che non è chiave, quel campo è chiamato campo di raggruppamento (clustering) E possibile creare un indice apposito: indice di clustering Le voci del file indice di cluster hanno la stessa struttura di quelle dell indice primario C è una voce per ogni valore distinto del campo di raggruppamento, questa contiene: 1. Il valore del campo 2. Un puntatore al primo blocco che contiene un record con quel valore del campo di raggruppamento 14 Lo schema
8 15 Lo schema 16 Considerazioni su indici di cluster C è lo stesso problema (dell indice primario) per inserimento e cancellazione Una possibile soluzione è riservare un intero blocco per ciascun valore del campo di raggruppamento È un indice sparso
9 17 Un altro schema (migliorato) L indice di cluster usa un blocco separato per ciascun gruppo di record che condividono lo stesso valore del campo di raggruppamento. Un altro schema (completo) 18
10 19 Indici secondari Un indice secondario fornisce un ulteriore strumento di accesso a un file per cui esiste già un accesso primario L indice è un file ordinato con due campi: 1. Il primo campo è dello stesso tipo di dati di un campo di file di dati (che non viene utilizzato per effettuare l ordinamento del file di dati) chiamato campo di indicizzazione 2. Il secondo campo è un puntatore a un blocco oppure un puntatore a un record Per uno stesso file di dati possono essere creati numerosi indici secondari 20 Indice secondario su campo chiave Indice costruito su un campo che ha un valore distinto per ciascun record: chiave secondaria C è un unica voce nell indice per ogni record del file di dati e questa contiene: Il valore del campo del record Un puntatore al blocco in cui il record è memorizzato È un indice denso Ogni voce è <K(i), P(i)> Le voci sono ordinate in base al valore K(i)
11 21 Lo schema Un indice secondario denso (con puntatori ai blocchi) su un campo chiave sul quale non è stato effettuato un ordinamento del file. Lo schema (completo) 22
12 23 Considerazioni sugli indici secondari Di solito un indice secondario ha bisogno di più spazio e di un tempo di ricerca maggiore rispetto a un indice primario Il miglioramento nel tempo di ricerca di un singolo record è decisamente maggiore per un indice secondario (l alternativa sarebbe una ricerca lineare su tutto il file di dati) 24 Esempio 2 File ordinato con r = record Dimensioni dei blocchi su disco B = 1024 byte I record hanno dimensione fissa e sono indivisibili, lunghezza R = 100 byte Il fattore di blocco è bfr = "(B/R) "= "(1024/100) "= 10 record per blocco Numero blocchi necessari b = (r/bfr) "= (30000/10) "= 3000 blocchi Una ricerca lineare sul file richiederebbe in media b/2 = 3000/2 = 1500 accessi a blocco
13 25 Esempio 2 con indice secondario Si supponga che un campo chiave (su cui costruire indice secondario) del file sia lungo V = 9 byte e che un puntatore sia lungo P = 6 byte Indice secondario per il file: dimensione di ogni voce R i = (9+6) = 15 byte bfr i = "(B/R i ) "= "(1024/15) "= 68 voci per blocco numero totale delle voci è uguale al numero di record del file dati r i = Numero di blocchi dell indice b i = (r i /bfr i ) "= (30000/68) "= 442 blocchi Per una ricerca binaria sull indice log 2 b i "= log "= 9 accessi ai blocchi Per cercare un record quindi 9+1=10 accessi ai blocchi 26 Indice secondario su campo non chiave In questo caso, numerosi record nel file di dati possono avere lo stesso valore del campo di indicizzazione Vi sono varie tecniche per realizzare un indice di questo tipo: 1. Inserire più voci di indice con lo stesso valore di K(i) uno per ciascun record (indice denso) 2. Usare record di lunghezza variabile per le voci dell indice con un campo ricorrente per il puntatore. Nella voce viene tenuta una lista di puntatori a ciascun blocco che ospita un record il cui valore del campo corrisponde a K(i) della voce 3. Voci a lunghezza fissa. Una voce per ciascun valore del campo di indicizzazione, ma creare un ulteriore livello di gestione e accesso ai puntatori multipli (indice sparso). In questo schema ogni puntatore P(i) fa riferimento a un blocco di puntatori ai record
14 27 Lo schema 3 Un indice secondario (con puntatori a record) su un campo non chiave realizzato usando una struttura dati con un ulteriore livello di gestione e accesso in modo che le voci dell indice siano di lunghezza fissa e abbiano valori di campo univoci. Lo schema 3 (completo) 28
15 29 In sintesi 30 In sintesi
16 31 Indici a più di un livello (1) L idea alla base è di ridurre a ogni passo la parte dell indice in cui si continua a cercare di un fattore bfr i (il fattore di blocco dell indice che è maggiore di 2) Lo spazio di ricerca viene ridotto più velocemente bfr i è chiamato fan-out (fo) dell indice multilivello Nota: nella ricerca binaria lo spazio di ricerca viene diviso in due metà a ogni passo, usando l indice multilivello esso viene diviso in fo parti ad ogni passo La ricerca richiede approssimativamente (log fo b i ) accessi ai blocchi 32 Indici a più di un livello (2) Un indice multilivello considera il file dell indice (così come visto finora) come un indice di primo livello di un indice multilivello, come un file ordinato con un valore distinto per ogni K(i) È possibile creare un indice primario per l indice di primo livello: questo è detto secondo livello dell indice multilivello Poiché il secondo livello è un indice primario, si possono utilizzare i punti àncora dei blocchi in modo che il secondo livello contenga una voce per ciascun blocco del primo livello Il bfr i per il secondo livello (e per i successivi) è lo stesso dell indice di primo livello perché tutte le voci hanno la stessa dimensione
17 33 Indici a più di un livello (3) Si può ripetere il procedimento per il secondo livello, creando un terzo livello Il secondo livello è richiesto solo se il primo necessita di più di un blocco di disco Si può ripetere finché tutte le voci di un livello t dell indice possono essere contenute in un singolo blocco Ogni livello riduce il numero di voci del livello precedente di un fattore fo Un indice multilivello con r 1 voci del primo livello avrà approssimativamente t = (log fo (r i )) " 34 Lo schema Indice primario a due livelli simile all organizzazione ISAM (indexed sequential access method, metodo di accesso sequenziale indicizzato).
18 35 Lo schema (completo) 36 Costo per la ricerca Quando si esegue una ricerca sull indice viene reperito un singolo blocco del disco ad ogni livello Per una ricerca sull indice multilivello vengono acceduti t blocchi del disco (dove t è il numero dei livelli dell indice)
19 37 Esempio 3 con indice multilivello Si supponga di trasformare l indice dell esempio 2 in indice multivello, quindi: dimensione di ogni voce R i = (9+6) = 15 byte bfr i = "(B/R i ) "= "(1024/15) "= 68 voci per blocco (fo, fan-out) numero totale delle voci è uguale al numero di record del file dati r i = Numero di blocchi primo livello b 1 = (r 1 /fo) "= (30000/68) "= 442 blocchi Secondo livello b 2 = (b 1 /fo) "= (442/68) "= 7 blocchi Terzo livello b 3 = (b 2 /fo) "= (7/68) "= 1 blocchi Quindi t = 3 Per accedere a un record eseguendo una ricerca nell indice multilivello si accede ai vari livelli più il blocco nel file di dati: t + 1 = = 4 accessi ai blocchi Indici dinamici multilivello implementati con alberi Struttura di dati ad albero che mostra un albero non bilanciato. 38
20 39 Alberi di ricerca (1) Un albero di ricerca di ordine p è un albero tale che ogni suo nodo contiene al massimo p-1 valori di ricerca e i p puntatori sono nell ordine <P 1, K 1, P 2, K 2,,P q-1, K q-1, P q > in cui q p; ogni P i è un puntatore a un nodo figlio (oppure è un puntatore vuoto) e ogni K i è un valore di ricerca preso da un insieme ordinato di valori. Si suppone che tutti i valori di ricerca siano univoci Nodo di un albero di ricerca con i puntatori ai sottoalberi a cui fa riferimento: 40 Alberi di ricerca (2) Devono essere sempre rispettati due vincoli: All interno di ciascun nodo K 1 < K 2 < < K q-1 ; Per tutti i valori di X del sottoalbero ai quali si fa riferimento da P i, si ha: K i-1 < X < K i per 1 < i < q X < K i per i = 1 K i-1 < X per i = q Si può usare un albero di ricerca come meccanismo per ricercare i record immagazzinati in un file su disco I valori dell albero possono essere i valori di uno dei campi del file chiamato campo di ricerca
21 41 Alberi di ricerca (3) Ogni valore chiave dell albero è associato a un puntatore al record nel file di dati (oppure può puntare al blocco del disco che contiene quel record) L albero può essere memorizzato su disco assegnando ogni nodo dell albero a un blocco del disco 42 Esempio: albero di ricerca di ordine p=3
22 43 Alberi B Le strutture dell albero B. (a) Un nodo di un albero B con (q-1) valori di ricerca. (b) Un albero B di ordine p=3. I valori sono stati inseriti nell ordine 8, 5, 1, 7, 3, 12, 9, Alberi B + Nodi di un albero B+. (a) Un nodo interno di un albero B+ con q-1 valori di ricerca. (b) Un nodo foglia di un albero B+ con q-1 valori di ricerca e q-1 puntatori ai dati.
23 45 Alberi B +. Esempio di sequenza di inserimento. Esempio di inserimento in un albero B+ con p=3 e p foglia =2. 46 Indici hash È una struttura secondaria per accedere al file usando l hash su una chiave di ricerca diversa da quella utilizzata per l organizzazione primaria del file di dati Esempio: la funzione di hash (il numero di bucket) è calcolata facendo la somma delle cifre di ID_IMP mod 10
24 Esempio 47
5. Strutture di indici per file
5. Strutture di indici per file I file hanno un'organizzazione primaria, ossia possono essere organizzati su disco in maniera ordinata, non ordinata, oppure a hash. Per velocizzare le operazioni di reperimento
DettagliIndici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2
INDICI MULTILIVELLO DINAMICI Indici multilivello dinamici (B-alberi e B + -alberi) Gli indici multilivello dinamici (B-alberi e B + -alberi) sono casi speciali di strutture ad albero. Un albero è formato
DettagliStrutture di accesso ai dati: B + -tree
Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere
DettagliFILE E INDICI Architettura DBMS
FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le
DettagliORDINE DI INSERIMENTO DELLE CHIAVI <35 >35
LIBRERIA WEB Alberi binari 3. Alberi binari e tecniche di hashing per la gestione delle chiavi Gli indici di un file possono essere trattati in modo efficiente con tecniche che si basano sull uso di alberi
DettagliStrutture fisiche di accesso
Strutture fisiche di accesso Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio 1 Siano date le seguenti informazioni: B=4096 bytes la dimensione di un blocco H=12 bytes la dimensione
DettagliIl file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
DettagliBasi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliProgettazione Fisica FILE
Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header
DettagliIl file È un insieme di informazioni: programmi. Il File System. Il file system
Il File System Il file È un insieme di informazioni: programmi d a t i testi rappresentati come insieme di record logici (bit, byte, linee, record, etc.) Ogni file è individuato da (almeno) un nome simbolico
DettagliAlgoritmi e Strutture Dati
Alberi AVL Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 26/7 Alberi AVL Definizione (bilanciamento in altezza): un albero è bilanciato
DettagliTRIE (albero digitale di ricerca)
TRIE (albero digitale di ricerca) Struttura dati impiegata per memorizzare un insieme S di n stringhe (il vocabolario V). Tabelle hash le operazioni di dizionario hanno costo O(m) al caso medio per una
DettagliI B+ Alberi. Sommario
I B+ Alberi R. Basili (Basi di Dati, a.a. 2002-3) Sommario Indici organizzati secondo B + -alberi Motivazioni ed Esempio Definizione Ricerca in un B + -albero Esempio Vantaggi Inserimento/Cancellazione
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
DettagliLE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve
LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione
DettagliPag Politecnico di Torino 1
Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliAlberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
DettagliIndici ad albero. Albero Binario di Ricerca
Indici ad albero Ogni nodo contiene una sequenza di valori ed un insieme di puntatori ai nodi successivi. I valori sono le chiavi di ricerca dell indice N.B. In strutture fisiche ogni nodo corrisponde
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliEsercizi Capitolo 7 - Hash
Esercizi Capitolo 7 - Hash Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive
DettagliAlberi ed Alberi Binari
Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,
DettagliSistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma
Sistemi di alcolo (.. 2014-2015) orso di Laurea in Ingegneria Informatica e utomatica Sapienza Università di Roma Esercizi riepilogativi sulla seconda parte del Modulo I Memoria virtuale omanda 1 La memoria
DettagliEsercizio 10.1 Soluzione
Esercizio 10.1 Calcolare il fattore di blocco e il numero di blocchi occupati da una relazione con T = 1000000) di tuple di lunghezza fissa pari a L = 200 byte in un sistema con blocchi di dimensione pari
DettagliInformatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno
Informatica 3 LEZIONE 20: Ordinamento esterno Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Informatica 3 Lezione 20 - Modulo 1 Organizzazione della memoria Introduzione Dati in
DettagliIntroduzione Definizioni
Informatica 3 Informatica 3 LEZIONE 20: Ordinamento esterno Lezione 20 - Modulo 1 Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno Organizzazione della memoria Politecnico di Milano
DettagliArchitettura degli elaboratori Docente:
Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File
DettagliParte 6 Esercitazione sull accesso ai file
Gestione dei dati Parte 6 Esercitazione sull accesso ai file Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/
DettagliAlgoritmi e Strutture Dati. HeapSort
Algoritmi e Strutture Dati HeapSort Selection Sort: intuizioni L algoritmo Selection-Sort scandisce tutti gli elementi dell array a partire dall ultimo elemento fino all inizio e ad ogni iterazione: Viene
DettagliPROGETTAZIONE FISICA
PROGETTAZIONE FISICA Memorizzazione su disco, organizzazione di file e tecniche hash 2 Introduzione La collezione di dati che costituisce una BDD deve essere fisicamente organizzata su qualche supporto
DettagliRipasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3
ECDL - Database Ripasso European Computer Driving Licence - Modulo 5 - Database LEZIONE 3 Ripasso Cosa sono le relazioni? Come si gestiscono le relazioni in Access? Cosa si intende per query? Come interroghiamo
DettagliProva d Esame Compito A
Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private static int counter=0; private int code; public
DettagliCORSO ACCESS PARTE IV
Creazione di un database / gestione tabelle Per creare un nuovo database Menu File Selezionare Nuovo Scegliere Database vuoto nella scheda Generale e confermare con Ok Impostare il nome e il percorso nella
DettagliINTRODUZIONE ALLE BASI DATI RELAZIONALI
INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE
DettagliIl software: Istruzioni per il computer
Il software: Istruzioni per il computer Software applicativo aiuta a svolgere operazioni utili in vari campi programmi di videoscrittura, fogli elettronici, videogiochi Software di sistema permette l utilizzo
Dettagli3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.
3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,
DettagliMassimo Benerecetti Tabelle Hash: gestione delle collisioni
Massimo Benerecetti Tabelle Hash: gestione delle collisioni # Lezione n. Parole chiave: Corso di Laurea: Informatica Insegnamento: Algoritmi e Strutture Dati I Email Docente: bene@na.infn.it A.A. 2009-2010
DettagliLa codifica di sorgente
Tecn_prog_sist_inform Gerboni Roberta è la rappresentazione efficiente dei dati generati da una sorgente discreta al fine poi di trasmetterli su di un opportuno canale privo di rumore. La codifica di canale
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliGestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi
Fondamenti di Informatica T-1 modulo 2 Laboratorio 10: preparazione alla prova d esame 1 Esercizio 1 - Gestione degli impegni Gli impegni giornalieri dei dipendenti di un azienda devono essere aggiornati
DettagliDefinire una chiave primaria. Microsoft Access. Definire una chiave primaria. Definire una chiave primaria. Definire una chiave primaria
Microsoft Access Chiavi, struttura delle tabelle 1. Portare la tabella in Visualizzazione struttura Selezionare la tabella sulla quale si desidera intervenire nella finestra del database Poi: Fare clic
DettagliOrdinamenti per confronto: albero di decisione
Ordinamenti per confronto: albero di decisione Albero di decisione = rappresentazione grafica di tutte le possibili sequenze di confronti eseguite da un algoritmo assegnato di ordinamento per confronto
DettagliBasi di Dati Complementi Esercizi. Esercizi su strutture fisiche di accesso. Soluzione Esercizio 1. Esercizio 1. Soluzione Esercizio 2.
Basi di Dati Complementi Esercizi Esercizi su strutture fisiche di accesso Esercizio Soluzione Esercizio Siano date le seguenti informaizni: B=4096 bytes la dimensione di un blocco = bytes la dimensione
DettagliSistema Operativo (Software di base)
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliC3 IL DBMS MICROSOFT ACCESS
C3 IL DBMS MICROSOFT ACCESS 1 GERARCHIE OBBLIGATORIE Nella progettazione di una base di dati abbiamo moltissimi gradi di libertà ma anche alcune regole rigide che siamo costretti a rispettare. Il primo
DettagliEsercizi di programmazione in linguaggio C English Dictionary
Esercizi di programmazione in linguaggio C English Dictionary Il file di testo wordnet.txt contiene un certo numero di parole (word) e il corrispondente significato (meaning) secondo il seguente formato:
DettagliAltri 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
DettagliFormazione a Supporto dell Inserimento Lavorativo. Elementi di Word avanzato. Docente Franchini Gloria
Formazione a Supporto dell Inserimento Lavorativo Elementi di Word avanzato Docente Franchini Gloria Impostare i punti di tabulazione Sul righello sono impostati vari punti di Tabulazione. Esistono cinque
DettagliRelazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio
Relazioni e tabelle Introduzione alle Basi di Dati Relazionali Nelle Basi di Dati relazionali le informazioni sono organizzate in tabelle Le tabelle sono rappresentate mediante griglie suddivise in colonne
DettagliFile System. Capitolo 13
Capitolo 13 File System Problema 1: Le copie di un file possono essere inconsistenti, quindi per sbaglio si potrebbero leggere dati vecchi. È meglio creare un link a data nella home di ogni utente. Tuttavia,
DettagliIl Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliCORSO ACCESS 2000 PARTE VI
Le Query Le Query selezionano dati, da una o più tabelle in un database, che soddisfano determinati requisiti e visualizzano i risultati in un foglio dati. I dati richiesti vengono visualizzati in un recordset
DettagliEsempio: rappresentare gli insiemi
Esempio: rappresentare gli insiemi Problema: rappresentare gli insiemi Vedremo che la scelta della rappresentazione per implementarli non è così ovvia come era stato per i numeri razionali In realtà ci
DettagliTABELLE RECORD E CAMPI
ACCESS TABELLE RECORD E CAMPI TABELLE: COSTITUISCONO L ELEMENTO PRIMARIO DI OGNI DATABASE, OSSIA L ARCHIVIO IN CUI INSERITI I DATI RELATIVI A UNO SPECIFICO ARGOMENTO. QUERY: ÈUN INTERROGAZIONECHEPERMETTEDIESEGUIRERICERCHEEDESTRAPOLAZIONISUI
DettagliADT Dizionario. Ordered search table. Supponiamo che sia definita una relazione d'ordine totale sulle chiavi del dizionario D:
Ordered search table Supponiamo che sia definita una relazione d'ordine totale sulle chiavi del dizionario D: possiamo memorizzare le entrate di D in un array list S in ordine non decrescente di chiavi:
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 7 Tabelle hash Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Implementazioni Dizionario Tempo richiesto dall operazione più costosa: -Liste - Alberi di ricerca
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
DettagliLe Memorie. Si distinguono per: Supporti sui quali le informazioni vengono fisicamente memorizzate.
Le Memorie Supporti sui quali le informazioni vengono fisicamente memorizzate. Si distinguono per: Velocità Costo per bit Tipo di accesso Accesso a byte o blocchi di byte Volatilità Parte I 15 Due Tipi
DettagliL INTERFACCIA GRAFICA DI EXCEL
Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella
DettagliUn esempio: l ADT Dizionario (mutabile) Definizione. Alberi binari di ricerca (BST = binary search tree) search(chiave k) -> elem
Un esempio: l ADT Dizionario (mutabile) Algoritmi e Laboratorio a.a. 2006-07 Lezioni Gli alberi di ricerca sono usati per realizzare in modo efficiente il tipo di dato astratto dizionario Parte 19-D Alberi
DettagliMS Access: Tutorial Tabelle, Relazioni
Università Magna Graecia di Catanzaro Informatica MS Access: Tutorial Tabelle, Relazioni Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Microsoft Access Tutorial Tabelle,
DettagliIn sintesi ad ogni professionista è richiesta la comunicazione del cronoprogramma relativo ai propri progetti
Monitoraggio dei tempi stimati per il deposito delle istanze di contributo Accordo tra Commissario Delegato e Ordini e Collegi professionali Al fine di dare seguito alle numerose richieste di proroga della
DettagliWORD PROCESSING.
WORD PROCESSING www.diego72.altervista.org CREARE IN SERIE LETTERE ED ETICHETTE La Creazione guidata Stampa unione è presente nella scheda Lettere consente di creare lettere tipo, etichette per indirizzi,
DettagliLa codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
DettagliCorso di Informatica. Access. Struttura tabella. Tabelle - esempi 11/01/2008
Corso di Informatica Ing. Dario Sguassero Access Accessè un programma specializzato nella gestione dei database Un database è una raccolta di informazioni organizzate Un database di Access è costituito
DettagliFile e Indici. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
File e Indici 1 File Dati di un DBMS memorizzati come record Un file è una collezione di record Organizzazione del file: metodo per registrare un file su un dispositivo di memorizzazione esterno Un record
DettagliInformatica 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<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliArchitettura dei calcolatori e sistemi operativi. Sottoprogrammi e MIPS. Espressioni algebriche. Capitolo 2 P&H
Architettura dei calcolatori e sistemi operativi Sottoprogrammi e MIPS Espressioni algebriche Capitolo 2 P&H Sottoprogrammi Modello di chiamata Area di attivazione Calcolare un espressione algebrica 2
DettagliAlberi Binari di Ricerca
Alberi Binari di Ricerca Prof. G. M. Farinella gfarinella@dmi.unict.it www.dmi.unict.it/farinella Riferimenti Bibliografici Cormen T.H., Leiserson C.E., Rivest R.L Introduction to Algorithms, Third Edition,
DettagliProblemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
DettagliAlberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.
Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Frodo Dudo Daisy Alberi Gli alberi sono una generalizzazione
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
DettagliTracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni
Algoritmi e Strutture Dati Tracce 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni int freq(list &L, int k): restituisce il numero di occorrenze dei multipli
DettagliAlberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
Dettagli2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.
Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere
DettagliProgrammazione dinamica
Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione
DettagliFile: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:
File System File: definizione Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da: Dimensione Posizione Accessibilità (solo lettura, lettura e scrittura) Tipo (estensione)
DettagliWeek #9 Assessment. Practice makes perfect... November 23, 2016
Week #9 Assessment Practice makes perfect... November 23, 2016 Esercizio 1 Un azienda di trasporto deve caricare m camion {1,..., m} in modo da servire giornalmente un dato insieme di clienti. Nei camion
DettagliUtilizzo degli indici nei DBMS relazionali
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Relazione per il corso di Basi di dati II Prof. Lucio Sansone Utilizzo degli indici nei DBMS relazionali Giuseppe Di Luca - Matr. 885-326
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliAccess. P a r t e t e r z a
Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,
DettagliFondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliLa codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
DettagliAlberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliDefinizione di file. Directory e file File binari e file di testo
I/O Avanzato e File Definizione di file Directory e file File binari e file di testo 5 Definizione di file Directory e file Tutti i sistemi operativi permettono di organizzare le informazioni su hard disk
DettagliCODIFICARE I PRODOTTI
CODIFICARE I PRODOTTI I documenti ricevuti ed emessi contengono i prodotti o servizi commercializzati dall attività (detti genericamente articoli). Per codificare un nuovo prodotto o servizio si può procedere
DettagliI Tipi di Dato Astratto
I Tipi di Dato Astratto Sommario Cosa sono le Strutture Dati Astratte? Le strutture dati Le operazioni Come scegliere fra varie implementazioni? Quale è la questione? Come organizzare (strutturare) i dati
DettagliEsercitazione 6. Alberi binari di ricerca
Esercitazione 6 Alberi binari di ricerca Struttura base Rappresentabile attraverso una struttura dati concatenata in cui ogni nodo è un oggetto di tipo struttura Ogni nodo contiene: campo chiave (key)
DettagliIntelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011
Intelligenza Artificiale Clustering Francesco Uliana 14 gennaio 2011 Definizione Il Clustering o analisi dei cluster (dal termine inglese cluster analysis) è un insieme di tecniche di analisi multivariata
DettagliProgrammazione Funzionale
1/11 Programmazione Funzionale Esercizi in preparazione dell esame Davide Mottin - Themis Palpanas May 28, 2014 Svolgimento d esame Inferire il tipo di un espressione Esercizi sul lambda-calcolo Esercizi
DettagliDipartimento di Ingegneria Industriale e dell Informazione. Sistema per la misura del guadagno di corrente beta in transistori bipolari
Dipartimento di Ingegneria Industriale e dell Informazione Sistema per la misura del guadagno di corrente beta in transistori bipolari Misura del parametro beta I C I E IB I E I B I C β ( I C,V CE )= I
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
DettagliTAVOLE DI SVILUPPO DI KUNO BELLER
TAVOLE DI SVILUPPO DI KUNO BELLER Sommario 1. Accesso al programma... 2 2. Gestione anagrafiche... 3 2.1 Anagrafica nido... 3 2.2 Anagrafica educatrici... 4 2.3 Anagrafica bimbi... 4 2.4 Gestione ruoli...
DettagliModificare il tipo di grafico Spostare, ridimensionare, cancellare un grafico
4.6 GRAFICI Il programma Calc si presta non solo alla creazione di tabelle e all esecuzione di calcoli, ma anche alla creazione di grafici che riepilogano visivamente i dati, ne rendono immediata la loro
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
DettagliCognome Nome Matricola Ordin.
Basi di dati II, primo modulo Tecnologia delle basi di dati Prova parziale 27 marzo 2009 Compito A Scrivere il nome su questo foglio e su quello protocollo. Rispondere su questo foglio, eventualmente con
DettagliFile System. Capitolo Silberschatz
File System Capitolo 10 -- Silberschatz Interfaccia del File System Per gli utenti di un computer, il File System è spesso l aspetto più visibile del SO di quel computer. Il File System fornisce infatti
Dettagli