Le Strutture Dati Su Disco Parte Prima

Slides:



Advertisements
Presentazioni simili
Tecnologia delle basi di dati: Strutture fisiche di accesso
Advertisements

I Files Definizione Operazioni File e periferiche Moduli di S.O.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
SQL applicato a SQL Server
Unità D2 Archivi e file.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Una Introduzione alle Basi di Dati
Hard disk.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Archivi e basi di dati Ing.
Archivi   L’uso degli archivi deriva dalla necessità di conservare dati e informazioni in modo permanente affinché possano essere riutilizzate anche.
ESEMPI DI ARCHIVI DI DATI
SQL Structured Query Language
Laboratorio Informatico
Luglio 2004Memorie Tradizionali1 MEMORIE TRADIZIONALI Luglio 2004.
File.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Disco magnetico (2) Ciascuna traccia è divisa in settori
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo La gestione dellI/O 4Prestazioni e generalità 4.1Modelli di funzionamento 4.2Dischi.
Archivi e basi di dati Vito Perrone
Equivalenza di espressioni
MEMORIA CENTRALE Spazio di lavoro del calcolatore: contiene i dati da elaborare e i risultati delle elaborazioni durante il funzionamento del calcolatore.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Le memorie del calcolatore
Implementare un modello di dati
STRUTTURA GENERALE DI UN ELABORATORE
Il computer: struttura fisica e struttura logica
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Basi di Dati e Sistemi Informativi
Introduzione alle basi di dati
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Architettura Centralizzata di un DBMS Relazionale
DB- Sistemi Informativi
Strutture dati elementari
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
1 Memorie di massa L’informazione è rappresentata dallo stato di magnetizzazione che può essere positivo o negativo ed è associato ad una cifra binaria.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Le basi di dati.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
11. Archivi e basi di dati Informatica - CDL in Ingegneria Industriale- A.A Ing. Simona Colucci.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Transcript della presentazione:

Le Strutture Dati Su Disco Parte Prima Dalle Strutture Dati ai Data Bases Mario Capurso http://info.bazarinfo.info

Strutture dati in memoria centrale e su memoria di massa Per comprendere le particolarità delle strutture dati in memoria di massa rispetto a quelle in memoria centrale, bisogna confrontare le differenti organizzazioni fisiche i differenti tempi di accesso la volatilità della memoria centrale e la persistenza della memoria di massa

L’organizzazione della memoria centrale Costituita da una successione lineare consecutiva di caratteri (bytes) di otto bit Ogni byte è accessibile con un indirizzo intero da zero ad un massimo n Il byte i+1 segue il byte i I tempi di accesso sono omogenei e costanti I tempi di accesso sono dell’ordine dei 100 nanosecondi (approssimando per semplificare i calcoli)

L’organizzazione della memoria di massa Costituita da piatti rotanti con velocità costante Ogni piatto di solito ha due testine

Tracce e settori Ogni piatto è diviso in tracce concentriche Ogni traccia è divisa in settori di dimensione costante Il settore è l’unità minima di lettura e scrittura Ogni settore è accessibile fornendo la terna (testina, traccia, settore)

Tempi di accesso I tempi di accesso non sono costanti né omogenei, ma casuali, secondo la formula Tt = Tseek + Trot + Tlet Tseek tempo di posizionamento della testina sulla traccia (tempo di ricerca) Trot tempo di posizionamento del settore sotto la testina (latenza rotazionale) Tlet tempo di lettura del settore (tempo di trasferimento)

Il tempo di seek Il tempo di seek è la somma tra il tempo iniziale per l'avviamento del braccio TI e il tempo che quest'ultimo vada dalla traccia attuale alla traccia desiderata Possiamo approssimare Tseek come Tseek = TI + K x NT dove K è una costante che dipende dal disco rigido e NT è il numero di tracce da saltare Tseek è una variabile casuale discreta Il minimo è zero, il massimo dipende dal disco

Latenza rotazionale E’ una variabile casuale continua che dipende dalla velocità di rotazione del disco Il minimo è zero, il massimo è il tempo di una rotazione, la media è la metà Il tempo di una rotazione si ottiene come TR=60(secondi) / numero di rotazioni per minuto (rpm) Esempio: Disco da 7200 rpm Tempo di rotazione 60/7200 = 8,3 ms Latenza rotazionale tra 0 e 8,3 ms . Media 4,15 ms

Tempo di trasferimento IL TEMPO DI TRASFERIMENTO dipende dalla velocità di rotazione del disco. Il tempo è così calcolato: TR = Nb / r X NbT Ove, TR è uguale al tempo di trasferimento, Nb è il numero di byte da trasferire, è la velocità del disco in giri al secondo e NbT sono i numeri di byte su una traccia. IL TEMPO TOTALE MEDIO DI ACCESSO E' DATO DALLA SEGUENTE: TMA = TS + 1/2r + Nb/r X NbT Ove, TMA è il tempo totale medio di accesso, TS è il tempo medio di ricerca, 1/2r è il tempo medio rotazionale e Nb/r X NbT è il tempo medio di trasferimento.

Volatilità e persistenza Possiamo pensare allora che le stesse strutture dati in memoria centrale siano utilizzabili in memoria di massa Cambierebbero solo i modelli fisici, non quelli concettuali e logici Le prestazioni comunque ne risentirebbero, in funzione della minore velocità della memoria di massa

Strutture dati ed uso Può essere più utile invece capire il differente uso delle strutture dati in memoria centrale e su memoria di massa Le strutture dati in memoria centrale sono volatili e mantengono informazioni operative temporanee Le strutture dati in memoria di massa mantengono informazioni persistenti che permettono l’operatività dei sistemi organizzativi (aziende, istituzioni). Parliamo in questo caso di sistemi informativi o data bases

La Struttura Dati Data Base Può avere senso allora usare la struttura dati Data Base come meccanismo unificante il tema delle strutture dati su disco. Il suo modello logico può in questo caso essere ricondotto alle istruzioni del linguaggio SQL, standard ISO Le realizzazioni del suo modello fisico possono spiegare l’uso delle strutture dati su disco, in termini di utilità, pregi e difetti

Struttura dati Data Base: modello concettuale Un Data Base è una collezione di dati operativi memorizzati su un supporto per computer, utilizzato dai programmi applicativi di una particolare azienda (C. Date) Un Data Base contiene informazioni collegate tra di loro ed informazioni sulle informazioni (meta-informazioni in un Dizionario dei dati) in maniera da superare i difetti della gestione tradizionale degli archivi

Struttura dati Data Base: modello logico Le sue proprietà corrispondono alle informazioni sulle informazioni (meta-informazioni in un Dizionario dei dati ) I suoi metodi corrispondono alle istruzioni SQL Per capire invece i modelli fisici, sarà utile fare un po’ di storia

I dati tra anni ’60 e ’70 Negli anni ‘50 i sistemi informativi su computer memorizzavano le informazioni su scheda perforata

I Limiti di un Sistema Informativo su scheda Non riutilizzabile Occupa molto spazio per pochi dati E’ macchinoso da trasportare, duplicare, modificare E’ sequenziale Ha dei limiti sulla dimensione del record Le operazioni di inserimento, modifica, cancellazione sono manuali

Vengono introdotti i concetti di base Record fisico, campo, record logico E’ possibile rappresentare archivi correlati Record fisico Cognome Campo Docente 2 Docente 1 Studente

1953: le unità a nastro Riutilizzabile Occupa poco spazio E’ semplice da trasportare Contiene una gran quantità di dati Purtroppo, è sequenziale Le operazioni richiedono due unità a nastro

1959: le unità a disco Ad accesso diretto Possibile il collegamento tra più archivi contemporaneamente Riutilizzabile Occupa poco spazio E’ semplice da trasportare Contiene una gran quantità di dati

La realizzazione di un programma che gestisce archivi su disco Viene definito il “tipo record” Viene definito l’archivio (nome, supporto fisico, tipo record, organizzazione fisica) Vengono scritti i sottoprogrammi di inserimento, modifica, cancellazione, ricerca, stampa nel linguaggio di programmazione prescelto (COBOL, RPG, PL/I )

I difetti di una gestione tradizionale degli archivi Il modello dei dati è “cablato” nei programmi I controlli sono “cablati” nei programmi I programmi devono cambiare se cambia il modello logico o fisico dei dati Programmi diversi possono usare tipi record diversi per lo stesso archivio Ripetitività degli algoritmi I campi possono essere duplicati in più archivi Ridondanza, rischio di incongruenza e inconsistenza Mancanza di controllo degli accessi Difficoltà nell’accesso multiutente ai dati

1968: IMS, il primo DBMS IBM IBM progetta IMS come DBMS per il progetto APOLLO nel 1966 Con Rockwell e Caterpillar, IBM lo utilizza per la prima volta nel 1969 per la gestione degli approvvigionamenti per la NASA Dopo 40 anni, è ancora in commercio Il suo creatore Vern Watts lavora ancora nel 2009 (anche se non ufficialmente) per IBM su IMS

Data Base: cos’è Un Data Base è una collezione di dati operativi memorizzati su un supporto per computer, utilizzato dai programmi applicativi di una particolare azienda (C. Date) Un Data Base contiene informazioni collegate tra di loro ed informazioni sulle informazioni (meta-informazioni in un Dizionario dei dati) in maniera da superare i difetti della gestione tradizionale degli archivi

Data Base: I pregi Il modello dei dati è nel Data Base I controlli di integrità sono nel Data Base Il controllo degli accessi è nel Data Base Raramente i programmi cambiano se cambia il modello logico o fisico dei dati Programmi diversi usano lo stesso modello per lo stesso archivio I programmi applicativi non contengono gli algoritmi di base ma usano un linguaggio di interrogazione e manipolazione per accedere ai dati L’esigenza di duplicare i campi viene ridotta Meno ridondanza, meno rischio di incongruenza Supporto nell’accesso multiutente ai dati

Gli Anni ’70: Vengono messi a punto gli algoritmi fondamentali Accesso Sequenziale Accesso Diretto Relativo Accesso Sequenziale con Indice Tecniche di Ricerca Ricerca Binaria Indice con B-Tree Tecniche Hash

1971: Codd (IBM) mette a punto il modello relazionale Il modello relazionale dei dati guarda le informazioni come a tabelle con righe e colonne Le righe in qualche maniera rappresentano i records Le colonne in qualche maniera rappresentano i campi dei records Codd introduce anche un linguaggio per gestire i dati, SQL, oggi standard ISO

Assunzioni di Base I duplicati non sono permessi L’ordine non è importante I valori sono atomici Le colonne sono omogenee Le righe sono omogenee

L’importanza dei modelli dei dati Rappresentano la struttura delle informazioni Il modello concettuale dei dati rappresenta la struttura delle informazioni inerente al problema nel mondo reale Il modello logico dei dati rappresenta la struttura delle informazioni così come sono visibili all’utente di un DBMS Il modello fisico dei dati rappresenta la struttura delle informazioni così come risiede su memoria di massa

Costruttore e Distruttore Create Database nome Crea una struttura dati database Drop Database nome Distrugge una struttura dati database

Creazione di una tabella CREATE TABLE nome ( definizione_colonna [, definizione_colonna ...] ); Esempio: CREATE TABLE cliente ( code char(2) not null unique, name char(15) not null, st char(2) not null, rating numeric(2) );

Tipi di campi NUMERIC[(lunghezza [,cifre_decimali])] DECIMAL[(lunghezza [,cifre_decimali])] DEC[(lunghezza [,cifre_decimali])] INTEGER INT SMALLINT DATE

Cancellazione di tabella DROP TABLE nome_tabella; Esempio DROP TABLE clienti;

Inserimento in una tabella INSERT INTO nometabella ([nomecolonna [,nomecolonna...]] ) VALUES (valorecolonna [, valorecolonna ]); Esempio: insert into clienti (cust code, name, st, rating) values('AA','Compugorp','WA',20);

Modifica di righe UPDATE nometabella Esempio: update cliente SET nomecolonna = valore [, nomecolonna = valore ...] WHERE condizionericerca ; Esempio: update cliente set rating = rating + 5 where code = 'AA';

Cancellazione di righe DELETE FROM nometabella [WHERE espressionericerca] Esempio: delete from cliente where rating < 10;

Ricerca in una tabella SELECT [DISTINCT] Esempio: nomecolonna [, nomecolonna ...] FROM nometabella [, nometabella ...] [WHERE espressionericerca] [ORDER BY nomecolonna [, nomecolonna ...]; Esempio: select * from manu; select code, mst from manu;