Processo di ottimizzazione. Ottimizzatore di Oracle. Execution plan. Esempio. Albero di esecuzione. Ottimizzatore di Oracle Dicembre 2002
|
|
- Angelica Elia
- 7 anni fa
- Visualizzazioni
Transcript
1 Processo di ottimizzazione Ottimizzatore di Oracle Silvia Chiusano Politecnico di Torino Scelta della esecuzione più efficiente per uno statement SQL Influenzato da: Metodi di accesso ai dati (access path) Statistiche sui dati (dimensioni delle tabelle, distribuzione dei dati nelle tabelle, etc.) Strategia di ottimizzazione Hint specificati dall utente (ordine di esecuzione dei join, access path, strategia di ottimizzazione, etc) Execution plan Esempio Indica l esecuzione di uno statement SQL Lo statement SQL è diviso in un insieme di passi Ad ogni passo è assegnato un ordine di esecuzione Rappresentato graficamente con un albero di esecuzione. Contiene due tipi di passi: per accedere fisicamente ai dati (access path) per elaborazione dei dati. DATABASE EMP( job, deptno, ) DEPT(deptno, ) FROM dept, emp WHERE dept.deptno=emp.deptno; 4 Albero di esecuzione Flusso di esecuzione Access to emp Join operation Access to dept Row source Elaborazione Accesso fisico ai dati Flusso di esecuzione 5 I nodi figli sono processati prima del nodo padre Un nodo è eseguito quando: tutti i dati sono stati forniti dal nodo figlio (per i nodi di tipo sort, merge join, group by, funzioni aggregate) oppure ad ogni nuovo dato fornito dal nodo figlio (per i nodi di tipo nested loop join). 6
2 Tipi di access path Esempio # Full Table scan Index Scan By ROWID Hash scan Cluster scan FROM emp WHERE job= clerk ; Table access full (emp) 7 8 Esempio # Tipi di join FROM emp WHERE job= clerk ; Table access by ROWID (emp) Nested loop join Sort merge join (equijoin) Cluster Join Hash join (equijoin; non in rule based) Index range scan (jobind) CREATE INDEX jonind ON emp; 9 Esempio # FROM dept, emp WHERE dept.deptno=emp.deptno; Strategie di ottimizzazione Due possibili strategie per definire execution plan: Cost-based approach Rule-based approach Sort Merge 4 Sort Cost based è una strategia legata ad una analisi dinamica della distribuzione dei dati Rule based è una strategia legata ad una analisi dell efficienza dei access path che è statica e scorrelata dalla effettiva distribuzione dei dati. Full access 5 Full access
3 Cost-based approach Un insieme di piani di esecuzione (execution plan) è definito in base a access path disponibili ed hint Ad ogni execution plan è assegnato un costo usando le statistiche disponibili nel dizionario dei dati Il costo è l utilizzo atteso delle risorse (I/O, CPU time, memoria) per eseguire lo statement SQL. Obiettivi: throughput (default) response time Rule-based approach Si basa su un ranking a priori degli access path Analizza gli access path disponibili e sceglie l esecuzione che utilizza gli access path ottimali rispetto al ranking. 4 Cost-based e rule-based Cost based: in base alla distribuzione dei dati sceglie tra accesso tramite indici o full scan: accesso poco frequente a dati è più efficiente tramite indice, molto frequente tramite full scan esecuzione del join: throughput: privilegia esecuzione del merge join response time: privilegia esecuzione del nested loop join. uso della distribuzione dei dati e access path disponibili per decidere l ordine e il tipo di join. Cost-based e rule-based Rule based: privilegia sempre l accesso tramite indici (anche quando non è vantaggioso) nell esecuzione del join privilegia il nested loop join in cui la inner table è acceduta tramite un indice 5 6 Calcolo di statistiche Calcolo delle statistiche relative alle caratteristiche memorizzazione fisica e distribuzione dei dati di tabelle, indici, colonne, cluster Sono memorizzate nel dizionario dei dati. Sono accessibili interrogando le view corrispondenti. Possono essere calcolate in modo esatto o in modo approssimato (su un campione dei dati). Statistiche disponibili Indice: # valori distinti # ROWID (foglie) con lo stesso indice Tabella # righe # data block contenenti i dati Colonna: distribuzione dei dati (equivalente a istogrammi) Istogramma 7 8
4 Istogrammi Procedimento di ottimizzazione Per analizzare la distribuzione di valori in una colonna Utili nel caso di dati non distribuiti uniformemente Width-balanced histograms: divide i dati in un numero fisso di sottoinsiemi (bucket) e poi conta quanti dati appartengono ad ogni bucket. Heigth-balanced histograms: definisce il numero di dati in ogni bucket; ogni bucket è caratterizzato dalla distribuzione di valori diversi nel bucket (valore min e max). Trasformazione/Semplificazione dello statement SQL Scelta della strategia di ottimizzazione Analisi dei cammini di accesso ai dati Definizione dell ordine di esecuzione delle join e del tipo di operazione di join. 9 Calcolo del piano di esecuzione. Creazione di plan table. Scelta della strategia di ottimizzazione. Definizione di indici e hint 4. Calcolo di statistiche 5. Calcolo del piano di esecuzione 6. Visualizzazione del piano di esecuzione. Creazione di Plan Table Ogni riga contiene un passo del piano di esecuzione I campi principali sono i sequenti: STATEMENT_ID: identificatore delle righe che appartengono allo stesso piano di esecuzione OPERATION, OPTIONS: tipo di operazione (ad esempio join) e modalità con cui è eseguita (ad esempio nested loop) OBJECT_NAME: nome tabella o indice OPTIMIZER: strategia di ottimizzazione ID, PARENT_id, POSITION: #ordine del passo, # nodo padre, ordine per processamento di nodi con lo stesso padre COST. Scelta della strategia di ottimizzazione 4. Calcolo di statistiche ALTER SESSION SET OPTIMIZER_MODE=option; ANALYZE TABLE nametable COMPUTE STATISTICS Opzioni: CHOOSE: cost-based (throughput) se sono disponibili statistiche nel dizionario dei dati, rule based altrimenti FIRST_ROWS: cost-based (response time) ALL_ROWS: cost-based (throughput) RULE: rule based ANALYZE TABLE nametable EVALUATE STATISTICS ANALYZE TABLE nametable COMPUTE STATISTICS FOR COLUMNS namecolumn SIZE #buckets 4 4
5 5. Calcolo del piano di esecuzione 6. Visualizzazione del piano di esecuzione Interrogazione della tabella plan table EXPLAIN PLAN SET statement_id= name statement id INTO plan table FOR SQL statement; 5 6 Indici Permettono di accedere in modo diretto e veloce ai campi ai quali si riferiscono I campi su cui creare degli indici vanno scelti: in funzione della distribuzione dei dati nella base di dati in funzione delle interrogazioni che si andarnno ad operare Gli indici richiedono spazio e tempi di aggiornamento (vanno creati solo se sono utili) Creazione di indici CREATE INDEX nome_indice ON nome_tabella(nome_campo) CREATE INDEX ind_deptno ON emp(deptno); 7 8 Statistiche sugli indici ANALYZE INDEX nome_indice COMPUTE STATISTICS ANALYZE INDEX ind_deptno COMPUTE STATISTICS; Hint Permettono di definire i seguenti aspetti: strategia di ottimizzazione access path per le tabelle ordine delle tabelle nell esecuzione di un join tipo di join. rendono il codice SQL non più portabile 9 5
6 Definizione di un hint SELECT /*+ hint eventuali_commenti */ Hint per access path: FULL L hint FULL forza un accesso di tipo full table scan sulla tabella specificata FULL( nome tabella) SELECT /*+ FULL(e) Uso di hint*/ ename from emp e where job= clerk ; FULL(alias tabella) SELECT /*+ FULL(e) */ empno from emp e where empno < 75; Hint per access path: INDEX L hint INDEX forza un accesso di tipo index scan sull indice specificato INDEX( nome tabella nome indice) INDEX( alias tabella nome indice) Hint per access path: INDEX Se in INDEX( ) sono specificati più indici per una tabella, l ottimizzatore sceglie quello più vantaggioso Se in INDEX( ) non sono specificati indici ma viene solo indicata la tabella, l ottimizzatorer analizza tutti gli indici definiti sulla tabella e sceglie quello più vantaggioso Si assuma un indice sal_ind sul campo sal in emp SELECT /*+ INDEX(e sal_ind) */ ename, job from emp e where sal < 75; 4 Hint per ordine di esecuzione delle join: ORDERED Utilizzando l hint ORDERED, le tabelle compaiono nel join nell ordine specificato nella clausola FROM. ORDERED SELECT /*+ ORDERED */ e.sal from emp e, salgrade s where s.hisal= e.sal; Hint per la scelta del tipo di join Forza il nested loop join nei join in cui è coinvolta la tabella. La tabella è considerata la inner table. Questa istruzione deve sempre essere preceduta da ORDERED ORDERED USE_NL (nome tabella) ORDERED USE_NL (alias tabella) Il piano di esecuzione indica un nested loop join, dove la tabella SALGRADE è la inner table; 5 6 6
7 Hint per la scelta del tipo di join Esempio Forza il merge sort join nei join in cui è coinvolta la tabella. USE_MERGE (nome tabella) USE_MERGE (alias tabella) Forza l hash join nei join in cui è coinvolta la tabella. explain plan for select /*+ FULL(e) ORDERED USE_NL(e) */ e.ename, e.sal from salgrade s, emp e where s.hisal < e.sal and e.job='clerk ; USE_HASH (nome tabella) USE_HASH (alias tabella) 7 8 7
Silvia Chiusano, Paolo Garza 1
Creazione di un trigger Sviluppo ed utilizzo dei trigger in Oracle Silvia Chiusano Paolo Garza CREATE TRIGGER nome_trigger modo evento [OR evento] ON tabella [REFERENCING referenza] [] [WHEN (predicato
DettagliPag Politecnico di Torino 1
Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,
Dettagli07. Ottimizzare le istruzioni SQL
07. Ottimizzare le istruzioni SQL Introduzione Union, subquery e Join Il piano di esecuzione L ottimizzatore Le statistiche Il comando EXPLAIN Gli Hint A.A. 2005 Laboratorio di basi di dati - LB 2 La UNION
DettagliAPPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio
APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio
DettagliData warehouse in Oracle
Data warehouse in Oracle Viste materializzate e estensioni al linguaggio SQL per l analisi dei dati presenti nei data warehouse Viste materializzate Paolo Garza 1 Viste materializzate Viste materializzate
DettagliIl sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
Dettagli2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
DettagliMicrosoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati
Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea
DettagliFILE E INDICI Architettura DBMS
FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le
DettagliViste materializzate in Oracle e SQL esteso. Sistemi di gestione di basi di dati. Tania Cerquitelli e Paolo Garza 1.
Tabella d esempio Data warehouse in Oracle Schema tabella VENDITE(Città, Data, Importo) Viste materializzate ed estensioni al linguaggio SQL per l analisi dei dati presenti nei data warehouse Estensioni
DettagliCognome Nome Matricola Ordin.
Basi di dati II, primo modulo Tecnologia delle basi di dati Prova parziale 27 marzo 2009 Compito A Scrivere il nome su questo foglio e su quello protocollo. Rispondere su questo foglio, eventualmente con
DettagliStrutture di accesso ai dati: B + -tree
Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere
DettagliINDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso
INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo
DettagliSQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
DettagliInterrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
DettagliSQL: Definizione e Manipolazione di Relazioni. Capitolo 2
SQL: Definizione e Manipolazione di Relazioni Capitolo 2 1 Sintassi della Creazione di uno Schema Relazionale CREATE TABLE ( [NOT NULL] [UNIQUE] [],...,...,
DettagliAnalysis Service. Dutto Riccardo IPSI - tel Dutto Riccardo - SQL Server 2008.
SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo riccardo.dutto@polito.it IPSI - tel.7991 http://dbdmg.polito.it/ Il Data warehouse Sorgenti dati operazionali DB relazionali
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
Dettagli<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliSQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative
SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono
DettagliTecnologia delle Basi di Dati
Tecnlgia delle Basi di Dati Esercitazine 1 Ottimizzatre di Oracle Obiettiv dell'esercitazine Calclare il pian di esecuzine per alcune query SQL analizzand i seguenti aspetti: 1. metd di access alle tabelle
DettagliTecnologia delle Basi di Dati Esercitazione #4 Definizione dei trigger in Oracle
Tecnologia delle Basi di Dati Esercitazione #4 Definizione dei trigger in Oracle 1 Materiale disponibile Gli script e il testo delle esercitazioni sono disponibili nel direttorio della propria home, nella
DettagliDATABASE PER IL WEB. Programmazione Web 1
DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca
DettagliOttimizzazione 3. Ottimizzazione 4
Ottimizzazione Ottimizzazione Nel modello relazionale la locazione fisica dei dati non è importante. Anche in un DBMS la locazione fisica dei dati dell utente e l operazione utilizzata per recuperarli
DettagliFile e Indici. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
File e Indici 1 File Dati di un DBMS memorizzati come record Un file è una collezione di record Organizzazione del file: metodo per registrare un file su un dispositivo di memorizzazione esterno Un record
DettagliSchema Del DB Operazionale TELEFONATE
Schema Del DB Operazionale TELEFONATE Costruire lo Schema di Fatto per analizzare le chiamate considerando come dimensioni TelefonoDA e TelefonoA, Data e Fascia, intesa come FasciaOraria della chiamata
DettagliCaratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
DettagliD B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
DettagliLe Basi di Dati Attive
Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab
DettagliInterrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
Dettagli@2011 Politecnico di Torino 1
Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti
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
DettagliOracle Database 10g: Introduction to SQL - LVC
Oracle University Chiamaci: 800 672 253 Oracle Database 10g: Introduction to SQL - LVC Duration: 5 Days Description Questo corso è destinato agli utenti di Oracle8i, Oracle9i e Oracle Database 10g.In questo
DettagliD B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base
Linguaggio SQL: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2007 Politecnico di Torino 1 Istruzione SELECT: esempio Trovare il codice
DettagliAlgebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici
DettagliSQL [2] Concetti avanzati di SQL. Esempi di interrogazioni
SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non
DettagliIl linguaggio SQL: le viste
Il linguaggio SQL: le viste Basi di dati 1 Il linguaggio SQL: le viste Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL: le viste Basi di dati 2 Introduzione
DettagliACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio
ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio Le query su più tabelle Le query proposte nella Lezione scorsa sono tutte basate su una sola tabella. Una base di dati è solitamente costituita
DettagliCorso di Informatica. Software di produttività personale e database. Ing Pasquale Rota
Corso di Software di produttività personale e database Ing Pasquale Rota Argomenti I programmi di produttività personale Le basi di dati Fogli elettronici Software di produttività personale e database
DettagliBasi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale
Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Struttura DBMS Gestore delle interrogazioni Decide le strategie di accesso ai dati per rispondere alle interrogazioni Gestore
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliStructured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati
Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB
DettagliDomande utili alla preparazione dell orale di Informatica all Esame di Stato
Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre
DettagliEsercitazione: Interrogazioni SQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Interrogazioni SQL Domenico Fabio Savo 1 Sommario 1. Creazione del database utilizzato per l esercitazione
DettagliEsercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive
Note introduttive Il metodo di lavoro proposto ripercorre il ciclo di vita di un sistema informativo automatizzato attraverso l analisi, il progetto, la realizzazione e il testing. Il sistema informativo
DettagliSQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
DettagliCORSO ACCESS 2000 PARTE VI
Le Query Le Query selezionano dati, da una o più tabelle in un database, che soddisfano determinati requisiti e visualizzano i risultati in un foglio dati. I dati richiesti vengono visualizzati in un recordset
DettagliTipi di sottoquery SQL
Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS
DettagliSommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash
Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che
DettagliMODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione
DettagliInterrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
DettagliSpiegazioni esercizio Gestione Tabella con PHP e MySQL
Spiegazioni esercizio Gestione Tabella con PHP e MySQL foglio_di_stile.css (foglio di stile esterno) Questo file contiene: 1. la struttura generale delle quattro pagine web dinamiche: index.php, inserisci.php,
DettagliDUGI, DB2 User Group Italia. i Trigger INSTEAD OF ; SELECT FROM INSERT, UPDATE, MERGE, DELETE con Colonne INCLUDE
DUGI, DB2 User Group Italia Milano, 9 Aprile 2013 -- Roma 10 Aprile 2013 DB2 for z/os i Trigger INSTEAD OF ; SELECT FROM INSERT, UPDATE, MERGE, DELETE con Colonne INCLUDE massimo MACERA massimo MACERA
DettagliTrigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi
Basi di dati attive : regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi Oggi fanno parte dello standard SLQ-99 In passato ogni DBMS li implementava seguendo
DettagliTecnologia delle Basi di Dati
Tecnlgia delle Basi di Dati Esercitazine 2 Ottimizzatre di Oracle indici e Hit Obiettiv dell'esercitazine Calclare il pian di esecuzine per alcune query SQL analizzand i seguenti aspetti: 1. metd di access
DettagliIl linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf
Il linguaggio SQL: raggruppamenti Versione elettronica: SQLb-gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a singole tuple (eventualmente
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL
: fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire
DettagliEsempi SQL con Access. Orazio Battaglia
con Access Orazio Battaglia Consideriamo la base di dati in figura. 2 Interrogazione 1: Selezioniamo tutti gli impiegati, vogliamo Cognome, Nome e Posizione SELECT Impiegati.Cognome, Impiegati.Nome, Impiegati.Posizione
DettagliVARIABILI, ASSEGNAZIONE, DECISIONI
LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm
DettagliPer poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione
MYSQL E PHP Per poter interagire con un database in rete mediante uno script php bisogna innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione MySQL_connect(nome del host, nome utente,
DettagliEsempio di database relazionale con l utilizzo del prodotto MySQL
Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene
DettagliSQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"
SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con
DettagliPartizionamento di tabelle ed indici in. Introduzione al partizionamento Metodi di partizionamento Partizionamento di indici Performance
Partizionamento di tabelle ed indici in Introduzione al partizionamento Metodi di partizionamento Partizionamento di indici Performance Introduzione al partizionamento Definizione di partizionamento Caratteristiche
DettagliBasi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive
Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base
DettagliSQL e algebra relazionale
SQL e algebra relazionale Il linguaggio SQL consente una maggiore espressività dell algebra relazionale grazie a costrutti che permettono: di definire join più sofisticati di ordinare le righe dei risultati
DettagliSQL Avanzato. Interrogazioni e il valore NULL. Interrogazioni complesse, trigger, viste e modifiche dello schema. Giorgio Giacinto 2015
SQL Avanzato Interrogazioni complesse, trigger, viste e modifiche dello schema 2 Interrogazioni e il valore NULL Il valore NULL Logica a tre valori 3 Significato del valore NULL Valore sconosciuto Valore
DettagliTUTORIAL IMPORTAZIONE DATI DA FOGLIO EXCELL WINKHOUSE
TUTORIAL IMPORTAZIONE DATI DA FOGLIO EXCELL A WINKHOUSE 1. introduzione In questo tutorial illustreremo l'importazione di dati contenuti in foglio excell nelle tabelle di winkhouse. Tutte le operazioni
DettagliBasi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).
Basi di dati attive Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Tali regole vengono attivate in modo automatico al verificarsi
DettagliServlet & JDBC ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Servlet: interazione con un DBMS. In Java è possibile interagire con un DBMS attraverso
Servlet & JDBC 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Servlet: interazione con un DBMS In Java è possibile interagire con un DBMS attraverso l uso della libreria JDBC (Java Database Connectivity).
DettagliMicrosoft Access (parte 5) Query. Query. Query. Query. Creare una query
Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere
DettagliSQL Server Data Trasformation Services
SQL Server 2000 Data Trasformation Services (DTS) Introduzione Data Trasformation Services Strumenti che permetteno di: Importare dati da fonti esterne Esportare dati verso fonti esterne Trasformare dati
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliIl linguaggio SQL: autorizzazioni
Il linguaggio SQL: autorizzazioni Sistemi Informativi T Versione elettronica: 04.6.SQL.autorizzazioni.pdf Autorità e privilegi Nei DBMS SQL ogni operazione deve essere autorizzata, ovvero l utente che
DettagliLaboratorio Architettura
Laboratorio Architettura Prof. Alessandra Lumini Alma Mater Studiorum - Università di Bologna 1 Oracle SQL Developer - funzionalità Per progettisti integrazione di SQL Developer Data Modeler, per la progettazione
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
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliTriggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza
Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti
DettagliArcGIS - ArcView 3- strumenti di analisi
ArcGIS - ArcView 3- strumenti di analisi Marco Negretti Politecnico di Milano Polo Regionale di Como e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it - tel +39.031.332.7524 05/05/05 - v
DettagliCURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO
dei limiti nel contesto culturale e sociale in cui vengono applicate CURRICOLO PARTIMENTO INFORMATICA PRIMO BIENNIO MODULO 1 Concetti di base della tecnologia dell informazione Acquisire e interpretare
DettagliMySQL per amministratori di database
Oracle University Chiamaci: 800 672 253 MySQL per amministratori di database Duration: 5 Days Description Il corso MySQL per amministratori di database è alla base del percorso di formazione per sviluppatori
Dettagli! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)
Arco Multiplo! Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) " Per illustrare il concetto di arco multiplo si parte da uno schema
DettagliUnion-find. Insiemi disgiunti. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)
Union-find Insiemi disgiunti Il problema Union-find Mantenere una collezione di insiemi disgiunti di elementi distinti (interi in 1 n) durante una sequenza delle seguenti operazioni: union(a,b) = unisce
DettagliAlberi. Definizioni principali
Definizioni principali Un albero è una struttura dati che contiene oggetti organizzati gerarchicamente (a differenza della lista di nodi, dell'array list, i cui elementi sono organizzati linearmente) radice
DettagliOttimizzazione delle interrogazioni
Ottimizzazione delle interrogazioni Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Per approfondimenti: Ciaccia, Maio. Lezioni di basi di dati: pp 377-434 Sistemi di basi di dati-complementi
DettagliEsercitazione 4: Trigger in DB2
Esercitazione 4: Trigger in DB2 Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione4.pdf Sistemi Informativi L-B Definire trigger
DettagliRipasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3
ECDL - Database Ripasso European Computer Driving Licence - Modulo 5 - Database LEZIONE 3 Ripasso Cosa sono le relazioni? Come si gestiscono le relazioni in Access? Cosa si intende per query? Come interroghiamo
DettagliParameter sniffing. Come funziona il parameter sniffing. Di Gianluca Negrelli
Parameter sniffing Di Gianluca Negrelli Ogniqualvolta SQL Server si trova a dover eseguire una nuova query, ne calcola il piano di esecuzione. Un piano di esecuzione è una specie di schema che SQL Server
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML
DettagliCosa sono le maschere
Prof. Emanuele Papotto Cosa sono le maschere La maschera è un oggetto di database che viene realizzato per mostrare, modificare e immettere i record in modo più chiaro rispetto alla visualizzazione foglio
DettagliARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
DettagliOracle 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
DettagliArgomenti Corso SAP Online ABAP Completo
Argomenti Corso SAP Online ABAP Completo Lezione 1 Navigazione e visualizzazione tabelle o Database SAP in ambienti Oracle e SQL Server: Navigazione e visualizzazione delle tabelle SE16; Utilizzo del match-code;
DettagliSQL (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
DettagliInformatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per
DettagliTecnologia delle Basi di Dati
Tecnologia delle Basi di Dati Esercitazione 3 Oracle Trigger Connessione alla base di dati Connessione via browser Web all indirizzo http://cclix4.polito.it:8080/apex Login Per autenticarsi collegandosi
DettagliProgrammazione dinamica
Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
Dettagli