NETEZZA APPLIANCE. Danilo De Benedictis NETEZZA DEVELOPMENT
|
|
|
- Olimpia Tedesco
- 10 anni fa
- Visualizzazioni
Transcript
1 NETEZZA APPLIANCE Danilo De Benedictis NETEZZA DEVELOPMENT
2 NETEZZA DEVELOPMENT STORED PROCEDURES ANALYTIC FUNCTIONS
3 NETEZZA DEVELOPMENT STORED PROCEDURES
4 STORED PROCEDURES Definizione: Le Stored Procedure sono la combinazione di SQL + linguaggio procedurale: Branch Loop Subprogram NZPLSQL: linguaggio (interpretato) di programmazione per le stored procedures di Netezza Basato sul precedente Postgres PL/pgSQL
5 STORED PROCEDURES NZPLSQL: CARATTERISTICHE Condizioni (IF/ELSE) Loop (WHILE/FOR) SQL e dynamic SQL Variabili Return: Scalar Result Set Argomenti in input Esecuzione nel contesto chiamante Session Transaction
6 STORED PROCEDURES NZPLSQL: SINTASSI CREATE OR REPLACE PROCEDURE sp_nome(varchar(6)) RETURNS INT4 LANGUAGE NZPLSQL AS BEGIN_PROC DECLARE str varchar; BEGIN str := $1; END; RETURN select length(str); END_PROC;
7 STORED PROCEDURE : PARAMETRI INPUT I Parametri input alla SP vengono righiamati come $1, $2, etc., da 0 a 64 parametric. VARARGS: specifica una LISTA DI PARAMETRI (max 64) Netezza salva nell array PROC_ARGUMENT_TYPES i datatypes (in format OID) dei parametri input.
8 STORED PROCEDURES CREATE OR REPLACE PROCEDURE sp_varargs01(varargs) RETURNS INT4 LANGUAGE NZPLSQL AS BEGIN_PROC DECLARE num_args int4; typ oid; idx int4; BEGIN num_args := PROC_ARGUMENT_TYPES.count; RAISE NOTICE 'Number of arguments is %', num_args; for i IN 0.. PROC_ARGUMENT_TYPES.count - 1 LOOP typ := PROC_ARGUMENT_TYPES(i); idx := i+1; RAISE NOTICE 'argument $% is type % value ''%''', idx, typ, $idx; END LOOP; END; END_PROC;
9 STORED PROCEDURES Demo PROC_ARGUMENT_TYPES Per convertire il datatype nel nome del datatype: SELECT DISTINCT FORMAT_TYPE, ATTTYPID FROM _V_RELATION_COLUMN;
10 STORED PROCEDURES MYDB(USER)=> CALL updateacct(); MYDB(USER)=> EXEC updateacct(); MYDB(USER)=> EXECUTE updateacct(); MYDB(USER)=> EXECUTE PROCEDURE updateacct(); MYDB(USER)=> SELECT updateacct(); MYDB(ADMIN)=> EXEC OTHERDB..UPDATEACCT();
11 STORED PROCEDURES NZPLSQL supporta gli array. Per dichiarare un array: name VARRAY(size) OF type; Tutti gli elementi dell array inizialmente contengono il valore SQL NULL. Per assegnare un valore: name(idx) := value; Supportati: name.extend(size) name.count name.trim(size)
12 LOOP Query Processing in Loops FOR rec in SELECT * from mytable LOOP IF rec.type = d THEN EXECUTE IMMEDIATE DELETE FROM mytable2 WHERE recid = rec.id; END IF; END LOOP;
13 LOOP Query Processing in Loops La outer SELECT viene eseguita, ed il risultato messo in CACHE. La inner DELETE viene eseguita solo successivamente, quindi non impatta il risultato della DELETE. La precedente query non è ottimale. Rewrite: DELETE from mytable2 where recid in (select recid from my table where type = 'd') ;
14 NETEZZA DEVELOPMENT ANALYTIC FUNCTIONS
15 ANALYTIC FUNCTION Definizione: Le Funzioni Analitiche calcolano un valore aggregato (per ogni riga) basato su un gruppo di righe, definite da una finestra. La dimensione della finestra è data da un numero o da un intervallo logico. Funzioni Analitiche VS Funzioni Aggregate Le Funzioni Analitiche restituiscono 1 valore per ogni riga dell insieme di aggregazione. Le Funzioni Aggregate (...count(*)... Group by...) restituiscono 1 valore per ogni insieme di aggregazione.
16 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE DI GRUPPO: restituiscono il risultato calcolato su 0-n righe. SELECT max(temp_lo) FROM weather; Es. MAX, MIN Usate anche con GROUP BY Usate anche con GROUP BY.. HAVING..
17 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE SU FINESTRA (i.e. WINDOWS ANALYTIC FUNCTIONS) restituiscono il risultato calcolato su UN GRUPPO DI 0-n righe DEFINITE DA UNA FINESTRA. ESEMPIO: data la tabella...
18 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE SU FINESTRA: Esempio 1: SELECT year, month, salesk, avg(salesk) OVER (PARTITION BY year ORDER BY month ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM monthlysales; Ogni riga, utilizza la precedente (se esiste) e la successiva (se esiste) in una finestra con ordinamento desiderato, per fare un calcolo aggregato.
19 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE SU FINESTRA: risultato 1: AVG(20,22,25) = ( )/3 = 67/3 = AVG(22,25,30) = ( )/3 = 77/3 = Dov è l errore???
20 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE SU FINESTRA: Esempio 2: SELECT *, sum(salesk) OVER (PARTITION BY year ORDER BY month ROWS UNBOUNDED PRECEDING) FROM monthlysales; Ogni riga, utilizza tutte le precedenti della PARTITION.
21 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE SU FINESTRA: risultato 2: SUM(30,35,50) = 115
22 ANALYTIC FUNCTION Benefici Ottimizzazione query processing Spesso le funzioni analitiche si traducono in algoritmi con complessità lineare, rispetto a soluzioni equivalenti (nel risultato) con complessità di ordine superiore. Codice maggiormente leggibile In una singola riga si trova la codifica di interi statement composti da query e subquery Codice più facile da manutenere La leggibilità del codice si traduce in una facilità di manutenzione
23 ANALYTIC FUNCTION Classificazione in Famiglie. Window Aggregate: utilizzo dei valori delle singole righe della partizione (=window=cluster) unitamente al valore aggregato: avg, sum, min, max, count, variance, stddev,... Lag/Lead: singole righe della partizione (=window=cluster) aventi un offset tra loro: lag, led,... First/Last: primo ed ultimo valore della partizione (=window=cluster) di righe: first_value, last_value Ranking: classificazione delle righe, all interno della partizione (=window=cluster): ntile, dense_rank, percent_rank, cume_dist, rank
24 ANALYTIC FUNCTION Classificazione in Famiglie. Row Count: progressivo di riga all interno della partizione. Hypotetical Set: funzioni che indicano il rank percentile che una riga avrebbe se fosse inserita in una partizione: dense_rank, percent_rank, cume_dist, rank Inverse Distribution: restituiscono il valore di riga, all interno di una partizione, che ha un determinato percentile: percentile_cont and, percentile_disc
25 ANALYTIC FUNCTION PROCESSING ORDER: 1. Query JOINS, WHERE, GROUP BY, HAVING 2. Analytic Function: calcolo delle funzioni analitiche all interno della finestra definita 3. ORDER BY
26 ANALYTIC FUNCTION WINDOW PARTITIONING: tutte le righe che hanno uguali caratteristiche compongono la finestra di partizione Nessuna specifica = intero row set restituito dalla query WINDOW ORDERING: Ordinamento all interno della partizione. WINDOW FRAMING: Intervallo, all interno della Window Partition, per cui eseguire un calcolo
27 ANALYTIC FUNCTION ALL Specifica di agire su tutti i valori (default, quindi non specificare) ASC DESC Sequenza di ordinamento BETWEEN AND Intervallo della finestra, qualora definiti esplicitamente CURRENT ROW Si riferisce alla riga corrente DISTINCT Aggregazione per valori unici. Non supportata da tutte le Function. EXCLUDE CURRENT ROW Esclude la riga corrente. EXCLUDE GROUP Esclude un intero gruppo di righe che soddisfano una condizione. EXCLUDE NO OTHERS Specifica di non escludere alcuna riga (default). EXCLUDE TIES Specifica di escludere tutte le altre righe collegate alla riga corrente, tranne la riga corrente.
28 ANALYTIC FUNCTION NULLS {FIRST LAST} Indica come trattate il NULL negli ordinamenti (default FIRST). ORDER BY OVER Indica come ordinare le righe nell ambito della partizione (anche su campi multipli). Indica che la funzione opera su un risultato di righe calcolate dopo FROM, WHERE, HAVING clause. E usato per definire la finestra di righe a cui applicare la Function PARTITION BY Definisce la partizione (default = all rows) ROWS RANGE Definisce la porzione della partizione su cui calcolare la funzione (ROWS = righe fisiche / RANGE = intervallo logico ) UNBOUNDED FOLLOWING Specifica che la finestra si estende anche dopo l ultima riga della partizione. UNBOUNDED PRECEDING Specifica che la finestra si estende anche precedentemente la prima riga della partizione.
29 ANALYTIC FUNCTION DEFINIZIONE: FUNZIONE(C) OVER PARTITION (FRAME) La funzione da applicare al FRAME della PARTITION può essere: AVG(C): media sul campo C della finestra definita nella partizione. COUNT(C / *): C = #valori NOT NULL del campo C sulla finestra definita nella partizione. * = #righe contenute nella finestra definita nella partizione. SUM(C): somma sul campo C della finestra definita nella partizione.
30 ANALYTIC FUNCTION DEFINIZIONE: FUNZIONE(C) OVER PARTITION (FRAME) La funzione da applicare al FRAME della PARTITION può essere: MAX(C): massimo valore del campo C nella finestra definita nella partizione. MIN(C): minimo valore del campo C nella finestra definita nella partizione.
31 ANALYTIC FUNCTION DEFINIZIONE: FUNZIONE(C) OVER PARTITION (FRAME) La funzione da applicare al FRAME della PARTITION può essere: VAR_SAMP(C): varianza dei campioni, esclusi i NULL: = sum (expr**2) - ((sum (expr) **2) / (count (*)))) / (count (*)- 1) VARIANCE(C): 0 per 1 riga VAR_SAMP(C) per N righe STDDEV_SAMP(C): calcola la deviazione standard di C = sqr_root(var_samp(c))
32 ANALYTIC FUNCTION DEFINIZIONE: FUNZIONE(C) OVER PARTITION (FRAME) La funzione da applicare al FRAME della PARTITION può essere: VAR_POP(C): varianza della popolazione di C dopo aver scartato i NULL = ( sum(c^2) - sum(c)2 / count(c)) / count(c) STDDEV_POP(C): deviazione standard della popolazione di C. = sqr_root(var_pop) STD_DEV(C): deviazione standard di C = sqr_root(variance)
33 ANALYTIC FUNCTION LAG / LEAD LAG N: accesso alla riga precedente nella finestra con un offset N dalla current row LEAD N: accesso alla riga successiva nella finestra con un offset N dalla current row Se N è fuori range Default (se specificato) NULL (se default non specificato)
34 ANALYTIC FUNCTION FIRST / LAST FIRST N: accesso alla prima riga della finestra LAST N: accesso all ultima riga della finestra Se il FIRST / LAST value è NULL se usato IGNORE NULLS -> primo valore NOT NULL nella finestra else NULL
35 ANALYTIC FUNCTION RANKING RANK(C): classifica il valore del campo sulla finestra ordinata. Se N righe hanno pari valore, il rank R tra loro è uguale, ma il rank successivo è R+N. DENSE_RANK(C): classifica il valore del campo sulla finestra ordinata, con valori interi consecutivi. Se N righe hanno pari valore, il rank R tra loro è uguale, ed il rank successivo è R+1. PERCENT_RANK(C): calcola il valore percentuale del rank nella finestra. (RANK(C) 1) / (#righe nella partizione -1) 0 se la partizione ha 1 riga CUME_DIST: distribuzione cumulativa. # righe precedenti / # righe della partizione se esistono pari, vengono contati come 1 NTILE(K): divide l insieme delle righe nella finestra in K sottoinsiemi numerati da 1 a K, ciascuno con lo stesso numero di righe (+/- 1). La funzione restituisce il # del sottoinsieme a cui è assegnata la riga.
36 RANK SAMPLE RANK() OVER (PARTITION BY CITY ORDER BY amt DESC) AS ranking RANK() OVER (PARTITION BY region ORDER BY SUM(amt) ) as rnk
37 DENSE_RANK SAMPLE DENSE_RANK() OVER (PARTITION BY CITY ORDER BY amt DESC) AS ranking
38 ANALYTIC FUNCTION HYPOTETICAL RANK(K): calcola il Rank di un ipotetico valore K sulla finestra ordinata. Se N righe hanno pari valore, il rank R tra loro è uguale, ma il rank successivo è R+N. DENSE_RANK(K): calcola il dense_rank di un ipotetico valore K sulla finestra ordinata, con valori interi consecutivi. Se N righe hanno pari valore, il rank R tra loro è uguale, ed il rank successivo è R+1. PERCENT_RANK(K): calcola il percent_rank di un ipotetico valore K sulla finestra ordinata. Il risultato è calcolato come se l ipotetico valore facesse parte della finestra. CUME_DIST(K): calcola la cume_dist di una ipotetica riga aggiunta alla finestra ordinata.
39 ANALYTIC FUNCTION ISTOGRAMMI width_bucket(<espressione>,<inizio_range>, <fine_range>, <num_intervalli>) Restituisce l intervallo (tra quelli definiti) a cui l espressione appartiene. Else: underflow ; num_intervalli + 1 Esempio: width_bucket(profit_margin, 15,21, 3)
40 ANALYTIC FUNCTION AVG OVER PARTITION: SELECT *,avg(profit_margin) over (partition by region order by city, quarter rows between 1 preceding and 1 following) FROM ZDDB_SALES_TBL order by 3,2,1,4
41 ANALYTIC FUNCTION SELECT *, lag(quarter,2) over (partition by region order by city, quarter), lead(quarter,2) over (partition by region order by city, quarter), first_value(amt) over (partition by city order by quarter), last_value(amt) over (partition by city ) /*order by quarter)*/ FROM ZDDB_SALES_TB L order by 3,2,1,4
Data 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
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
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
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
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
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 (, ,
SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server
SQL Server 7.0 1 SQL Server SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server 2 Strumenti per la gestione Enterprise Manager
Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004
DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa
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
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.
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
Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma
Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined
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
Informazioni generali sul corso
[email protected] Informazioni generali sul corso Reporting direzionale Obiettivi del corso h Creare reports con DI 2 Pagina C.1 Argomenti h Cap. 13 Interruzione e Vista struttura h Cap. 14 Sincronizzazione
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
Basi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. [email protected] Argomento: T-SQL (1.
Università di Modena e Reggio Emilia Basi di dati (6) Docente: [email protected] Argomento: T-SQL (1.0) 1 Panoramica T-SQL Variabili Controllo di flusso Trattamento errori Print Operatori e funzioni
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
SQL. Structured Query Language
Structured Query Language fields seleziona i campi (colonne) da visualizzare table specifica la tabella da cui leggere i dati WHERE condizione seleziona i record (righe) da visualizzare expression è possibile
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
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
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. [email protected] Università degli Studi di L Aquila Dipartimento di Informatica Technolabs
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,
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
Interrogazioni complesse. SQL avanzato 1
Interrogazioni complesse SQL avanzato Classificazione delle interrogazioni complesse Query con ordinamento Query con aggregazione Query con raggruppamento Query binarie Query annidate SQL avanzato 2 Esempio
Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo
Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL Simona Rotolo 2 Questo documento, rivolto a chi sviluppa codice in PL/Sql, è stato redatto al fine di fornire degli standard di sviluppo che aiuteranno
Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica
Istituto di Istruzione Superiore Alessandrini - Marino 1 Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Descrizione Un azienda commerciale che vende prodotti IT (computers,
Introduzione al Python
Andrea Passerini [email protected] Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti
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.
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
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
Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5
Istruzioni SQL Istruzioni SQL 1 Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5 Query di inserimento 5 INSERT INTO 5 Query di
Basi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
cliente... nuovo cliente trasloco
Analisi di Basi di dati Studio di un caso: Azienda Telefonica Progettazione concettuale anno trimestre mese regione provincia città cliente Attività cliente TempoUtilizzoAdsl SpesaAdsl TempoUtilizzoIsdn
07. 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
********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;
CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione
Vincoli di Integrità Approccio dichiarativo alla loro implementazione
Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico
Matlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli
Attività svolta 1. UNITÀ DI APPRENDIMENTO 1: RIPASSO E APPROFONDIMENTO DEGLI ARGOMENTI PRECEDENTI 1.1. Concetti elementari di informatica Algoritmo, Dato, Informazione Campi di applicazione e classificazione
OSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Dispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
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
Data warehouse Analisi dei dati
DataBase and Data Mining Group of DataBase and Data Mining Group of DataBase and Data Mining Group of Database and data mining group, D MG B Data warehouse Analisi dei dati DATA WAREHOUSE: OLAP - 1 Database
Arduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
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
SQL: definizione schema
Si Clienti(codice,nome,indirizzo,p_iva) scriva il SQL che definisce il seguente schema relazionale Prodotti(codice,nome,descrizione,prezzo) SQL: definizione schema Fatture(codice,cliente,data) RigheFattura(codice,fattura,prodotto,quantità,prezzo)
SQL 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
Basi di dati (7) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. [email protected] Argomento: stored procedure (1.
Università di Modena e Reggio Emilia Basi di dati (7) Docente: [email protected] Argomento: stored procedure (1.0) 1 Panoramica Stored procedure Creazione Chiamata Modifica Eliminazione Esempio
Introduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
Volumi 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
ROUTINE E PROGRAMMAZIONE
LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 PAG. 1 / 6 LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 T-SQL PROGRAMMAZIONE PARTE SECONDA ROUTINE E PROGRAMMAZIONE In TSQL è possibile definire alcune routine
Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati
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,
Dati relazionali e XML
Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione
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 Utilizzando Microsoft Access Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono
PostgreSQL 8.4. Associazione Italiana PostgreSQL Users Group www.itpug.org. ConfSL 2009 Speaker's Corner Bologna, 13 Giugno 2009
PostgreSQL 8.4 ITPUG - ConfSL 2009 - PostgreSQL 8.4-13 giugno 2009 Gabriele Bartolini [email protected] Associazione Italiana PostgreSQL Users Group www.itpug.org ConfSL 2009 Speaker's
Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle
Versione dei trigger e PSM di Oracle Lucidi derivati da quelli di Jeffrey D Ullman Oracle usa una variante di SQL/PSM che si chiama non consente solo di creare e memorizzare procedure e funzioni, ma puo
Vincoli di Integrità
Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti
SQL/OLAP. Estensioni OLAP in SQL
SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,
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
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
SQL PER LA DEFINIZIONE DI BASI DI DATI
SQL PER LA DEFINIZIONE DI BASI DI DATI 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
Fogli Elettronici: MS Excel utilizzo avanzato
Fogli Elettronici: MS Excel utilizzo avanzato 1 Ripasso 2 1 Selezionare celle e gruppi di celle Una cella in un foglio è individuata dall incrocio tra la riga e la colonna (coordinate della cella) Es:
Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26
Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione
Laboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
Basi di Dati. S Q L Lezione 5
Basi di Dati S Q L Lezione 5 Antonio Virdis [email protected] Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
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
SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE
SQL e ACCESS Prof. Salvatore Multazzu ([email protected]) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)
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
Come trattare il risultato di un comando SQL (relazioni) che
USO DI SQL DA PROGRAMMI: PROBLEMI 1 Come collegarsi alla BD Come trattare gli operatori SQL Come trattare il risultato di un comando SQL (relazioni) che Come scambiare informazioni sull esito delle operazioni.
Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}
Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori
MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
Capitolo 7. Esercizio 7.1
Capitolo 7 Esercizio 7.1 Dato lo schema relazionale: IMPIEGATO (Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) Definire le seguenti regole attive in Oracle e DB2: 1. una regola, che quando il
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
MySQL Database Management System
MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form
Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio
Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere
Data management a.a. 2009-2010. Il linguaggio SQL
Data management a.a. 2009-2010 Il linguaggio SQL 1 Modello di database E' un database generico con anagrafica e movimenti di uso molto frequente: per esempio, clienti e fatture, studenti ed esami sostenuti,
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
Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma
Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati
Corso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio
SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
Linee guida per la programmazione di transazioni in PL/SQL
Linee guida per la programmazione di transazioni in PL/SQL Giuseppe Berio Giuseppe Berio DI - Unito 1 Esempio La transazione deve registrare l evasione di un ordine, rappresentato su più tabelle specializzate
DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
Oggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza
Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati
Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE.
Si consideri il seguente schema relazionale, relaivo ad una base di dati per gestire la programmazione cinematografica giornaliera in un certo insieme di cinema: CINEMA(CodC, Nome, Indirizzo, Tel, NSale)
Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1
Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,
Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
GERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
