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

CALCOLO DEL COSTO DI MODIFICA DEI DATI

CALCOLO DEL COSTO DI MODIFICA DEI DATI CALCOLO DEL COSTO DI MODIFICA DEI DATI costo di accesso 1 ipotesi Ipotesi di base sui metodi di accesso: scan sequenziale, oppure accesso su singlo indice, oppure intersezione di tids Ipotesi di base sugli

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Progettazione Fisica FILE

Progettazione Fisica FILE Progettazione Fisica Organizzazione dei files Organizzazione indici FILE Insieme di record lunghezza fissa (R) lunghezza variabile Record Header BH RH record1 RH record2 RH record2 RH record3 Block Header

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Basi Di Dati, 09/12/2003

Basi Di Dati, 09/12/2003 Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,

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

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

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

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI ORDINAMENTO DEI DATI Quando si ordina un elenco (ovvero una serie di righe contenenti dati correlati), le righe sono ridisposte in base al contenuto di una colonna specificata. Distinguiamo due tipi di

Dettagli

Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: Cognome: Matricola:

Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: Cognome: Matricola: 18 Gennaio 2007 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione delle lezioni di una scuola guida e si

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Sommario - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Introduzione - Un database è un archivio strutturato di dati che può essere manipolato con dei comandi nel linguaggio

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Secondo Compitino di Basi di Dati

Secondo Compitino di Basi di Dati Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per

Dettagli

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

Basi di Dati Complementi Esercizi. Esercizi su strutture fisiche di accesso. Soluzione Esercizio 1. Esercizio 1. Soluzione Esercizio 2.

Basi di Dati Complementi Esercizi. Esercizi su strutture fisiche di accesso. Soluzione Esercizio 1. Esercizio 1. Soluzione Esercizio 2. Basi di Dati Complementi Esercizi Esercizi su strutture fisiche di accesso Esercizio Soluzione Esercizio Siano date le seguenti informaizni: B=4096 bytes la dimensione di un blocco = bytes la dimensione

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Dettagli

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

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

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

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

Data Warehousing (DW)

Data Warehousing (DW) Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

LABORATORIO EXCEL XLSTAT 2008 SCHEDE 2 e 3 VARIABILI QUANTITATIVE

LABORATORIO EXCEL XLSTAT 2008 SCHEDE 2 e 3 VARIABILI QUANTITATIVE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) LABORATORIO EXCEL

Dettagli

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

Dettagli

ESEMPIO DI QUERY SUL FILE Formario_minuscolo

ESEMPIO DI QUERY SUL FILE Formario_minuscolo ESEMPIO DI QUERY SUL FILE Formario_minuscolo Tutte le interrogazioni possono essere condotte su qualsiasi campo della base di dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). Poniamo ad esempio

Dettagli

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

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

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

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

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

ESTRAZIONE DI RADICE

ESTRAZIONE DI RADICE ESTRAZIONE DI RADICE La radice è l operazione inversa dell elevamento a potenza. L esponente della potenza è l indice della radice che può essere: quadrata (); cubica (); quarta (4); ecc. La base della

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

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

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 25 Luglio 2006 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

Indici ad albero. Albero Binario di Ricerca

Indici ad albero. Albero Binario di Ricerca Indici ad albero Ogni nodo contiene una sequenza di valori ed un insieme di puntatori ai nodi successivi. I valori sono le chiavi di ricerca dell indice N.B. In strutture fisiche ogni nodo corrisponde

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Olga Scotti. Basi di Informatica. Excel

Olga Scotti. Basi di Informatica. Excel Basi di Informatica Excel Tabelle pivot Le tabelle pivot sono strumenti analitici e di reporting per creare tabelle riassuntive, riorganizzare dati tramite trascinamento, filtrare e raggruppare i dati,

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Database. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16

Database. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Database Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Trend attuali CPU sempre più potenti Memorie di massa di dimensioni sempre maggiori Eniac: 180m 2 Memoria: 20 numeri di 10 cifre, meno

Dettagli

Le query di raggruppamento

Le query di raggruppamento Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare

Dettagli

DOCUMENT MANAGEMENT SYSTEM E VISTE UTILIZZO DEL DMS E DELLE VISTE IN AZIENDA

DOCUMENT MANAGEMENT SYSTEM E VISTE UTILIZZO DEL DMS E DELLE VISTE IN AZIENDA DOCUMENT MANAGEMENT SYSTEM E VISTE UTILIZZO DEL DMS E DELLE VISTE IN AZIENDA DMS Il Document system management (DMS), letteralmente"sistema di gestione dei documenti" è una categoria di sistemi software

Dettagli

Capitolo 6. 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali.

Capitolo 6. 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali. Capitolo 6 GESTIONE DEI DATI 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali. Figura 86. Tabella Totali Si vuole sapere

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Comparatori. Comparatori di uguaglianza

Comparatori. Comparatori di uguaglianza Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",

Dettagli

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli