Parte 6 Esercitazione sull accesso ai file

Documenti analoghi
Memorizzazione di una relazione

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Organizzazione Fisica dei Dati (Parte II)

FILE E INDICI Architettura DBMS

Strutture fisiche di accesso

Strutture fisiche e strutture di accesso ai dati

Progettazione Fisica

Strutture di accesso ai dati: B + -tree

Data Management. Query evaluation. Maurizio Lenzerini, Riccardo Rosati

Esercizio 10.1 Soluzione

una chiave primaria o secondaria => B+tree primario o secondario (NL,g e h diversi) clustered o unclustered => ho un piano di accesso diverso!!

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

Strutture di accesso ai dati: B + -tree

Pag Politecnico di Torino 1

D B M G D B M G 2. Gestione degli indici. Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Indici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2

Strutture fisiche di accesso

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

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

Maschere e Query. C. Marrocco. Università degli Studi di Cassino

Informatica 3. Informatica 3. LEZIONE 23: Indicizzazione. Lezione 23 - Modulo 1. Indicizzazione. Introduzione. Indicizzazione:

Organizzazione fisica dei dati

CAPITOLO V. DATABASE: Il modello relazionale

Tipi di indice. Indici. Leggere sezioni 13.1, 13.2 e 13.3 di Garcia- Molina et al. Tipi di strutture ad indice. ISAM: Indici primari

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino

Casi di studio per il tuning delle strutture fisiche (Shasha)

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica)

INTRODUZIONE AL LIVELLO FISICO: FILE, PAGINE, RECORD E INDICI

Organizzazione fisica dei dati. L. Vigliano

Organizzazione fisica dei dati: Gli Indici

File e Indici. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05 Nome: Cognome: Matricola: Esercizio 1

Hashing e indici multidimensionali

Basi di dati e Relazioni

Introduzione. Il Modello Relazionale. Relazioni e Tabelle. Relazioni Matematiche - 1. Relazioni Matematiche - 2. Relazioni Matematiche - 3

INDICI, IMPLEMENTAZIONE DI OPERATORI ALGEBRICI E QUERY PROCESSING

Cognome Nome Matricola Ordin.

METODI DI ACCESSO (INDICI) indici 1

ARCHITETTURA DI UN B.D.M.S. Parte IV I Metodi di Accesso ai Dati

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

Ottimizzazione e organizzazione fisica

Le relazioni hanno una naturale rappresentazione per mezzo di. D. Gubiani Il Modello Relazionale 3

Caso 1 6WUXWWXUHÃILVLFKHÃLQÃDOFXQLÃ'%06 6WUXWWXUHÃILVLFKHÃQHLÃ'%06ÃUHOD]LRQDOL 3URJHWWD]LRQHÃILVLFD HXULVWLFKHÃVXJJHULWHÃGDÃ,QIRUPL[

Compito di Informatica Grafica 6 appello 01/02/2006

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019

La gestione delle interrogazioni

Modello relazionale e algebra relazionale

Scelte nella valutazione dei costi

Compito di Informatica Grafica 7 appello 13/09/2012. Nome e Cognome Numero di Matricola

Metodi di Join. Corso di Basi di Dati e Sistemi Informativi

Heap e code di priorità

Tabelle Hash! Presentare le tabelle hash e la nozione di funzione di hashing Discutere la complessità di questa realizzazione per le Tavole

Modello relazionale e algebra relazionale

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Parte VIII Organizzazione fisica

Pre-elaborazione dei dati (Data pre-processing)

Tabelle Hash. Implementazioni Dizionario. Implementazione. Tabelle ad accesso diretto. Tempo richiesto dall operazione più costosa:

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Conseguenze Algoritmiche del fenomeno small world

Basi di dati. Esercitazione 1 sulla progettazione concettuale e sulla ristrutturazione dello schema concettuale. Anno Accademico 2018/2019

Elena baralis 2007 Politecnico di Torino 1

Algoritmi e Strutture Dati

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale

Compito Sistemi Informativi LM. Tempo concesso : 90 minuti 10 febbraio 2011 Nome: Cognome: Matricola:

Organizzazione fisica dei dati: Introduzione

ELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2013/14

Lezione 1 Concetti generali

Esercizio. 11. U(T4,O6,B4,A5) 12. I(T4,O7,A6) 13. U(T4,O2,B5,A7) 14. C(T3) 15. I(T2,O8,A9) 16. A(T1) 17. U(T4,O3,B7,A10) 18.

File System. Capitolo 13

Corso di Informatica

Fondamenti di Teoria delle Basi di Dati

METODI DI ACCESSO. (INDICI B + -Tree) indici 2

Compito di Informatica Grafica 6 appello 26/07/2010. Nome e Cognome Numero di Matricola

Esercizi proposti a lezione cap. 1 rev. ott da Atzeni e altri - Basi di dati vol. 2 ed/ ORGANIZZAZIONE FISICA

Algoritmi e strutture dati

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

Basi di dati e Relazioni

Basi di dati II Prova parziale 11 aprile 2012 Compito A Rispondere su questo fascicolo. Tempo a disposizione: un ora e quindici minuti.

Corso di Basi di Dati A.A. 2015/2016

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a

DataBase Management System - DBMS

[1.B] Si consideri un sistema con un solo processo attivo, il quale sta eseguendo la seguente porzione di codice:

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

Strutture Fisiche di Memorizzazione

Indice Prefazione Funzionalit `a e architettura dei DBMS La gestione della memoria permanente e del buffer Organizzazioni seriale e sequenziale

Ottimizzazione delle query. Stima dell IO: Per generare i piani si considera: --> Generare e confrontare i piani Query

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati

INTRODUZIONE INTRODUZIONE TABELLE HASH FUNZIONE HASH

5. Strutture di indici per file

Ottimizzazione delle query

Algoritmi e Strutture Dati

SQL. Lezione 1. Docente: Alberto Belussi

Ogni ufficio è formato da 100 dipendenti, i quali hanno a loro volta 3 clienti ciascuno. Inoltre, ad ogni ufficio sono stati assegnati 4 fornitori.

Transcript:

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/

Esercizio 1 Si consideri la relazione STATO(nome, superficie, capo). Le tuple della relazione STATO sono 7000, ed in ogni pagina entrano 20 tuple di tale relazione. Non si prevedono operazioni di inserimento o cancellazione sulla relazione STATO, mentre si sa che verrà molto spesso interrogata per calcolare tutti gli stati la cui superficie cade in un dato intervallo. Si chiede di dire qual è il metodo migliore per rappresentare la relazione STATO, motivando la risposta. Si chiede anche di calcolare il costo medio dell operazione che trova tutte le informazioni (nome, superfici e capo) degli stati con una certa superficie, sapendo che in media sono meno di 10 gli stati con una data superficie. Gestione dei dati Esercitazione su file - 2

Soluzione esercizio 1 Fatto 1: non si prevedono operazioni di inserimento o cancellazione sulla relazione STATO Fatto 2: si sa che la relazione STATO verrà molto spesso interrogata per calcolare tutti gli stati la cui superficie cade in un dato intervallo Conseguenza: il metodo migliore per rappresentare la relazione STATO è l indice ISAM clusterizzato costruito sulla search key superficie. Gestione dei dati Esercitazione su file - 3

Soluzione esercizio 1 (continua) Per quanto riguarda il costo: sappiamo che B= 7000/20 = 350 (B=numero di pagine del file). chiamiamo F il numero di data entry o index entry per pagina segue che il numero di foglie nell albero ISAM è 350/F Per calcolare il costo dell operazione osserviamo che mediamente dobbiamo accedere solo alle pagine per localizzare il data entry, e ad una pagina del data file Il costo dell operazione è quindi: (log F 350/F + 1) = (log F 350 log F F +1) = (log F 350 1 +1) = log F 350. Gestione dei dati Esercitazione su file - 4

Esercizio 2 Si consideri una base di dati contenente la relazione Impiegato con attributi matricola, nome, datanascita, citta, stipendio, in cui le query di gran lunga più frequenti sono del seguente tipo: restituire nome, data di nascita e stipendio degli impiegati il cui stipendio è maggiore di un certo valore k e minore di un certo valore h (con h e k che variano per ogni query). Inoltre, la tabella Impiegato è soggetta a frequenti aggiornamenti (inserimenti e cancellazioni). Sulla base di tali informazioni: 1. dire quale organizzazione di file è la più indicata per la relazione Impiegato, motivando la risposta; 2. sulla base dell'organizzazione di file scelta al punto precedente, illustrare la funzione che caratterizza il costo del calcolo della risposta a una query del tipo descritto precedentemente rispetto al numero di pagine necessarie per memorizzare la relazione. Gestione dei dati Esercitazione su file - 5

Soluzione esercizio 2 Fatto 1: la tabella Impiegato è soggetta ad aggiornamenti Fatto 2: la query più frequente corrisponde ad una ricerca per intervallo di valori la ricerca per intervallo richiede necessariamente o un file ordinato sulla chiave di ricerca oppure un indice di tipo clustered ma la presenza di aggiornamenti ci fa scartare l organizzazione basata sul file ordinato tra gli indici, quelli di tipo hash in pratica non sono mai indici clustered (il problema è causato dalle pagine di overflow) tra gli indici ad albero, l organizzazione da preferire è B+-tree, perché gli indici ISAM si degradano in presenza di aggiornamenti Gestione dei dati Esercitazione su file - 6

Soluzione esercizio 2 (continua) Per quanto riguarda il costo: assumiamo che nel caso medio le foglie del B+-tree siano occupate al 67% pertanto nel caso medio la ricerca per intervallo (rispetto al numero di pagine lette da memoria secondaria) ha costo log F 1.5 B + numero pagine contenenti record di interesse dove F è il fan-out del B+-tree Gestione dei dati Esercitazione su file - 7

Esercizio 3 Si consideri una base di dati con le relazioni MUSEO(codice,codcitta) e CITTA(codcitta,numabitanti,sindaco), dove codcitta è una foreign key su CITTA. Sappiamo che il DBMS che gestisce tale base di dati esegue il join naturale tra relazioni di tipo R1(A,B) ed R2(B,C,D) scandendo le tuple di R1, e per ogni tupla t1 di R1 cercando la eventuale tupla t2 di R2 in join con t (ovvero, tale che t1.b=t2.b). Sappiamo anche che la relazione CITTA non è soggetta ad aggiornamenti, che le pagine della relazione MUSEO sono 100 e che ciascuna pagina contiene 100 record, e che le pagine della relazione CITTA sono 200 e che ciascuna pagina contiene 20 record. Si chiede di: scegliere il metodo di rappresentazione della relazione CITTA che massimizza l efficienza del join naturale tra le due relazioni, tenendo conto che il DBMS adotta l algoritmo descritto sopra per eseguire l operazione di join naturale; calcolare il numero di accessi a pagine necessari per l esecuzione del join naturale (sempre mediante l algoritmo descritto sopra) tra le due relazioni, assumendo che la relazione CITTA sia rappresentata secondo il metodo scelto. Gestione dei dati Esercitazione su file - 8

Soluzione esercizio 3 E evidente che per massimizzare l efficienza dell algoritmo occorre massimizzare la ricerca di un elemento nella relazione CITTA di cui si conosce la chiave (codcitta). Tenendo conto poi del fatto che CITTA non è soggetto ad aggiornamenti, il metodo di rappresentazione migliore per CITTA è dunque mediante un indice hash statico (ovvero: hashed file). Il numero di accessi a pagine necessari per l esecuzione dell algoritmo di join naturale si calcola tenendo presente che: si deve accedere a tutte le 100 pagine di MUSEO per ogni record di MUSEO (il numero di tali record è 100 100 = 10.000) si può sfruttare l indice hash statico e quindi operare un unico accesso alle pagine della relazione CITTA Ne segue che il numero di accessi a pagine è: 100 + 10.000 1= 10.100 Gestione dei dati Esercitazione su file - 9