ARCHIVI E LORO ORGANIZZAZIONI



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

Organizzazione degli archivi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Base di dati e sistemi informativi

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

Strutturazione logica dei dati: i file

Database. Si ringrazia Marco Bertini per le slides

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

Cosa è un foglio elettronico

Introduzione al data base

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

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

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

Il Software. Il software del PC. Il BIOS

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

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

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

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

1. BASI DI DATI: GENERALITÀ

La memoria centrale (RAM)

Basi di Dati e Microsoft Access

LE SOLUZIONI AXIOMA PER LE BANCHE. Acquisire, contabilizzare e archiviare in modo automatico i documenti dell'ufficio economato

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Esame di INFORMATICA

Progettazione Fisica FILE

Introduzione alla programmazione in C

I Sistemi Informativi

DBMS (Data Base Management System)

Fasi di creazione di un programma

Protocollo Informatico (D.p.r. 445/2000)

Progettazione di un Database

Sistemi Informativi e Basi di Dati

Introduzione alla teoria dei database relazionali. Come progettare un database

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Archivio: è un insieme organizzato di informazioni (movimenti contabili, archivi: clienti/fornitori, personale, magazzino) Proprietà:

ISTITUTO TECNICO ECONOMICO MOSSOTTI

TEORIA sulle BASI DI DATI

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

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

MODELLO RELAZIONALE. Introduzione

Altri metodi di indicizzazione

Organizzazione delle informazioni: Database

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Data Base. Prof. Filippo TROTTA

Laboratorio di Informatica

Esercizio data base "Biblioteca"

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Al giorno d oggi, i sistemi per la gestione di database

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

Il File System. Il file system

File system II. Sistemi Operativi Lez. 20

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Gestione della memoria centrale

12. Implementazione di un File System Struttura a livelli Allocazione contigua

MODULO 5 Appunti ACCESS - Basi di dati

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

Microsoft Access. Microsoft Access

I file di dati. Unità didattica D1 1

I DATABASE Database relazionale

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Organizzazione della memoria

Gestione del workflow

Dispensa di Informatica I.1

Protocollo Informatico (D.p.r. 445/2000)

Esercizio sui data base "Gestione conti correnti"

Archivi e database. Lezione n. 7

Il database management system Access

Le Basi di Dati. Le Basi di Dati

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

DATABASE. A cura di Massimiliano Buschi

Lezione 1. Introduzione e Modellazione Concettuale

Limiti della gestione tradizionale degli archivi. Prof. Francesco Accarino IIS Altiero Spinelli

Sistemi Operativi. 5 Gestione della memoria

Progettaz. e sviluppo Data Base

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

INFORMATICA 1 L. Mezzalira

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

EXPLOit Content Management Data Base per documenti SGML/XML

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

C. P. U. MEMORIA CENTRALE

Capitolo Silberschatz

Base Dati Introduzione

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

I database relazionali (Access)

Capitolo 13. Interrogare una base di dati

Transcript:

ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative a oggetti dello stesso tipo, memorizzato su un supporto di memoria permanente - struttura di dati astratta, costituita da un insieme di record contenenti informazioni relative ad un insieme omogeneo di oggetti. Si può pensare ad un archivio come una tabella (le righe rappresentano i record, le colonne corrispondono ai campi). Un campo ha un nome e un valore. Ogni record è identificato per mezzo della sua posizione (=indirizzo logico). Chiave: un sottoinsieme dei campi di un record. Chiave primaria: chiave che individua al più un record (individua univocamente un record) Archivio!= File File: struttura fisica di memoria in cui è possibile memorizzare informazioni sotto forma di sequenza di byte o come sequenza di record. Un archivio è sempre implementato mediante uno o più file, ma un file non è sempre un archivio (p.e. un file di Word non è un archivio). Record logico: insieme di informazioni relative ad un entità (insieme di campi) Blocco fisico: insieme di byte (l insieme di byte che possono essere letti o scritti in memoria di massa con una singola operazione di lettura o scrittura record bloccati : dim recordo logico < dim blocco record sbloccati: dim recordo logico = dim blocco record multiblocco: dim recordo logico > dim blocco Organizzazione degli archivi: - fisica = relativa al supporto: nastro (supporto ad accesso sequenziale) o disco (supporto ad accesso diretto) - logica = relativa alla modalità di gestione: sequenziale (ogni record ha un predecessore e un successore, eccetto il primo e l ultimo), non sequenziale ( i record sono memorizzati in maniera sparsa) Metodo di accesso: operazione che consente di reperire i record - sequenziale (bisogna accedere prima a tutti i record precedenti) tempo di accesso in funzione della posizione - diretto o casuale (è possibile posizionarsi direttamente su record interessato) tempo di accesso indipendente dalla posizione nastro disco organizzazione fisica sequenziale non sequenziale organizzazione logica sequenziale sequenziale metodo di accesso sequenziale sequenziale o diretto Operazioni fisiche sugli archivi: lettura e scrittura di record sul file (la loro esecuzione implica accesso sia in memoria di massa che in memoria centrale) 1

Operazioni logiche sugli archivi: 1. creazione di un archivio vuoto 2. inserimento di un record con chiave k 3. reperimento (ricerca) di un record di chiave k 4. aggiornamento (di campi non chiave) di un record di chiave k 5. cancellazione di un record di chiave k (logica e fisica) 6. visita (scansione) a tutti i record dell archivio a. in ordine qualsiasi b. ordinata per valori crescenti di un campo 7. ricerca di tutti i record i cui campi soddisfano un predicato P 8. ordinamento 9. chiusura (completa il trasferimento dei dati alla memoria di massa) Ordinamento e ricerca L ordinamento agevola l operazione di ricerca ma complica quella di inserimento. sequenziale - non ordinato sequenziale - ordinato diretto - non ordinato diretto - ordinato n medio tentativi Successo n tentativi Insuccesso Ricerca binaria log 2 N Ricerca interpolata (con distribuzione uniforme chiavi) log 2 (log 2 N) N N Ricerca binaria log 2 N Ricerca interpolata (con distribuzione uniforme chiavi) log 2 (log 2 N) Ricerca interpolata (o metodo delle secanti): non inizia da metà, ma sfrutta l informazione costituita dalla chiave da ricercare. Archivi impaginati sequenze di pagine (una pagina coincide in genere con un settore del disco) Inserimenti Negli archivi non ordinati l inserimento può avvenire in fondo o al posto di un record cancellato. Negli archivi ordinati ad accesso sequenziale si raccolgono gli inserimenti in un file separato e si rigenera periodicamente il file principale per fusione (merge) con quello degli inserimenti. Negli archivi impaginati inizialmente si lascia in ogni pagina un certo spazio libero per le inserzioni. Quando la pagina è satura l inserimento viene effettuato su un area di trabocco (overflow) unica o distribuita (quando le prestazioni degradano si procede alla riorganizzazione) Cancellazioni Se l archivio non è impaginato conviene cancellare solo logicamente il record, la cancellazione fisica viene effettuata all atto della riorganizzazione. Organizzazione sequenziale con indice (ISAM): Esiste un file primario organizzato a pagine, ciascuna contenente un certo numero di record. La chiave più alta di ogni pagina (ku) è riportata in un file indice, i cui record sono del tipo (ku,p) con p numero di pagina del file primario che ha ku come chiave più alta. Il file indice viene mantenuto ordinato. La ricerca avviene prima nel file indice e poi nella pagina. Le operazioni di inserimento e cancellazione possono richiedere una riorganizzazione dei file. 2

Indici a più livelli: se il file indice è troppo grande si può organizzare lo stesso indice come file sequenziale con indice. Organizzazioni sequenziali con indice dinamico: (per esempio con indice a B-albero): non prevedono aree di overflow, non necessitano di riorganizzazioni periodiche. Organizzazione relative: l accesso ad un record avviene specificando la sua posizione relativamente all inizio del file, la chiave primaria identifica univocamente sia il record sia il suo indirizzo logico. L indirizzo del k-simo record si calcola con la formula: (k-1) x dimensione del record + indirizzo fisico primo record Organizzazione hash (o con trasformazione della chiave): conveniente quando le operazioni da eseguire sono prevalentemente inserimenti o cancellazioni o ricerche. La funzione hash (o di trasformazione della chiave) calcola l indirizzo dell elemento destinato a contenere il record a partire dalla chiave. Requisiti della funzione hash: 1. facilmente (velocemente) calcolabile 2. produce sempre lo stesso indirizzo a partire dalla stessa chiave 3. distribuisce uniformemente le chiavi sullo spazio degli indirizzi 4. distribuisce casualmente le chiavi (l indirizzo hash deve dipendere da tutti i bit della chiave) 5. copre l intero spazio degli indirizzi 6. genera indirizzi diversi se le chiavi sono diverse o genera il minor numero possibile di collisioni La trasformazione perfetta si ha quando la funzione genera un indirizzo hash diverso per ogni chiave. Se il numero di chiavi che possono essere contemporaneamente presenti in memoria è molto inferiore al numero delle possibili chiavi la trasformazione perfetta comporta uno spreco di memoria inaccettabile. Se si utilizza una trasformazione molti a uno possono prodursi collisioni. Due o più chiavi collidono quando hanno lo stesso indirizzo hash. Risoluzione delle collisioni: consente di individuare un indirizzo libero per la chiave k nel caso in cui si sia verificata una collisione. 3

1. indirizzamento aperto o scansione lineare se la collisione avviene sull indirizzo 15 e il passo di scansione è 3 si esaminano i record 18,21,24, fino al reperimento di un posto vuoto 2. scansione non lineare: si ricalcala un nuovo indirizzo servendosi di una nuova funzione (rehash) 3. concatenazione: si aggiunge un campo link ai record della tabella Fattori che influenzano la scelta dell organizzazione di un archivio 1. tipi di operazioni e loro frequenza: valutare se l archivio è soggetto a frequenti inserimenti e/o cancellazioni o a ricerche. 2. tempo di risposta: se le operazioni compiute sui file avvengono in modalità interattiva (online), occorre garantire tempi di risposta immediati; se, invece, le operazioni non sono interattive (offline), è accettabile un tempo di risposta più lungo 3. frequenza di riferimento: rendere più facilmente accessibili i record che vengono riferiti più spesso (regola 80-20) 4. struttura dei record: i record a lunghezza variabile, la condivisione dei dati o la presenza di campi molto lunghi possono richiedere l inserimento di puntatori 5. dimensione ed espansibilità dell archivio: organizzazione più sofisticata se l archivio è grande, cercare giusto compromesso tra spazio e tempo 6. tipo e dimensione del supporto di memoria di massa 7. integrità e ripristino (difficile ripristinare i puntatori ) 8. linguaggio di programmazione utilizzato: non tutti i linguaggi sopportano tutti tipi di organizzazione. Lo SCHEMA DELLE RISORSE DI SISTEMA (o DIAGRAMMA DI FLUSSO) serve ad illustrare attraverso simboli grafici gli elementi del sistema: gli archivi utilizzati da un programma, le informazioni che fluiscono all'interno dell'elaborazione dalle unità di input, quelle che vengono ottenute in output e il percorso delle informazioni in ingresso e in uscita I simboli grafici più usati sono: Tastiera (Input) File memorizzato su disco Video (Output) Nastro magnetico Stampante (Output) Elaborazione Percorso del flusso delle informazioni Flusso dei dati su linea telefonica 4

Archivi tradizionali e database E` molto importante decidere il modo in cui i dati vengono conservati perchè ciò determinerà successivamente anche il modo in cui i dati verranno estratti; ad esempio, potrebbe capitare che non preoccupandosi per tempo dell'organizzazione dei dati durante l'archiviazione, si abbiano difficoltà o complicazioni durante la fase del loro recupero. Mentre una volta gli archivi potevano essere su supporto cartaceo, oggi quasi tutti gli archivi si trovano in forma digitale su supporto elettronico, e ciò rende possibile la loro elaborazione automatizzata. Per esempio, un archivio può avere la forma di un file di dati opportunamente organizzati. Utilizzare i singoli file per creare archivi di dati può essere pratico per piccole applicazioni, ma in generale, questo approccio, può dar luogo anche a diversi problemi. Per esempio: se una Banca utilizza un file per conservare i dati dei propri clienti e un file per conservare i dati dei relativi conti correnti, bisogna preoccuparsi di mantenere "sincronizzati" i dati tra i due archivi. Se la Banca permette l'aggiornamento degli archivi da parte di più filiali, i problemi aumentano. I database nascono proprio per superare i limiti e gli inevitabili problemi che si potrebbero incontrare usando gli archivi tradizionali. Tra i classici problemi vanno ricordati la ridondanza dei dati e l'inconsistenza degli archivi. Il primo caso si verifica quando in diversi archivi si trovano memorizzati gli stessi tipi di dati (il problema è quello di dover fare gli aggiornamenti in tutti gli archivi interessati. Il secondo caso si verifica quando questi aggiornamenti non vengono fatti in tutti gli archivi in cui si dovrebbe e quindi nascono incongruenze tra dati nuovi e dati vecchi. Ricordiamo alcuni termini: Archivio: oggetto memorizzato in modo permanente, costituito da una sequenza di elementi dello stesso tipo e dimensione (record), ognuno dei quali può essere composto da più campi, di tipo e dimensione diversi tra loro. Database: insieme di archivi integrati (collegati) secondo un "modello logico" e nel rispetto di determinate regole (vincoli). Un'altra differenza tra gli archivi tradizionali e i database si trova nei software utilizzati per la loro gestione. I software per la gestione degli archivi sono quei programmi utili per poter inserire, modificare edeliminare un dato nell'archivio; i programmatori di solito capiscono di che si sta parlando quando si citano le funzioni (o istruzioni) per operare sui File. Un programmatore che scrive programmi di questo tipo (di solito in linguaggio procedurale) sa bene che oltre a pensare alle attività dell'utente, si deve preoccupare anche di: accesso ai file, lettura, scrittura, ecc... I database invece sono gestiti tramite sofware più complessi chiamati DBMS ; sono software che hanno già integrate tutte le principali funzioni necessarie e che possono essere "personalizzati" al caso particolare in cui verranno applicati. Ne sono esempi: PostgreSQL, MySQL, Oracle, Informix, MS Access, HSQLDB, ecc. Alcune delle funzioni integrate nei DBMS sono: l'integrazione (o collegamento) degli archivi, l'integrità dei modello di dati, la capacità di gestire database accentrati o distribuiti, la gestione della multiutenza e della sicurezza, la gestione dell'accesso concorrente ai dati, la gestione delle transazioni, la gestione dei backup, ecc... Poichè queste funzioni sono integrate nel DBMS, il lavoro del programmatore risulta alleggerito; il programmatore che lavora con i DBMS non utilizza però solo i classici linguaggi di programmazione procedurale, ma anche linguaggi di programmazione dichiarativi (es: SQL) 5