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

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

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

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale Cenni sui DATABASE Cos'e' un database Un database puo' essere definito come una collezione strutturata di record (dati) I dati sono memorizzati su un computer in modo opportuno e possono essere recuperati

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

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

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

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

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

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

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

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

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

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

Progetto fisico e tuning del DB. Tecnologie delle Basi di Dati M

Progetto fisico e tuning del DB. Tecnologie delle Basi di Dati M Progetto fisico e tuning del DB Tecnologie delle Basi di Dati M Progetto fisico e tuning La valutazione del progetto di un DB avviene tramite la misurazione delle prestazioni del DBMS rispetto alle interrogazioni

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

REALIZZAZIONE DEI DBMS

REALIZZAZIONE DEI DBMS Capitolo 9 REALIZZAZIONE DEI DBMS Si presentano l architettura dei DBMS relazionali centralizzati e alcune delle tecniche utilizzate per realizzarne le funzionalità essenziali: la gestione dei dati, delle

Dettagli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Structured Query Language Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini SQL SQL = Structured Query Language Linguaggio

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

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

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL: SQL Linguaggio di interrogazione per basi di dati relazionali Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL: Creazione delle tabelle Interrogazione della base di dati

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

Parte 5 Gestione dell accesso ai file e valutazione delle query

Parte 5 Gestione dell accesso ai file e valutazione delle query Gestione dei dati Parte 5 Gestione dell accesso ai file e valutazione delle query Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

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

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti Istituto Angioy Informatica BASI DI DATI Prof. Ciaschetti Introduzione e prime definizioni Una Base di dati o Database è un archivio elettronico opportunamente organizzato per reperire in modo efficiente

Dettagli

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

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

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

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9 Prefazione... 1 Contenuti... 1 Ringraziamenti... 2 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 1.1 Dichiarazione di funzioni e procedure... 3 1.2 Istruzioni PSM... 4 2 Vincoli e Trigger...

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

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

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS 1 Tecnologia delle BD: perché studiarla? File e indici I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto finora ignorare molti aspetti realizzativi abbiamo considerato il DBMS

Dettagli

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni del linguaggio SQL per interrogazioni OLAP Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Outline! Esempio introduttivo e motivazioni! Introduzione al modello

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

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

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:

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

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

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

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati Informatica B Introduzione alle Basi di Dati e ai DBMS Contenuti Introduzione a dati e basi dati DBMS Modello dei dati Informazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.),

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

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

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

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

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza: DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

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

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

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

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

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

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

Utilizzo degli indici nei DBMS relazionali

Utilizzo degli indici nei DBMS relazionali Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Relazione per il corso di Basi di dati II Prof. Lucio Sansone Utilizzo degli indici nei DBMS relazionali Giuseppe Di Luca - Matr. 885-326

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

----------------------------------------------------------------------------

---------------------------------------------------------------------------- APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna

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: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

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

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

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

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in

Dettagli

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili.

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili. Sql è un linguaggio standard che permette di operare con i database. Per database intendo uno qualsiasi e non il solito Access, ma anche Oracle, Microsoft SQL Server, Informix, DB2, Sybase... Sql sta per

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

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria. Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

Microsoft Access. A.1 Caratteristiche del sistema

Microsoft Access. A.1 Caratteristiche del sistema A Microsoft Access Access, prodotto dalla Microsoft, è il più diffuso sistema di gestione di basi di dati per l ambiente Microsoft Windows. Access può essere utilizzato in due modalità: come gestore di

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

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

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli

Che cosa è SADAS INFOMANAGER (1982) Gestione Archivi Storici (1992) SADAS (2005) Ambiente MVS OVERMILLION (1990) Client-Server e multipiattaforma

Che cosa è SADAS INFOMANAGER (1982) Gestione Archivi Storici (1992) SADAS (2005) Ambiente MVS OVERMILLION (1990) Client-Server e multipiattaforma 1 Che cosa è SADAS SADAS è un DBMS column-based progettato in modo specifico per ottenere grandi performance nell interrogazione di archivi statici di grandi dimensioni (analisi data warehouse, OLAP).

Dettagli

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea Università degli studi Roma Tre Dipartimento di informatica ed automazione Tesi di laurea Reingegnerizzazione ed estensione di uno strumento per la generazione di siti Web Relatore Prof. P.Atzeni Università

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

Biglietti e Ritardi: schema E/R

Biglietti e Ritardi: schema E/R Biglietti e Ritardi: schema E/R Ritardi: Progettazione dello schema di Fatto! Definire uno schema di fatto per analizzare i ritardi; in particolare l analisi deve considerare l aeroporto di partenza, mentre

Dettagli

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE MODELLO RELAZIONALE Definizione di relazione Schema e istanza Chiave Valori nulli Predicati e vincoli di integrità Vincolo di integrità referenziale cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Dettagli

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

Dettagli

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

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

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista

Dettagli