NETEZZA APPLIANCE. Danilo De Benedictis NETEZZA SQL DAY 3

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA SQL DAY 3"

Transcript

1 NETEZZA APPLIANCE Danilo De Benedictis NETEZZA SQL DAY 3

2 PROSSIMI ARGOMENTI: GESTIONE TABELLE CLUSTERED BASED TABLES JOIN TRA TABELLE

3 GESTIONE TABELLE PERFORMANCE SU RDBMS TRADIZIONIALI Utilzzo degli Indici Partitioning, ma utlizzo di Indici all interno di ciascuna Partition NETEZZA PARTITION Con Netezza le performance estreme sono raggiunte tramite parallelizzazione massiva dei table scan sugli Storage Server Utilizzo ZoneMap Per ogni query di estrazione dati Select cola, colb from tablea where colc > 38 ; la query è inviata alle 100+ SPU, ed ogni SPU esegue un Full Table Scan per costruire il Result Set Al termine i Result Set vengono uniti e restituiti al Client.

4 GESTIONE TABELLE INTRODOTTE CON TWINFIN LE CLUSTERED BASED TABLE (CBT): COSA SONO CREATE TABLE... [ORGANIZE ON {(<column>) NONE}] 1..4 organizing key: sono campi scelti per il clustering dei record di tabella. I dati organizzati vengono salvati nella stessa data-slice (o vicine) Vengono create le Zone-Map per le ORG K. Esempio: tabella CBT ordinata per: TRANSACTION_DATE poi ORGANIZED per: TRANSACTION_TYPE (stesso colore):

5 GESTIONE TABELLE CLUSTERED BASED TABLE (CBT): COME SCEGLIERE: Le Organized keys aiutano a reperire più velocemente i dati, grazie alle Zone Maps, quindi......le Organized keys vanno scelte in base ai filtri maggiormente utilizzati dalle query. Nell esempio precedente, il filtro maggiormente utilizzato è per TRANSACTION_TYPE.

6 GESTIONE TABELLE CLUSTERED BASED TABLE (CBT): BENEFICI Le CBT supportano le Multidimension Lookups: da 1 a 4 campi Le Organize Keys impongo ulteriori Zone Maps i.e. Migliori performance, se il datatype dei campi è supportato dalle Zone Maps: ZM default: date, timestamp, byteint, smallint, integer, bigint ZM x M.VIEW ORDER BY o ORG.K: char, varchar, nchar, nvarchar (solo i primi 8 bytes vengono utilizzati), numeric, float, double, bool, time, timetz, interval. CBT riducono la necessita di pre-ordinare i dati prima del caricamento. CBT non replica dati, o alloca ulteriore spazio, come invece fanno indici, Mview.

7 GESTIONE TABELLE CLUSTERED BASED TABLE (CBT) VS ZONE MAPS: Le ZM riassumono il RANGE dei dati di una colonna presenti nel disco. Le ORG.K. restringono i tempi di estrazione dei dati avvicinando le righe che hanno uguali valori nei campi selezionati, riducendo i tempi del fulltable-scan.

8 GESTIONE TABELLE CLUSTERED BASED TABLE (CBT): UTILIZZO Tipicamente, se una tabella è interrogata per un campo FIELD_1 di tipo DATE, caricarla ORDER BY FIELD_1, per sfruttare a pieno le Zone Maps. Se le query filtrano per più campi diversi (multidimension) usare la ORGANIZE. Dopo l aggiunta (ALTER TABLE) di campi ORGANIZEd, Netezza NON riorganizza: lanciare la GROOM TABLE:

9 GESTIONE TABELLE GROOME TABLE <table_name> Organizza i record secondo la definizione della ORGANIZE, avvicinando i record che partecipano alla ORGANIZE: stesso disk extent oppure vicino. Rimuove lo spazio deleted o outdated (nzreclaim). No lock sulla tabella. nzreclaim deprecated dalla 6.0: usare GROOME. GENERATE STATISTICS Collect info sulle tabelle, in modo da creare EXECUTION PLAN ottimali Best practice: eseguire dopo ogni LOAD/INS/UPD/DEL

10 GESTIONE TABELLE DELETE FROM <table> WHERE Cancella righe da una tabella, lasciano allocato lo spazio vuoto che non viene recuperato. TRUNCATE TABLE <table> Cancella tutto il contenuto della tabella, liberando lo spazio su disco che al successivo clean-up [GROOME] viene reso disponibile. Non può essere eseguito in una TRAN DROP TABLE <table> Elimina una tabella, liberando lo spazio su disco che al successivo clean-up [GROOME] viene reso disponibile.

11 GESTIONE TABELLE ALTER (VARCHAR(LEN)), DROP COLUMN ALTER TABLE t3 MODIFY COLUMN (col1 VARCHAR(6)); RENAME Varchar Len -< up to TABLE fornitori RENAME COLUMN indirizzo TO citta;

12 JOIN TRA TABELLE INNER JOIN equivale a select.. from tab1, tab2 Esempio: SELECT COUNT(1) FROM TAB1 T1 INNER JOIN TAB2 T2 ON T1.FIELD_A = T2.FIELD_A

13 JOIN TRA TABELLE LEFT OUTER JOIN Esempio: SELECT T1.AAA, T1.BBB, T2.CCC FROM TAB1 T1 LEFT OUTER JOIN TAB2 T2 ON T1.FIELD_A = T2.FIELD_A TUTTE LE RIGHE DI T1 T1.AAA, T1.BBB SEMPRE VALORIZZATI DOVE MATCH, LE RIGHE DI T2 NOT MATCH => T2.CCC = NULL MATCH => T2.CCC VALORIZZATO

14 JOIN TRA TABELLE RIGHT OUTER JOIN (simmetrica di LOJ) Esempio: SELECT T1.AAA, T1.BBB, T2.CCC FROM TAB1 T1 RIGHT OUTER JOIN TAB2 T2 ON T1.FIELD_A = T2.FIELD_A TUTTE LE RIGHE DI T2 T2.CCC SEMPRE VALORIZZATO DOVE MATCH, LE RIGHE DI T1 NOT MATCH => T1.AAA, T1.BBB = NULL MATCH => T1.AAA, T1.BBB VALORIZZATI

15 JOIN TRA TABELLE SELF-JOIN JOIN DI UNA TABELLA CON SE STESSA Esempio (città con intervalli temperatura più larghi delle altre città): SELECT W1.city, W1.temp_lo AS low, W1.temp_hi AS high, W2.city, W2.temp_lo AS low, W2.temp_hi AS high FROM weather W1, weather W2 WHERE W1.temp_lo < W2.temp_lo AND W1.temp_hi > W2.temp_hi;

16 JOIN TRA TABELLE FULL OUTER JOIN RESTITUISCE TUTTE LE RIGHE DELLE TABELLE IN JOIN SELECT * FROM cows_one FULL OUTER JOIN cows_two ON cows_one.cnumber = cows_two.cnumber;

17 COMPARAZIONE CON LOGICHE FUZZY Levenshtein Edit Distance: <int4 value> = le_dst(<str_1>, <str_2>) Esempio: le_dst('sow','show') = 1 h in più Esempio: le_dst('hello','hollow') = 3 H maiuscola o al posto di e w in più

18 COMPARAZIONE CON LOGICHE FUZZY Damerau-Levenshtein Edit Distance: <int4 value> = dle_dst (<str_1>, <str_2>) Simile al precedente, ma la trasposizione di caratteri vale 1 non 2: Esempio: select le_dst('two','tow') = 2 select dle_dst( two', tow') = 1

19 PROSSIMI ARGOMENTI: COMBINE TRA TABELLE TRANSACTION ISOLATION

20 COMBINE TRA TABELLE UNION Unione dei risultati di 2+ query Eliminazione dei risultati ridondati UNION OR UNION ALL Mostra tutte le righe, anche quelle ridondate {0,1,2,2,2,2,3,N,N} UNION ALL {1,2,2,3,5,5,N,N,N} = {0,1,1,2,2,2,2,2,2,3,3,5,5,N,N,N,N,N}

21 COMBINE TRA TABELLE INTERSECT Intersezione dei risultati di 2+ query INTERSECT AND INTERSECT ALL In caso di righe ridondate, mostra tutte le righe con minore cardinalità. {0,1,2,2,2,2,3,N,N} INTERSECT ALL {1,2,2,3,5,5,N,N,N} = {1,2,2,3,N,N}

22 COMBINE TRA TABELLE EXCEPT / MINUS Delta tra i risultati di 2 query (Q1 Q2) Eliminazione dei risultati ridondati {0,1,2,2,2,2,3,N,N} EXCEPT {1,2,2,3,5,5,N,N,N} = {0} EXCEPT / MINUS ALL In caso di righe ridondate, mostra tutte le righe IN Più DELLA PRIMA TABELLA. {0,1,2,2,2,2,3,N,N} EXCEPT ALL{1,2,2,3,5,5,N,N,N} = {0,2,2}

23 COMBINE TRA TABELLE PRECEDENZE: UNION ED EXCEPT/MINUS HANNO LA STESSA PRIORITA : VENGONO ESEGUITE IN ORDINE LEFT -> RIGHT INTERCEPT HA PRIORITA SU UNION E EXCEPT/MINUS. S1 UNION S2 EXCEPT S3 UNION S4 => (((S1 UNION S2) EXCEPT S3) UNION S4) S1 UNION S2 INTERSECT S3 MINUS S4 => ((S1 UNION (S2 INTERSECT S3)) MINUS S4) PER EVITARE CONFUSIONE O FORZARE PRIORITA DESIDERATE: USARE LE PARENTESI. (S1 UNION S2) INTERSECT (S3 MINUS S4)

24 COMBINE TRA TABELLE GESTIONE NULL: NELLA COMPARE TRA CAMPI, UN CAMPO CONTENENTE NULL NON E UGUALE AD UN ALTRO CAMPO CONTENENTE NULL: (NULL = NULL) => UNKWOWN NELLA COMBINE TRA TABELLE, NULL E TRATTATO UGUALMENTE AGLI ALTRI VALORI: (NULL = NULL) => TRUE

25 COMBINE TRA TABELLE PROMOTION TRA DATATYPE NUM/CHAR:

26 COMBINE TRA TABELLE PROMOTION TRA DATATYPE NON NUM/CHAR:

27 GESTIONE TRANSAZIONI CONCORRENTI Prevenzione delle tipologie di READ sporche : DIRTY READS: una T0 può leggere dati scritti da una T1 concorrente, non ancora committed. NONREPEATABLE READS: una T0 ri-legge dati già letti, e rileva dati modificati, committate da una T1 che nel frattempo termina. PHANTOM READ: una T0 ri-esegue una query con search condition, e riceve un set di dati diverso dalla precedente query, committate da una T1 che nel frattempo termina.

28 GESTIONE TRANSAZIONI CONCORRENTI Isolation Level: 4 livelli read committed read uncommitted repeatable read serializable Netezza supporta tutti i 4 livelli ma Implementa solo il Serializable!

29 PROSSIMI ARGOMENTI: VISTE VISTE MATERIALIZZATE

30 GESTIONE VISTE VIEW: PER SEMPLIFICARE L ACCESSO AI DATI, PER UTENTI CON VISIBILITA NON DEEP SUI DATI. PER METTERE IN SICUREZZA I DATI PRESENTI SU TABELLA: ACCESSO CONSENTITO ALLA VIEW ACCESSO NON CONSENTITO ALLA TABELLA SOTTOSTANTE DEFINITA INTERFACCIA VERSO APPLICATIVI, INVARIANTE ALLA STRUTTURA DATI EVENTUALMENTE SI MODIFICA LA QUERY SOTTOSTANTE LA VIEW, MA NON LA STRUTTURA DELLA STESSA. INTERFACCIA VERSO APPLICATIVI RIMANE INVARIATA SINTASSI: CREATE VIEW viewname AS SELECT query; CREATE OR REPLACE: USATA PER MANTENERE LE ACL DELLA VIEW ORIGINARIA ALLA NUOVA VIEW DROP, ALTER per RENAME, ALTER X CHANGE OWNER

31 GESTIONE VISTE MATERIALIZZATE SORTED, PROJECTED, AND MATERIALIZED VIEWS (SPM) Proiezione di un subset delle colonne di una tabella, ordinate su uno specifico subset delle colonne in proiezione. Le Viste materializzate vengono memorizzate su una tabella fisica (su disco) con l ordinamento richiesto. Servono ad ottimizzare l accesso a Tabelle molto grandi.

32 GESTIONE VISTE MATERIALIZZATE Il query planner utilizza le SPM View per (eventualmente) ottimizzare l accesso a tabelle, anche se non richiesto esplicitamente, quindi non è necessario modificare le applicazioni. Performance migliorate grazie ad: una riduzione della quantità di dati letti da disco Dati già ordinati ottimizzazione utilizzo ZoneMaps Ottimali se utilizzate per tabelle piccole (lookup)

33 GESTIONE VISTE MATERIALIZZATE BLOCK NUMBER DELLA TABELLA BASE Netezza System aggiunge automaticamente una colonna alle colonne scelte per le SPM La colonna contiene per ogni riga - il Block Number della riga originaria (puntatore) Il Block number viene utilizzato come indice per la tabella base, ottimizzando l accesso alla stessa.

34 GESTIONE VISTE MATERIALIZZATE I dati delle SPM sono allocati sugli stessi data-slice della corrispondente tabella base, per ottimizzarne l accesso. CREATE MATERIALIZED VIEW customers_mview AS SELECT customer_name, customer_id FROM customers ORDER BY customer_id;

35 GESTIONE VISTE MATERIALIZZATE REGOLE PER CREAZIONE SPM: Una sola tabella base nella FROM Non è consentito utilizzare la WHERE nella creazione delle SPM Le colonne possono essere solo colonne della tabella base, non espressioni. Quindi non sono permessi: aggregazioni, operatori matematici, casting, DISTINCT, etc..

36 GESTIONE VISTE MATERIALIZZATE REGOLE PER CREAZIONE SPM: La ORDER BY può essere applicata solo su colonne presenti nella SELECT (projection list) Se non è specificata la ORDER BY, l ordinamento è uguale a quello della tabella base Non si può usare NULLS LAST o DESC nell ORDER BY La tabella base non può essere EXTERNAL, temporary oppure di sistema

37 GESTIONE VISTE MATERIALIZZATE MANUTENZIONE : SPM: Se si inseriscono righe sulla tabella base, esse: vengono aggiunte anche alle SPM costruite su di essa; Vengono appese in un area unsorted, quindi è necessario fare un refresh della SPM, periodicamente. Modifiche alla struttura della tabella base, invalidano la SPM: ERROR: Base table/view 'WEATHER' attr 'CITY' has changed (precision); rebuild view 'WEATHER_V Le righe cancellate dalla tabella base, vengono automaticamente cancellate anche dalle SPM collegate.

38 GESTIONE VISTE MATERIALIZZATE MANUTENZIONE : REBUILD: CREATE OR REPLACE MATERIALIZED VIEW weather_v AS SELECT city, temp_lo, temp_hi FROM weather ORDER BY city; Non usare la DROP/CREATE, perchè cambia object ID della SPM=> impatto sugli oggetti che referenziano la SPM.

39 GESTIONE VISTE MATERIALIZZATE MANUTENZIONE : DROP della SPM: DROP VIEW customers_mview; (non DROP MATERIALIZED...) libera spazio allocato per la SPM DROP della tabella base: DROP anche della SPM Netezza mantiene la definizione, trasformandola in una VIEW normale Successivi accessi alla SPM danno errore

40 GESTIONE VISTE MATERIALIZZATE MANUTENZIONE : ALTER VIEW customers_mview MATERIALIZE [option]: Option = SUSPEND: Sospende l utilizzo della SPM e degli oggetti referenzianti. Truncate della SPM Redirect alla tabella base Usare SUSPEND per attività di manutenzione sui DB, come la RECLAIM, la RESTORE, o le NZLOAD. Option = REFRESH: Ri-materializza la SPM, ricostruendo la projected structure. Si usa dopo la SUSPEND Si usa per ri-ordinare le SPM dopo: La SUSPEND Pe ottimizzare gli accessi Per ordinare le righe unsorted (inserite sulla tabella base dopo la CREATE SPM)

41 GESTIONE VISTE MATERIALIZZATE MANUTENZIONE : REFRESH threshold: Con GRANT da amministratore, è possibile impostare un limite ai dati non ordinati, dopo il quale il sistema forza la REFRESH della SPM. SET SYSTEM DEFAULT MATERIALIZE THRESHOLD TO <number>; <number> rappresenta una percentuale: Da 1 a 99 Default = 20

42 GESTIONE VISTE MATERIALIZZATE QUERY: Non possiamo fare INSERT sulle SPM, ma solo SELECT In caso di SELECT sulla tabella base, l ottimizzatore verifica l eventuale esistenza di SPM collegate: Se esistono, l ottimizzatore decide se usarle in base al predicted cost and performace. Le SELECT sulle SPM possono richiedere più memoria delle SELECT sulle tabelle base, a causa delle righe un-sorted.

43 GESTIONE VISTE MATERIALIZZATE MIRRORING: Le SPM vengono trattate su disco in maniera analoga alle tabelle base. Quindi: Il data slice contenente è in mirror con un altra partizione, presente su un altro disco In caso di fail, il failover e la regeneration avvengono anche per i dati delle SPM.

44 GESTIONE VISTE MATERIALIZZATE RECLAIM: Non è possibile fare RECLAIM sulle SPM In caso di RECLAIM sulle tabelle base: 1) le SPM afferenti vengono temporaneamente SUSPENDED 2) La RECLAIM gira sulle tabelle base 3) Al termine, le SPM vengono riattivate, ma rimangono SUSPENDED (necessario quindi un REFRESH manuale) Le operazioni sopra descritte, vengono fatte in maniera transazionale.

45 GESTIONE VISTE MATERIALIZZATE NZLOAD ed SMP: Non è possibile fare NZLOAD sulle SPM. In caso di NZLOAD sulle tabelle base: Le righe delle SPM afferenti vengono automaticamente aggiornate Process slow down Best practice: SUSPEND le SPM prima di NZLOAD REFRESH le SPM dopo NZLOAD

46 GESTIONE VISTE MATERIALIZZATE NZ_BACKUP: In caso di backup di un DB: vengono salvate le definizioni delle SPM (come delle viste normali) Non vengono salvati i dati delle SPM In caso di restore di un DB (o table-level restore) Le SPM vengono rigenerate al termine del restore

47 GESTIONE VISTE MATERIALIZZATE ZONE MAPS: Netezza system crea Zone Maps per un campo della SPM se: Il campo è di tipo INTEGER, DATE, TIMESTAMP Per un campo della ORDER BY, di tipo: integers 1-byte, 2-byte, 4-byte, and 8-byte date timestamp char all sizes, but only the first 8 bytes are used in the zone map varchar all sizes, but only the first 8 bytes are used in the zone map nchar all sizes, but only the first 8 bytes are used in the zone map nvarchar all sizes, but only the first 8 bytes are used in the zone map numeric all sizes except 128-bit numerics float double bool time time w/timezone interval

48 GESTIONE VISTE MATERIALIZZATE BEST PRACTICES: Tabelle con molte colonne, ma poche sono le più utilizzate. Colonne maggiormente restrittive: se una colonna: è spesso utilizzata nei filtri i filtri escludono la maggior parte dei dati (es. Condizione per intervallo temporale) allora usare la colonna nell ORDER BY. Creare SPM con minor numero di colonne possibile, incluse quelle più restrittive, in modo che Netezza le possa usare come index verso la tabella base. Ridurre al massimo le SPM insistenti sulla stessa tabella base Causerebbe degrado prestazionale nelle query, a causa dei tempi spesi dall optimizer.

49 PROSSIMI ARGOMENTI: SUBQUERY FUNZIONI DI AGGREGAZIONE

50 SUBQUERY REGULAR SUBQUERY: query annidata in altre query, racchiusa da parentesi: Esempio: SELECT StoreId FROM Stores WHERE TotalSale > 0.01* (SELECT SUM(TotalSales) FROM Stores); TIPOLOGIE DI SUBQUERY: ROW SUBQ: restituisce 0/1 riga, 1/n colonne TABLE SUBQ: restituisce 0/n righe, 1/n colonne SINGLETON SUBQ: restituisce esattamente 0/1 riga, con 1 colonna. Le SUBQ vengono calcolate per prime, e vengono temporaneamente memorizzate per l utilizzo finale.

51 SUBQUERY CORRELATED SUBQUERY: query annidata in altre query, ma che referenzia oggetti della query esterna. Viene calcolata ripetutamente, diversamente dalle SUBQ. Esempio: SELECT StoreID FROM Stores S WHERE S.TotalSales*0.1 < (SELECT SUM(i.Price) FROM Item i WHERE S.StoreID = I.StoreId and I.ItemType = "Dairy"); In questo esempio, viene calcolata la somma dei Price nell ambito dello stesso StoreID.

52 SUBQUERY CORRELATED SUBQUERY: spesso può essere convertita in normale SUBQ in join: Esempio precedente, equivale a: SELECT S.StoreId FROM Stores S, (SELECT I.StoreId, Sum(Price) DairySales FROM Items I WHERE I.ItemType = "Dairy" GROUP BY I.StoreId) D WHERE S.StoreId = D.StoreId AND S.TotalSales *0.1 < D.DairySales;

53 SUBQUERY CORRELATED SUBQUERY: RESTRIZIONI: Netezza converte le CORRELATED SUBQUERY in SUBQ with JOIN. CORR SUBQ soltanto nella WHERE CORR SUBQ in INNER JOIN soltanto con operatore = Non si possono usare: In operazioni d insieme (UNION, INTERSECT, EXCEPT, MINUS) In aggregazioni (GROUP BY, HAVING) In OR, CASE/WHEN, nelle liste della IN, nelle liste della SELECT. PERFORMANCE EXPENSIVE: provare sempre a convertirle con la JOIN.

54 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..

55 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...

56 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.

57 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???

58 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.

59 FUNZIONI DI AGGREGAZIONE AGGREGAZIONE SU FINESTRA: risultato 2: SUM(30,35,50) = 115 ANALYTIC FUNCTIONS: UNA SESSIONE SUCCESSIVA!!!

60 <EOF>

61 REFUSI

62 NETEZZA SQL INTRODUCTION 1. ACCESSO A NETEZZA SQL CON NZSQL 1. Logging On 2. Risposta ai Command 3. Management delle Sessioni 4. Supporto SSL per i Client 5. Variabili SQL di Sessione 2. nzsql COMMANDS 1. Input 2. Output 3. Options 4. Miscellaneous 5. Slash 6. Query Buffer 3. nzsql EXIT CODE

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

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

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA DEVELOPMENT

NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA DEVELOPMENT NETEZZA APPLIANCE Danilo De Benedictis danilode@gmail.com NETEZZA DEVELOPMENT NETEZZA DEVELOPMENT STORED PROCEDURES ANALYTIC FUNCTIONS NETEZZA DEVELOPMENT STORED PROCEDURES STORED PROCEDURES Definizione:

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Dispensa di database Access

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

Dettagli

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

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

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

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

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

Dettagli

Data warehouse in Oracle

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

Dettagli

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

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

Dettagli

Operazioni sui database

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

Dettagli

Istruzioni DML di SQL

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

Dettagli

OSSIF WEB. Manuale query builder

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

Dettagli

Il BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak

Il 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 è

Dettagli

Gestione delle tabelle

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

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

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

Dettagli

Il linguaggio SQL: viste e tabelle derivate

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

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

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. 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

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

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

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

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

Dettagli

PROGRAMMA DI CLASSE 5AI

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

Dettagli

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array... Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

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

Dettagli

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

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,

Dettagli

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

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

Dettagli

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

Dettagli

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

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

Dettagli

Laboratorio di Basi di Dati e Web

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

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* 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

Dettagli

Insegnamento 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 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

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

Dettagli

Definizione di domini

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

Dettagli

Sistemi per la gestione di database: MySQL ( )

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

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi 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

Dettagli

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

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

Dettagli

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

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

Dettagli

Lezione 8. Metadati, Viste e Trigger

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

Dettagli

Interrogazioni complesse. SQL avanzato 1

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

Dettagli

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

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

Dettagli

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

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

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

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

Dettagli

Informazioni generali sul corso

Informazioni generali sul corso abaroni@yahoo.com 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

Dettagli

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

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

Dettagli

Corso sul linguaggio SQL

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

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi 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

Dettagli

SQL 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. 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

Dettagli

Volumi di riferimento

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

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al 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,

Dettagli

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse Analisi dei Dati Lezione 10 Introduzione al Datwarehouse Il Datawarehouse Il Data Warehousing si può definire come il processo di integrazione di basi di dati indipendenti in un singolo repository (il

Dettagli

Capitolo 13. Interrogare una base di dati

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

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

Corso di Laboratorio di Basi di Dati

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

Dettagli

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

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

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

Dettagli

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

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

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

Ottimizzazione delle interrogazioni (parte I)

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

Dettagli

Azioni. 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. 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)

Dettagli

Il linguaggio SQL: query innestate

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

Dettagli

SQL Server: miti da sfatare

SQL Server: miti da sfatare SQL Server: miti da sfatare Andrea Benedetti @anbenedetti andrea.benedetti@microsoft.com Sponsors Organizers Feedback form: http://speakerscore.com/z4fp Speaker info SELECT Scrivere la stessa SELECT in

Dettagli

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

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

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Linguaggio SQL Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che

Dettagli

Access. P a r t e p r i m a

Access. 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

Dettagli

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli

DUE GRUPPI DI COMANDI

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

Dettagli

MAX, SUM, AVG, COUNT)

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

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

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

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

Dettagli

SQL - Tipi di dato Il linguaggio SQL

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

Dettagli

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

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

Dettagli

Introduzione all Architettura del DBMS

Introduzione 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

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

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

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA SQL DAY 2

NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA SQL DAY 2 NETEZZA APPLIANCE Danilo De Benedictis danilode@gmail.com NETEZZA SQL DAY 2 ACCESSO A NETEZZA SQL CON NZSQL Netezza SQL SQL 92: standard ANSI/ISO (full compliant) SQL/CLI: supporto al Client/Server (ODBC,

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

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

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

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

Dettagli

SQL. Structured Query Language

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

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

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 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

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

SQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:

Dettagli

FIRESHOP.NET. Gestione Lotti & Matricole. www.firesoft.it

FIRESHOP.NET. Gestione Lotti & Matricole. www.firesoft.it FIRESHOP.NET Gestione Lotti & Matricole www.firesoft.it Sommario SOMMARIO Introduzione... 3 Configurazione... 6 Personalizzare le etichette del modulo lotti... 6 Personalizzare i campi che identificano

Dettagli

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26 Gli strumenti che vedremo Basi

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

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

Dettagli

Cosa è un foglio elettronico

Cosa è 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

Dettagli

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

CONCETTO DI ANNIDAMENTO

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

Dettagli

Introduzione ai database relazionali

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

Dettagli