CALCOLO DEL COSTO DI ACCESSO AI DATI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "CALCOLO DEL COSTO DI ACCESSO AI DATI"

Transcript

1 CALCOLO DEL COSTO DI ACCESSO AI DATI costo di accesso 1 Nelle lezioni precedenti Avete visto: i le basi di dati relazionali ed il linguaggio SQL la struttura dei files gli indici B + tree questa è dedicata al calcolo del costo di accesso ai dati (tuple) costo di accesso 2

2 scopo: scopo della lezione valutare quale sia la migliore strategia di accesso per interrogazioni SQL sia su singola relazione sia nel caso di join i criteri di valutazione servono anche a prendere decisioni sull ordinamento delle relazioni e quali indici costruire costo di accesso 3 ottimizzatori I criteri che vedremo sono in linea con i metodi e le scelte utilizzati dai query-optimizer dei DBMS relazionali lo scopo dei query-optimizer è infatti valutare quale sia la migliore strategia di accesso (access path) per le interrogazioni SQL degli utenti gli ottimizzatori non prendono decisioni sull ordinamento delle relazioni e su quali indici costruire queste decisioni sono lasciate al DBA che deve valutare sulla base del carico di lavoro costo di accesso 4

3 decisioni quali indici? index scan relation scan Relazione di NT tuple in NB blocchi (pagine) costo di accesso 5 utilizzo degli indici Un indice può essere utilizzato per eseguire una interrogazione SQL se l attributo su cui è costruito: compare nella clausola WHERE è contenuto in un FATTORE BOOLEANO il fattore booleano è ARGOMENTO DI RICERCA attraverso indice compare in un ORDER BY o GROUP BY costo di accesso 6

4 utilizzo degli indici Esempi: per la relazione IMPIEGATI ( matr, cognome, nome, lavoro, qualifica, salario, straordinario, dno) 1) la query: SELECT cognome, salario FROM impiegati WHERE dno = 51 AND salario > 2000 AND (lavoro = fattorino OR lavoro = guardiano ) oppure. costo di accesso 7 utilizzo degli indici 2) la query: SELECT cognome, salario FROM impiegati WHERE dno = 51 AND salario + straordinario > 3000 AND (lavoro = fattorino OR qualifica = 7) costo di accesso 8

5 utilizzo degli indici Separazione della condizione WHERE in fattori booleani: un predicato è un fattore boleano se è collegato alla radice del WHERE-tree da AND (query 1) AND AND dno = 51 salario > 2000 lavoro = fattorino OR lavoro = guardiano costo di accesso 9 utilizzo degli indici un predicato è un fattore boleano se con risultato falso determina il risultato falso per la query AND AND (query 2) dno = 51 salario + straordinario > 3000 lavoro = fattorino OR qualifica = 7 costo di accesso 10

6 utilizzo degli indici 1) per la query 1 sono fatt. bool. argomenti di ricerca: dno = 51, salario > 2000 (lavoro = fattorino OR lavoro = guardiano ) dno salario lavoro costo di accesso 11 utilizzo degli indici 2) per la query 2 è fatt. bool. argomento di ricerca solo: dno = 51 per (lavoro = fattorino OR qualifica = 7) se il DBMS può usare più indici per una query: lavoro + qualifica si può effettuare l unione delle liste di TID costo di accesso 12

7 utilizzo degli indici 2) per la query 2 è non è fatt. bool. argomento di ricerca: salario + straordinario > 3000 sia che il DBMS possa usare più indici per una query che uno solo : salario straordinario??? non si può effettuare l unione delle liste di TID costo di accesso 13 utilizzo degli indici per una query sono argomento di ricerca i predicati del tipo: attributo. comparatore. valore, ad es.: dno = 47 (<, < =,> =, >, between) SI dno = $D (variabile di programma) SI dno = 47 OR dno = 32 SI (IN corrisponde ad OR ma non sempre è SI) (dno = 47) OR (qualifica = 3) SI/NO salario + straordinario > 3000 NO salario = straordinario (stessa relazione) NO costo di accesso 14

8 modello di costo Un indice è utile per una query solo se il costo di accesso con l indice è < costo dell accesso sequenziale cioè < NB ( NB/2 se attributo unique) il modello comunemente utilizzato (ce ne sono di molto più sofisticati e precisi) serve per previsioni di massima e si basa su: per la relazione : NT, NB per ogni indice :NL (numero di foglie) per ogni attributo :NK (cardinalità), max, min tutti valori desumibili dai cataloghi dei DBMS le grandezze sono uniformemente distribuite costo di accesso 15 selettività Un predicato è selettivo se ci si aspetta che non tutte le tuple lo soddisfino fattore di selettività (filtro) F di un predicato : frazione di tuple che soddisfano il predicato nt / NT = valori selezionati / NK = SK / NK A = valore F = 1 / NK A dno = 24 F dno = 1/ Nk dno, default = 1/10 A IN (val1, val2, val3 ) F = 3 / NK A dno IN ( 24, 36) F dno = 2/ NK dno analogamente per dno = 24 OR dno = 36 in generale F= numero valori/ NK A, default = 1/2 costo di accesso 16

9 selettività A > valore F = SK / NK A, default f=1/3 voto > 27 F voto = 4/ 15 se i voti vanno da 17 a 31 e supponendo che tutti siano stati assegnati almeno una volta per salario > 2000 (range la cui cardinalità non è controllabile) si può prendere: F salario = (max(sal) ) / (max(sal) - min(sal)) analogamente per BETWEEN 2000 AND 3500 F salario = ( ) / (max(sal) - min(sal)) default f=1/4 costo di accesso 17 selettività Predicati su attributi diversi pred1 OR pred2 : F = F pred1 +F pred2 -F pred1 F pred2 attributo A = attributo B F = 1 / max(nk A, NK B ) se i due domini sono sovrapposti, altrimenti F=0 - negazione : A = not valore F = 1-1 / NK A per ottenere maggiori precisioni molti sistemi memorizzano istogrammi semplificati costo di accesso 18

10 selettività Numero di tuple del risultato: E = NT F pred1 e nell ipotesi di assenza di correlazione tra i valori degli attributi, per più predicati: E = NT Π i F predi - l ipotesi non è sempre verificata, bisognerebbe rilevare un fattore di correlazione o di clustering relativo tra valori di attributi differenti:. tipo di lavoro, data di nascita: incorrelati. qualifica, dipartimento: correlati costo di accesso 19 costo di accesso I casi esaminati si differenziano a seconda che: indice clustered / unclustered attributo unique / con ripetizione dei valori predicato di uguaglianza / di range / OR uso di un solo indice / più indici costo di accesso 20

11 Ipotesi di buffer Si considera, per ogni relazione o indice, che ogni cambio di riferimento a pagina referenzi una pagina fuori dal buffer di memoria centrale. E come se ogni relazione (o indice ) avesse una sola pagina di buffer in memoria centrale. E un ipotesi pessimistica che tende a calcolare upper bounds. costo di accesso 21 costo di accesso Il costo C è dato dalla somma : C indice + C relazione costo di accesso 22

12 costo di accesso indice clustered / unclustered su attributo unique con predicato di uguaglianza: esempio, matr = 236 (sulla relazione impiegati) foglia indice Costo = 1 foglia + 1 blocco = 2 blocco dati se l indice è clustered o unclustered è lo stesso costo di accesso 23 costo di accesso indice clustered con E > 1: matr between 236 and 312, lavoro = guardiano Costo = F NL + F NB costo di accesso 24

13 costo di accesso indice unclustered / clustered : lavoro = guardiano Costo = ( F NL + F NT ) con F = F valore analogamente per il caso clustered Costo = ( F NL + F NB ) costo di accesso 25 costo di accesso indice unclustered / clustered (predicato OR): lavoro = guardiano OR portiere Costo = 2 ( F NL + F NT ) sono 2 accessi distinti, analogamente per il caso clustered Costo = 2 ( F NL + F NB ) con F = F valore costo di accesso 26

14 costo di accesso Uso di più indici unclustered con E > 1: intersezione /unione dei TID estratti dagli indici matr between 236 and 312, lavoro = guardiano Costo = Σ k F k NL k + Π k F k NT costo di accesso 27 costo di accesso Costo = Σ k F k NL k + Π k F k NT Questa formula è molto imprecisa perché presuppone la mancanza di correlazione tra attributi Questo metodo può essere migliorato aggiungendo indici k solo se portano un vantaggio di selettività al secondo termine superiore allo svantaggio introdotto nella sommatoria del primo costo di accesso 28

15 Esempio: costo di accesso SELECT * FROM IMPIEGATI WHERE lavoro = fattorino AND salario < 1500 con NT = 10000, NB = 1000, NK sal = 100 NK lav = 50 indici: clustered su salario con NL = 160 unclustered su lavoro con NL = 100 supponiamo che la selettività sia. F lav = 1 / 50 = 0.02 F sal = ( min) / (max- min) = 0.1 costo di accesso 29 costo di accesso costo delle scansione sequenziale: C seq = 1000 costo dell indice su lavoro (unclust.): C lav = F lav NL lav + F lav NT = = = 202 costo dell indice su salario (clust): C sal = F sal NL sal + F sal NB = = = 116 C seq > C lav >C sal costo di accesso 30

16 costo di accesso scambiamo adesso l ordinamento per gli indici: costo dell indice su lavoro (clust.): C lav = F lav NL lav + F lav NB = = = 22 costo dell indice su salario (unclust): C sal = F sal NL sal + F sal NT = = = 1016 C sal >C seq >C lav costo di accesso 31 costo di accesso tuple del risultato: E = F lav F sal NT = 20 la scelta migliore per la query è avere un ordinamento su lavoro e un indice su lavoro, mentre l indice su salario non deve essere costruito il miglioramento che si ottiene rispetto all assenza di indici e ordinamenti ò di 1 a 45 nel caso in cui l ordinamento su salario sia di utilità per altre query l indice unclustered su lavoro porta ad un miglioramento di 1 a 9 costo di accesso 32

17 uso degli indici Miglioramento della formula di costo nel caso di ordinamento dei TIDs valore array di E tids ordinati 1 2 NB RELAZIONE Quindi in generale si ha C relazione min(e, NB). costo di accesso 33 cardenas C relazione puo' essere calcolato meglio usando la formula di CARDENAS (Comm. ACM 1975): Φ (k,n) = n (1-(1-1/n) k ) C relazione = Φ (E,NB) = NB (1-(1-1/NB) E ) La formula e' valida sotto le seguenti ipotesi: a) tutti i record sono equiprobabili, b) tutti i blocchi contengono lo stesso numero di tuple, c) come conseguenza di a) e b) tutti i blocchi sono equiprobabili. costo di accesso 34

18 cardenas Φ(E,NB) può essere ricavata come segue: 1/NB è la probabilità che un blocco contenga una data tupla estratta dagli E, 1-1/NB è la probabilità che un blocco non contenga una data tupla estratta dagli E (1-1/NB) E è la probabilità che un blocco non contenga nessuna delle E tuple 1-(1-1/NB) E è la probabilità che un blocco contenga almeno una delle E tuple e quindi venga visitato, NB (1-(1-1/NB) E ) è il numero di blocchi che ci si aspetta contengano almeno una tupla costo di accesso 35 andamento di Φ L'andamento generale della Φ è riportato in figura: NB min(e,nb) cardenas E costo di accesso 36

19 andamento di Φ Tabella con NB = 100 La formula di Cardenas calcola in ogni caso il numero Φ di blocchi visitati (con qualsiasi successione). Il numero di accessi C relazione è calcolabile con la formula di Cardenas solo se i TIDs sono in ordine. E Φ costo di accesso 37 utilizzo degli indici Caso di indice unclustered "localmente ordinato" : con i TIDs in ordine crescente per ogni valore della chiave... chiave + tids a b foglie indice..... a.. b... a.. b... b.. a... a.. b... n-ple costo di accesso 38

20 utilizzo degli indici Predicato : Col = valore C = F col NL + Φ(E,NB) dove E = F col NT Predicato di tipo : valore 1< Col < valore2 C = F col NL + K Φ(E/K,NB) dove K = F col NK costo di accesso 39 utilizzo degli indici Rivediamo i calcoli con Φ per l esercizio precedente con indici unclustered: predicato: lavoro = fattorino C = F lav NL lav + Φ(E,NB) dove E lav = F lav NT =200 C = F lav NL lav + Φ(200,1000) = = 184 (era 202) costo di accesso 40

21 utilizzo degli indici Predicato : salario < 1500 C = F sal NL sal + K Φ(E sal /K,NB) dove K = F sal NK sal E sal /K = f sal NT dove f sal è il filtro per 1 valore di salario E sal /K = f sal NT = 10000/100 = 100 C = Φ(100,1000) = = = 968 (era 1016) costo di accesso 41 utilizzo degli indici Esempio: variazione con K NL = , NR = , NK = , NB = Costi ( x ) con indice scan sequenziale K costo di accesso 42

22 utilizzo degli indici Le tuple del risultato vengono poi controllate con i predicati residui: SELECT * FROM IMPIEGATI WHERE lavoro = fattorino AND età < 35 AND salario + straordinario >3 predicato residuo La selettività dei predicati residui è difficile da calcolare costo di accesso 43 uso degli indici Perché non mettere indici su tutti gli attributi? Il query optimizer potrebbe poi scegliere. Gli indici devono essere mantenuti: caso DELETE: eliminazione di TID Costo = N ind E (N ind : numero indici E = E 2) costo di accesso 44

23 uso degli indici caso UPDATE: spostamento di TID Costo = N ind 2 E (N ind : numero indici E = E 2) Un numero indici troppo elevato comporta un eccessivo costo di modifica della relazione costo di accesso 45 rif. biblio.: Antonio Albano: Costruire sistemi per basi di dati. Addison Wesley 2001 contenuti: strutture files struttura DBMS recovery e concorrenza ottimizzatori DDBMS riferimenti: oracle, sybase, informix, DB2, SQl server costo di accesso 46

24 alcuni rif. biblio.: Validità di Φ: P.Ciaccia, D.Maio, P.Tiberio: "A unifying approach to evaluating block accesses in data base organizations." Information Proc. Lett., vol 28, no. 5, UPDATE: calcolo dei costi M.Schkolnick, P.Tiberio: "Estimating the cost of updates in a relational database". ACM Transactions on Database Systems, vol 10, 2, Calcolo dei costi e scelta degli indici: R.Bonanno, D.Maio, P.Tiberio: "An approximation algorithm for secondary index selection in relational database physical design". The Computer Journal, vol. 28, 4, S.Finkelstein, M.Schkolnick, P.Tiberio: "Physical database design for relational databases". ACM Transactions on Database Systems, marzo costo di accesso 47 La proiezione: proiezione SELECT DISTINCT A, C FROM REL Si ottiene costruendo un file con solo <A, C>, facendo il sort del file e poi eliminando gli uguali (oppure costruendo un indice multicolonna su A,C) Il costo sarà: C pj = NB + NB AC +C sort (NB AC ) + NB AC + N pj (bisogna calcolare la cardinalità della proiezione E pj e il numero di pagine che contengono il risultato N pj <NB AC <NB) costo di accesso 48

25 proiezione Le tuple risultato della proiezione sono distinte: SELECT DISTINCT A, C FROM REL Un calcolo approssimato del numero di tuple del risultato è il seguente: se NT sono le tuple di REL, NK A e NK C le cardinalità di A e C, NK A NK C sono le possibili coppie (a,c) di valori distinti, quindi E A,C è calcolabile con la formula di Cardenas: E A,C = Φ( NT, NK A NK C ) costo di accesso 49 proiezione Nel caso di query con selezione e proiezione: SELECT DISTINCT C FROM REL WHERE B = 10 NT/ NK B sono le tuple di REL che soddisfano il predicato, ciascuna di queste può assumere uno dei NK C valori di C, quindi E C è calcolabile con la formula di Cardenas: E C = Φ( NT/NK B,NK C ) costo di accesso 50

26 uso degli indici Gli indici servono per il controllo di unicità della chiave primaria. Gli indici clustered possono servire per l inserimento di tuple: se c è l indice clustered, seguendo l indice, alcuni DBMS cercano di inserire la nuova tupla in modo da mantenere l ordine, se non c è spazio nella pagina appropriata allora la tupla va in overflow; periodicamente la relazione viene riordinata e gli indici ricostruiti. in altri sistemi le nuove tuple vengono sempre aggiunte di seguito alle altre, degradando l ordinamento; periodicamente la relazione viene riordinata e gli indici ricostruiti. costo di accesso 51 METODI PER IL CALCOLO DEL NUMERO DI VALORI DISTINTI IN UN ATTRIBUTO DI UN FILE Se la colonna ha un indice, i valori distinti vengono contati con esattezza. Se non c è l indice il conteggio comporta un tempo di calcolo paragonabile alla costruzione di un indice (bisogna costruirlo o fare la proiezione). In entrambi i casi il calcolo va effettuato per ogni colonna SI PUO' USARE UN CONTEGGIO STATISTICO APPROSSIMATO costo di accesso 52

27 CONTEGGIO STATISTICO APPROSSIMATO Si predispone un buffer di lunghezza fissa con n posizioni di m bytes. Si sceglie una funzione hash per trasformare la chiave in m bytes. Si predispone una maschera di m*8 bits inizialmente tutti a 0 (ad esempio). Si leggono tutti i valori della chiave, si trasformano con la funzione hash e si inseriscono nel buffer se non già presenti. Quando il buffer si riempie si escludono tutti i valori che contengono un valore diverso da quello della maschera nel bit meno significativo; ciò consente di eliminare circa la metà dei valori presenti. costo di accesso 53 CONTEGGIO STATISTICO APPROSSIMATO L algoritmo riparte non facendo entrare nel buffer i valori con il 1 0 bit diverso da quello della maschera mentre fa entrare tutti gli altri. Quando nuovamente il buffer è pieno si eliminano i valori che hanno il 2 0 bit diverso da quello della maschera. etc.. Algoritmo: si predispone un buffer b vuoto per n valori di m bytes; si sceglie la funzione hash per trasformare ciscun valore in m bytes. costo di accesso 54

28 CONTEGGIO STATISTICO APPROSSIMATO mult 1, nvalb 0 repeat leggi il prossimo record VH hash (valore nella colonna) IF mult > 1 THEN escludi VH se dalla maschera per i valori da mult-1 ad 1; IF VH non è già in b THEN inserisci vh in b, nvalb nvalb +1; IF b e' pieno THEN si escludono da b tutti i valori il cui bit in posizione mult e' dal corrispondente bit della maschera, si compatta b e si conta nvalb, mult mult+1; until fine del file nval nvalb * 2 mult -1. nvalb mult nval : valori diversi contenuti nel buffer, : fattore moltiplicativo, : stima del numero di valori diversi. costo di accesso 55 CONTEGGIO STATISTICO APPROSSIMATO FILE CAMPO MASCHERA mult BUFFER se il buffer e' pieno allora scarta i valori e modifica mult v valore HASH? scartato scartato se gia' nel buffer costo di accesso 56

29 CONTEGGIO STATISTICO APPROSSIMATO La funzione hash è essenziale perché agisce da randomizzatore dei valori e rende giustificata l'ipotesi che ad ogni riempimento del buffer il controllo del valore 0/1 effettivamente elimini metà dei valori. Questo metodo può commettere in qualche caso errori grandi ma mediamente l'errore è, confinato tra il 10% ed il 5%. la stima è sufficiente per i calcoli di prima approssimazione. Un errore è anche introdotto dal fatto che le funzioni hash non sono perfette ma introducono collisioni per valori diversi. costo di accesso 57 Metodo linear counting Date N tuple, calcolare gli nval valori diversi contenuti in una colonna. La funzione hash questa volta pone ad 1 un bit in un array di m bit (con m molto grande). Alla fine del processo si conta il numero di zeri nz nell'array che rapportato ad m dà : p = nz/m = (1-1/m) nval ( 1/m è la probabilità che uno degli m bits corrisnda ad uno degli nval valori, 1-1/m è la prob. che il bit non corrisponda ad uno degli nval valori, p è la prob. che il bit non corrisponda ad alcuno degli nval valori) il numero di valori distinti è : nval = log e p/ log e (1-1/m) costo di accesso 58

30 Metodo linear counting colonna FILE valori HASH bit array costo di accesso 59 Metodo linear counting Criteri di scelta di m: si usa una tabella N m Esistono tabelle precalcolate che dato N dicono quanto deve essere la dimensione m del bit array per avere un errore minore del 10% costo di accesso 60

31 Metodo linear counting algoritmo linear counting inizializza la bitarray a 0 repeat leggi una tupla; vh hash(valore); bitarray [vh] 1; until fine del file nz numero di 0 in bitarray; nval log e p/ log e (1-1/m) p nz/m costo di accesso 61

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

Dettagli

Esercitazione su SQL

Esercitazione su SQL Esercizio 1. Esercitazione su SQL Si consideri la base di dati relazionale composta dalle seguenti relazioni: impiegato Matricola Cognome Stipendio Dipartimento 101 Sili 60 NO 102 Rossi 40 NO 103 Neri

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

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

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

Basi di Da( Presentazione del corso

Basi di Da( Presentazione del corso Basi di Da( Presentazione del corso Basi di Da( Prof. Riccardo Martoglia E- mail: riccardo.martoglia@unimo.it Home page del corso: h4p://www.isgroup.unimo.it/corsi/bda: 2 Basi di Dati - Presentazione del

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 1 Il linguaggio SQL Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 2 Introduzione SQL (Structured Query Language)

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 6: Potenza espressiva del calcolo Calcolo su domini, discussione Pregi: dichiaratività Difetti: "verbosità": tante variabili! espressioni

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione Sede di Latina Corso di Laurea in Ingegneria dell Informazione Consorzio Nettuno La fase di realizzazione si occupa

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in

MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI. Luca Carnini. Tesina presentata per la discussione del diploma di laurea in MODELLO AD OGGETTI PER LE BASI DI DATI E ANALISI DI PRODOTTI COMMERCIALI di Luca Carnini Tesina presentata per la discussione del diploma di laurea in Ingegneria informatica Politecnico di Milano sede

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

Se si insiste non si vince

Se si insiste non si vince Se si insiste non si vince Livello scolare: 2 biennio Abilità interessate Valutare la probabilità in diversi contesti problematici. Distinguere tra eventi indipendenti e non. Valutare criticamente le informazioni

Dettagli

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

Dettagli

SQL Injection: le tecniche, i tool ed esempi pratici OWASP. The OWASP Foundation

SQL Injection: le tecniche, i tool ed esempi pratici OWASP. The OWASP Foundation SQL Injection: le tecniche, i tool ed esempi pratici SMAU E- Academy 2006 Antonio Parata collaboratore -Italy http://www.ictsc.it antonio.parata@ictsc.it http://www.owasp.org/index.php/italy Copyright

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com Corso di Informatica Medica Esercitazione 1I 2013-2014! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com 1 2 Esercizio 1 Scrivere un programma che legga due array di interi da tastiera dica

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Integrazione numerica

Integrazione numerica Integrazione numerica Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 6-20-26 ottobre 2009 Indice 1 Formule di quadratura semplici e composite Formule di quadratura

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Appendice I. Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice

Appendice I. Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice . Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice Ordinamento di osservazioni: PROC SORT PROC SORT DATA=fa il sort è numerico

Dettagli

SOGEAS - Manuale operatore

SOGEAS - Manuale operatore SOGEAS - Manuale operatore Accesso La home page del programma si trova all indirizzo: http://www.sogeas.net Per accedere, l operatore dovrà cliccare sulla voce Accedi in alto a destra ed apparirà la seguente

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo:

ALGORITMI 1 a Parte. di Ippolito Perlasca. Algoritmo: ALGORITMI 1 a Parte di Ippolito Perlasca Algoritmo: Insieme di regole che forniscono una sequenza di operazioni atte a risolvere un particolare problema (De Mauro) Procedimento che consente di ottenere

Dettagli

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale

Prof. Caterina Rizzi Dipartimento di Ingegneria Industriale RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Caterina Rizzi... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell oggettoy

Dettagli

Business Intelligence

Business Intelligence aggregazione dati Business Intelligence analytic applications query d a t a w a r e h o u s e aggregazione budget sales inquiry data mining Decision Support Systems MIS ERP data management Data Modeling

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

RETTE, PIANI, SFERE, CIRCONFERENZE

RETTE, PIANI, SFERE, CIRCONFERENZE RETTE, PIANI, SFERE, CIRCONFERENZE 1. Esercizi Esercizio 1. Dati i punti A(1, 0, 1) e B(, 1, 1) trovare (1) la loro distanza; () il punto medio del segmento AB; (3) la retta AB sia in forma parametrica,

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

Fondamenti di Informatica. Dichiarazione, creazione e gestione di array in Java

Fondamenti di Informatica. Dichiarazione, creazione e gestione di array in Java Fondamenti di Informatica Dichiarazione, creazione e gestione di array in Java Array in Java - creazione La creazione fa una inizializzazione implicita: num = new int[10]; con valore 0 per int e double,

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Analisi delle Corrispondenze Multiple Prof. Roberto Fantaccione

Analisi delle Corrispondenze Multiple Prof. Roberto Fantaccione Analisi delle Corrispondenze Multiple Prof. Roberto Fantaccione Consideriamo il nostro dataset formato da 468 individui e 1 variabili nominali costituite dalle seguenti modalità : colonna D: Age of client

Dettagli

explora consulting s.r.l. Via Case Rosse, 35-84131 SALERNO - tel 089 848073 fax 089 384582 www.exploraconsulting.it info@exploraconsulting.

explora consulting s.r.l. Via Case Rosse, 35-84131 SALERNO - tel 089 848073 fax 089 384582 www.exploraconsulting.it info@exploraconsulting. explora consulting s.r.l. Via Case Rosse, 35-84131 SALERNO - tel 089 848073 fax 089 384582 www.exploraconsulting.it info@exploraconsulting.it Procedura di gestione per Laboratori di Analisi Cliniche Pag.

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

FUNZIONE ESPONENZIALE E FUNZIONE LOGARITMICA

FUNZIONE ESPONENZIALE E FUNZIONE LOGARITMICA FUNZIONE ESPONENZIALE E FUNZIONE LOGARITMICA DEFINIZIONE: Dato un numero reale a che sia a > 0 e a si definisce funzione esponenziale f(x) = a x la relazione che ad ogni valore di x associa uno e un solo

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

SQL PER SISTEMI RELAZIONALI AD OGGETTI

SQL PER SISTEMI RELAZIONALI AD OGGETTI c 88-08-07003-4 1 Approfondimenti Capitolo 2 SQL PER SISTEMI RELAZIONALI AD OGGETTI I sistemi relazionali ad oggetti sono sistemi basati sul modello dei dati relazionale esteso con le caratteristiche tipiche

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

SQL. Dipartimento del Tesoro

SQL. Dipartimento del Tesoro Dipartimento del Tesoro SQL 1 Database...4 1.1 COS È UN DATABASE...4 1.2 DAGLI ARCHIVI AI DBMS...5 1.3 VANTAGGI OFFERTI DAI DBMS...6 1.4 INDIPENDENZA DEI DATI DALL APPLICAZIONE...7 1.5 RISERVATEZZA NELL

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

TRACER218 MODULO DATALOGGER RS485 MODBUS SPECIFICA PRELIMINARE

TRACER218 MODULO DATALOGGER RS485 MODBUS SPECIFICA PRELIMINARE TRACER218 MODULO DATALOGGER RS485 MODBUS SPECIFICA PRELIMINARE V.00 AGOSTO 2012 CARATTERISTICHE TECNICHE Il modulo TRACER218 485 è un dispositivo con porta di comunicazione RS485 basata su protocollo MODBUS

Dettagli

Equazioni non lineari

Equazioni non lineari Dipartimento di Matematica tel. 011 0907503 stefano.berrone@polito.it http://calvino.polito.it/~sberrone Laboratorio di modellazione e progettazione materiali Trovare il valore x R tale che f (x) = 0,

Dettagli

Semplici Algoritmi di Ordinamento

Semplici Algoritmi di Ordinamento Fondamenti di Informatica Semplici Algoritmi di Ordinamento Fondamenti di Informatica - D. Talia - UNICAL 1 Ordinamento di una sequenza di elementi Esistono molti algoritmi di ordinamento. Tutti ricevono

Dettagli

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Esempio sull'utilizzo dell'osservatorio Virtuale Gli asteroidi Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Distribuzione degli asteroidi Il Sistema Solare è composto

Dettagli

Approssimazione polinomiale di funzioni e dati

Approssimazione polinomiale di funzioni e dati Approssimazione polinomiale di funzioni e dati Approssimare una funzione f significa trovare una funzione f di forma più semplice che possa essere usata al posto di f. Questa strategia è utilizzata nell

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

Filtri attivi del primo ordine

Filtri attivi del primo ordine Filtri attivi del primo ordine Una sintesi non esaustiva degli aspetti essenziali (*) per gli allievi della 4 A A T.I.E. 08-09 (pillole per il ripasso dell argomento, da assumere in forti dosi) (*) La

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli