Progetto fisico e tuning del DB. Tecnologie delle Basi di Dati M
|
|
- Cecilia Natali
- 8 anni fa
- Visualizzazioni
Transcript
1 Progetto fisico e tuning del DB Tecnologie delle Basi di Dati M
2 Progetto fisico e tuning La valutazione del progetto di un DB avviene tramite la misurazione delle prestazioni del DBMS rispetto alle interrogazioni ed alle operazioni di modifica del DB tipicamente utilizzate È possibile migliorare le prestazioni A-priori tramite i 3 tipi di progettazione (concettuale, logica, fisica) A-posteriori tramite il tuning di parametri e/o oggetti del DB 2
3 Workload La chiave per un buon progetto fisico è ottenere una descrizione (il più possibile) accurata del carico di lavoro atteso Il workload include: Un elenco di query con la rispettiva frequenza di esecuzione Un elenco di transazioni (operazioni di modifica) con la rispettiva frequenza di esecuzione Un obiettivo di prestazioni per ciascun tipo di query/operazione di modifica 3
4 La lista della spesa Per ogni query nel workload occorre conoscere: Quali relazioni sono interessate Quali attributi vengono mantenuti (proiezione) Quali attributi sono interessati da predicati (selezione/join) Qual è la selettività di ogni predicato Per ogni transazione nel workload occorre conoscere: Che tipo di modifica viene realizzata (insert/delete/update) Quali relazioni sono interessate Quali attributi sono interessati da predicati (selezione/join) Qual è la selettività di ogni predicato Quali campi sono modificati 4
5 Scelte per progetto fisico/tuning Quali indici creare? Un indice può velocizzare alcune query/update, ma tipicamente rallenta le transazioni Su quali relazioni/attributi conviene costruire un indice? L indice deve essere clustered? L indice deve essere denso o sparso? Occorre modificare lo schema concettuale per migliorare le prestazioni? Schemi di normalizzazione alternativi Denormalizzazione Partizionamento verticale/orizzontale Viste materializzate Occorre riscrivere alcune query/transazioni? Il tutto si complica in scenari distribuiti 5
6 Tuning Il tuning è necessario perché, spesso, le condizioni al contorno cambiano È quindi necessario rivedere alcune delle scelte progettuali effettuate all inizio Nuove query/transazioni Modifica delle frequenze delle query/transazioni Upgrade/downgrade dell hardware Modifica/aggiornamento del DBMS 6
7 I 5 principi fondamentali Think globally, fix locally Non limitarsi all ottimizzazione di singole query Partitioning breaks bottlenecks Partizionare nel tempo, nello spazio o in risorse Start-up costs are high, running costs are low Es.: letture sequenziali, compilazione di query, connessione al DB da applicazioni Render unto server what is due unto server Sviluppare le applicazioni per ridurre il carico sui server Be prepared for trade-offs You want speed: how much are you willing to pay? 7
8 Il problema del progetto fisico Il progetto fisico può essere visto come un problema di ottimizzazione in cui il costo di ogni query/transazione viene modificato dalla presenza/assenza di un indice È però evidente che lo spazio delle possibili soluzioni è enorme Usiamo un approccio euristico incrementale Prima vediamo quali indici potrebbero migliorare le prestazioni delle query/transazioni più importanti Quindi vediamo se l aggiunta di ulteriori indici può migliorare la soluzione 8
9 Linee guida (i) Creazione di un indice Non creare indici inutili Creare prima indici che velocizzino più di una query Scelta dell attributo da indicizzare Gli attributi presenti nella clausola WHERE delle query sono candidati come chiavi di ricerca Predicati di uguaglianza suggeriscono l uso di hash Predicati di range suggeriscono l uso di B-tree Il join index nested loop funziona meglio con indici hash 9
10 Linee guida (ii) Uso di chiavi multiple in un indice Presenza di predicati WHERE su più attributi di una relazione Possibilità di sfruttare piani index-only Attenzione all ordine degli attributi in caso di predicati di range Clusterizzazione di un indice Le query di range sono quelle che beneficiano maggiormente dalla clusterizzazione di un indice Anche le ricerche su attributi non chiave traggono vantaggio da indici clustered I piani di accesso index-only non necessitano di indici clustered 10
11 Selezione degli indici (i) SELECT E.name, D.mgr FROM Employees E, Departments D WHERE D.name= Toy AND E.dno=D.dno Quali indici? D.name (hash)! E.dno? D.dno? Un possibile piano di accesso sarebbe: Recuperare i dipartimenti su D.name Usare un index nested loop su E (indice su E.dno) Quindi, indice (hash) su E.dno! 11
12 Selezione degli indici (ii) SELECT E.name, D.mgr FROM Employees E, Departments D WHERE D.name= Toy AND E.dno=D.dno AND E.age=25 Quali indici? D.name? E.age? E.dno? D.dno? Se esistesse già l indice su E.age potrebbe essere inutile creare l indice su E.dno 12
13 Selezione degli indici (iii) SELECT E.name, D.mgr FROM Employees E, Departments D WHERE E.sal BETWEEN and AND E.hobby= stamps AND E.dno=D.dno Quali indici? E.sal? E.hobby? E.dno? D.dno? Tipicamente, la scelta cadrà sull indice più selettivo tra E.sal e E.hobby con l aggiunta di D.dno E se la selettività non è nota? 13
14 Indici clustered (i) SELECT E.dno FROM Employees E WHERE E.age>40 L indice su age (B + -tree, ovviamente) dovrebbe essere clustered? Se ci sono molti ultra-quarantenni l indice non è utile E se ci sono, ad esempio, il 10% di ultra-quarantenni? 14
15 Indici clustered (ii) SELECT E.dno, count(*) FROM Employees E WHERE E.age>20 GROUP BY E.dno L indice su age (B + -tree, ovviamente) è utile? Dipende dalla selettività del predicato su età Un alternativa potrebbe essere un indice su dno In questo caso l indice dovrebbe essere clustered Alternativamente, l ottimizzatore sceglierebbe di ordinare E in base a dno 15
16 Indici clustered (iii) SELECT E.dno FROM Employees E WHERE E.hobby= stamps L indice su hobby deve essere clustered? Dipende dalla selettività del predicato su hobby E in questo caso? SELECT E.dno FROM Employees E WHERE E.eid=552 16
17 Indici clustered (iv) SELECT E.name, D.mgr FROM Employees E, Departments D WHERE D.name= Toy AND E.dno=D.dno Gli indici su D.name e E.dno devono essere clustered? Probabilmente, ci saranno pochi dipartimenti che soddisfano il predicato, quindi indice unclustered Viceversa, l indice per l index nested loop dovrebbe essere clustered 17
18 Indici clustered (v) SELECT E.name, D.mgr FROM Employees E, Departments D WHERE E.hobby= stamps AND E.dno=D.dno In questo caso, E dovrebbe essere esterna? Quali indici? Un sort-merge join potrebbe sfruttare un B + -tree clustered su D.dno Se il predicato su E.hobby è selettivo, un indice (clustered) su E.hobby può essere utile 18
19 Indici clustered (vi) costo In generale, il costo dell accesso ai record di una tabella segue questo andamento: indice unclustered indice clustered scansione sequenziale frazione di record acceduti 19
20 Indici multi-attributo SELECT E.eid FROM Employees E WHERE E.age BETWEEN 20 AND 30 AND E.sal BETWEEN 3000 AND 5000 Un indice (B + -tree clustered) su <age,sal> potrebbe essere utile E un indice su <sal,age>? E in questo caso? SELECT E.eid FROM Employees E WHERE E.sal BETWEEN 3000 AND 5000 AND E.age = 25 20
21 Indici per piani index-only (i) SELECT D.mgr FROM Departments D, Employees E WHERE D.dno=E.dno Se abbiamo un indice denso su E.dno possiamo usarlo per un index nested loop Non ha senso che l indice sia clustered (nessun record di E viene recuperato) 21
22 Indici per piani index-only (ii) SELECT D.mgr, E.eid FROM Departments D, Employees E WHERE D.dno=E.dno Se abbiamo un indice denso su E.dno possiamo usarlo per un index nested loop In questo caso l indice deve essere clustered! Se abbiamo un B + -tree denso su <dno,eid> possiamo usare un piano index-only Ancora, non è necessario che l indice sia clustered Un indice hash andrebbe bene? 22
23 Indici per piani index-only (iii) SELECT E.dno, COUNT(*) FROM Employees E GROUP BY E.dno Se abbiamo un indice su E.dno possiamo usarlo per un piano index-only 23
24 Indici per piani index-only (iv) SELECT E.dno, COUNT(*) FROM Employees E WHERE E.sal=10000 GROUP BY E.dno È meglio avere un indice su <sal,dno> o su <dno,sal>? Meglio <sal,dno> Hash o B + -tree? B + -tree perché dobbiamo ordinare su dno E se il predicato è E.sal>10000? 24
25 Indici per piani index-only (v) SELECT E.dno, MIN(E.sal) FROM Employees E GROUP BY E.dno È meglio avere un indice su <sal,dno> o su <dno,sal>? In questo caso, un B + -tree su <dno,sal> ci darebbe immediatamente il risultato Il piano che usa l indice <sal,dno> richiederebbe anch esso un B + -tree ma sarebbe comunque meno efficiente 25
26 Indici per piani index-only (vi) SELECT AVG(E.sal) FROM Employees E WHERE E.age=25 AND E.sal BETWEEN 3000 AND 5000 È meglio avere un indice su <sal,age> o su <age,sal>? In questo caso, un B + -tree su <age,sal> ci darebbe immediatamente il risultato Il piano che usa l indice <sal,age> richiederebbe anch esso un B + -tree ma sarebbe comunque meno efficiente 26
27 Tuning del DB (i) Tuning degli indici Rivedere le scelte in base a statistiche modificate Aggiornare le statistiche di indici/db Riorganizzare periodicamente gli indici Tuning dello schema concettuale Denormalizzazione Decomposizione verticale Decomposizione orizzontale Eventuale creazione di viste 27
28 Tuning del DB (ii) Tuning di query (e viste) Uso di UNION al posto di OR Eliminazione del DISTINCT Sostituzione delle sub-query con join Eliminazione delle tabelle temporanee Riscrittura di predicati con condizioni aritmetiche Es., E.age=2*D.age rispetto a E.age/2=D.age Selezioni con valori NULL Impatto della concorrenza Ridurre il livello di isolation delle query 28
29 Strumenti automatici Quasi tutti i DBMS commerciali forniscono degli strumenti automatici per la progettazione fisica e il tuning del DB DB2 design advisor, SQL Server database tuning advisor, Oracle access advisor Tipicamente basati su analisi what-if? Uso dell ottimizzatore per valutare l impatto di una possibile scelta Ogni sistema ha poi una varietà di strumenti per la gestione fisica dei dati, l analisi dei piani di accesso, ecc. 29
30 Una raccomandazione I suggerimenti forniti dagli advisor si riferiscono unicamente al workload fornito Non è possibile trarre considerazioni generali che valgano per workload diversi da quello fornito Analogia: il computer non sa giocare a scacchi Questo significa che non è mai opportuno sovra-ottimizzare un DB Occorre comunque che il DBA conosca quali siano le conseguenze di ciascuna azione suggerita dall advisor Ricordando la dipendenza dall HW 30
31 Collezionare statistiche in DB2 Le informazioni statistiche su tabelle e indici sono fondamentali per permettere all ottimizzatore di operare scelte acccurate In DB2 si usa il comando RUNSTATS Esistono molte varianti, tra cui: RUNSTATS ON TABLE MySchema.TableName WITH DISTRIBUTION ON ALL COLUMNS AND DETAILED INDEXES ALL La forma WITH DISTRIBUTION forza DB2 a collezionare statistiche dettagliate sulle distribuzioni dei valori delle varie colonne (istogrammi e valori frequenti) 31
32 Statistiche detailed sugli indici La forma DETAILED INDEXES ALL genera informazioni utili per capire il costo di una scansione via indice In particolare, il sistema genera una lista di 11 PAGE_FETCH_PAIRS Ogni coppia ha la forma (buffer_size,#i/o) e stima quanti I/O (fisici) sarà necessario eseguire per effettuare una scansione completa avendo a disposizione un certo numero di buffer 32
33 Esempi di curve PAGE_FETCH_PAIRS Le curve tipiche sono: 1: clustering praticamente nullo 2: buon clustering, avendo un buffer size modesto si evitano I/O inutili 3: situazione intermedia, assunta dall ottimizzatore in assenza di statistiche dettagliate
34 Riorganizzazione dei dati Il comando REORGCHK: REORGCHK ON TABLE MySchema.TableName fornisce alcuni indicatori utili per capire se una table deve essere riorganizzata fisicamente Idem per gli indici Il comando esegue automaticamente anche RUNSTATS (secondo la modalità presente in catalogo) 34
35 Info da REORGCHK Vengono forniti tre indicatori, con relativi valori di soglia F1: % di record in overflow (< 5%) F2: % di spazio utilizzato nelle pagine allocate (> 70%) F3: NPAGES/FPAGES (> 80%) 35
36 Riorganizzazione di dati e indici Per riorganizzare i dati e gli indici: REORG TABLE MySchema.MyTable Per riorganizzare solo gli indici: REORG INDEXES ALL FOR TABLE MySchema.MyTable 36
37 Esempio: frammentare i dati Per generare una situazione in cui la riorganizzazione può rendersi necessaria generiamo una tabella con molte righe Eseguiamo REORGCHK Poi ne cancelliamo una buona parte Rieseguiamo REORGCHK 37
38 Esempio: generare i dati (i) Creiamo la seguente tabella: CREATE TABLE TEST ( A INT, B INT, C CHAR(100) ) in cui C serve solo a occupare spazio Per generare i dati usiamo un trigger ricorsivo: DB2 supporta al massimo 16 livelli di ricorsione Non permette ricorsione multipla (ovvero non possiamo avere più di 1 azione di inserimento nel trigger) Usiamo uno statement trigger 38
39 Esempio: generare i dati (ii) CREATE TRIGGER AUTO_INSERT AFTER INSERT ON TEST FOR EACH STATEMENT WHEN (10000 > (SELECT COUNT(*) FROM TEST)) INSERT INTO TEST(A,B,C) SELECT MOD(3*A+1,20),MOD(3*B+1,50),C FROM TEST Il trigger va creato dopo l inserimento del 1 record e prima dell inserimento del 2 : INSERT INTO TEST VALUES (1,10, ) INSERT INTO TEST VALUES (2,20, ) Così si generano record! (16384 = ) 39
40 Esempio: situazione iniziale Eseguiamo RUNSTATS ON TABLE B16884.TEST WITH DISTRIBUTION ON ALL COLUMNS B16884 è lo schema in cui si trova TEST Quindi REORGCHK: 40
41 Esempio: dopo le cancellazioni Dopo DELETE FROM TEST WHERE B>3: Dopo REORG TABLE B16884.TEST: 41
42 Explain tables Informazioni dettagliate sul piano di accesso scelto dall ottimizzatore possono essere mantenute in un insieme di tabelle chiamate Explain tables Le Explain tables possono essere esaminate mediante tool grafico del Command Editor (Visual Explain) interrogazioni SQL 42
43 Visual Explain Eseguendo una query dal Command Editor 43
44 Esercizio: scelta degli indici (i) Usiamo il Visual Explain per vedere come viene scelto l indice migliore da usare nell esecuzione di una query A tale scopo creiamo e popoliamo una tabella (TEST) con pochi valori nel campo A, ma più valori distinti nel campo B: CREATE TABLE TEST( A INT, B INT, C CHAR(250)) 44
45 Esercizio: scelta degli indici (ii) Creiamo gli indici su A, B, (A,B) e (B,A), ad es: CREATE INDEX IDXA ON B16884.TEST(A) Eseguiamo RUNSTATS Eseguiamo query del tipo: SELECT * FROM TEST WHERE A <op> :a AND B <op> :b e verifichiamo il piano di accesso scelto Sistemi Informativi L-B 45
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
DettagliEsercitazione 5 DB2 Cataloghi e Indici
Esercitazione 5 DB2 Cataloghi e Indici Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione5.pdf Cataloghi di sistema Sono insieme
DettagliDBMS (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
DettagliDispensa 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
DettagliSecondo 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
DettagliOperazioni 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
DettagliCapitolo 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
DettagliBasi 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,
DettagliDDL, 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
DettagliBasi di Dati Relazionali
Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliInformatica 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à
DettagliData 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
DettagliIl 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
DettagliEsercitazione 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
DettagliSISTEMI 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
DettagliCALCOLO 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
DettagliESEMPI 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
DettagliIl 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
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliLezione 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
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliOrganizzazione 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
DettagliJoin 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
DettagliDOCUMENT 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
DettagliCorso 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
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliPROGRAMMA 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
DettagliIl 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
DettagliIl 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
DettagliSQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.
SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliBasi 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,
DettagliOSSIF 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
DettagliIl BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak
ESEMPIO DELLE VENDITE: MISURE ED AGGREGABILITA E l esempio discusso nelle dispense è Dispense : http://www.dbgroup.unimo.it/sia/sia_2014_progettazionediundw_misure.pdf esteso e dettagliato. Il BACKUP è
DettagliIntroduzione. 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
DettagliInsegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
DettagliAbilità 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.
DettagliIntroduzione 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
DettagliDatabase. 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
DettagliIl 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
DettagliIndice 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...
DettagliBasi 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
DettagliSQL/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,
DettagliGERARCHIE 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
DettagliUtilizzando 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
DettagliCorso di Informatica. Immissione di dati. Visualizzazione come foglio dati 1. Visualizzazione come foglio dati 2 11/01/2008
Corso di Informatica Immissione di dati La modalità di inserimento che ricorda più Excel è la visualizzazione come foglio dati Ing. Dario Sguassero Microsoft Access 2/3 11/01/2008 0.35 2 Visualizzazione
DettagliData warehouse in Oracle
Data warehouse in Oracle Viste materializzate ed estensioni al linguaggio i SQL per l analisi li i dei dati presenti nei data warehouse Estensioni al linguaggio SQL per l analisi dei dati presenti nei
DettagliI 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
DettagliArchivi 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
DettagliLe 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
DettagliStefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse
Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le
DettagliSoluzione dell esercizio del 12 Febbraio 2004
Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale
DettagliPer 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
DettagliSQL. 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
DettagliData 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
DettagliProgetto Migrazione a DB2 V8
... Email:. Rif... Indice 1 SUPPORTO ALLA MIGRAZIONE A DB2 V8...3 1.1 DESCRIZIONE...3 1.1.1 Considerazioni Migrazione DB2 V8...3 1.1.2 Macro Attività Migrazione DB2 V8...4 1.1.3 Considerazioni DB2 V8...5
DettagliARCHIVI E DATABASE (prof. Ivaldi Giuliano)
ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).
DettagliIntroduzione all Architettura del DBMS
Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo
DettagliPROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste
PROGRAMMAZIONE MODULARE Indirizzo: INFORMATICA SIRIO Disciplina: INFORMATICA Classe: QUINTA Ore previste: 16 di cui 66 ore di teoria e 99 ore di laboratorio. N. modulo Titolo Modulo Titolo unità didattiche
DettagliSistemi 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
DettagliI MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale
La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliEsercizio 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
DettagliIl seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:
Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza
DettagliOttimizzazione 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
DettagliMEZZI CodM Tipo Targa AnnoI Assicurato
Esercizio 1 Si consideri il seguente schema relazionale, relativo alla base di dati di un agenzia di assicurazioni: ASSICURATI(CodA, Nome, Cognome, Indirizzo, Telefono) POLIZZE(CodP, Data, Tipo, CodA,
DettagliCosa è un foglio elettronico
Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliSQL Server. Applicazioni principali
SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni OLAP Applicazioni principali SQL Server Enterprise Manager Gestione generale di SQL Server Gestione utenti Creazione e gestione dei
DettagliSQL - 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
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliDefinizione 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
DettagliECDL - 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?
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliSistemi Mobili e Wireless Android - Dati persistenti: SQLite
Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre
DettagliInformatica 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
DettagliIntroduzione 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
DettagliSQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))
SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
DettagliINSERIMENTO DATI BASILARI
PASSO PASSO. Questo applicativo software nasce con l idea di essere molto semplice da usare. Di fatto lo è ed infatti non dispone di un help in linea all interno dello stesso. Tuttavia ci sentiamo in dovere
DettagliINDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:
Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle
DettagliCome modificare la propria Home Page e gli elementi correlati
Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni
DettagliLaboratorio 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
DettagliIstruzioni DML di SQL
Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,
DettagliRECUPERO DATI LIFO DA ARCHIVI ESTERNI
RECUPERO DATI LIFO DA ARCHIVI ESTERNI È possibile importare i dati relativi ai LIFO di esercizi non gestiti con Arca2000? La risposta è Sì. Esistono tre strade per recuperare i dati LIFO per gli articoli
DettagliISTRUZIONI PER LA GESTIONE BUDGET
ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET
DettagliLe 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
DettagliINFORMATICA. 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
DettagliLa manutenzione come elemento di garanzia della sicurezza di macchine e impianti
La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa
DettagliCONCETTO 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
DettagliUtilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015
Utilizzo della APP IrriframeVoice Versione 1.0 maggio 2015 0.0 Installazione Sul telefono o sul tablet andare sullo store delle applicazioni per scaricare la APP A seconda del sistema operativo del telefono
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliSQL 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.
DettagliAnalisi e diagramma di Pareto
Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
Dettagli. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi
Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare
DettagliImpresa di raccolta e riciclaggio di materiali metallici e di rifiuti.
Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Indice Cognome Nome Matr.xxxxxx email Cognome Nome Mat. Yyyyyy email Argomento Pagina 1. Analisi dei requisiti 1 a. Requisiti espressi
Dettagli