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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ORACLE PARTITIONING 11G

ORACLE PARTITIONING 11G ORACLE PARTITIONING 11G Oracle Database e la Business Intelligence: Oracle Partitioning 11g Pagina 1 di 8 Indice Indice... 2 Introduzione... 3 Prerequisiti... 3 Criteri di partizionamento... 3 Gestione

Dettagli

Il linguaggio SQL: le basi

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

Dettagli

http://technet.microsoft.com/it-it/library/bb500469.aspx Le versioni di SQL Server sono state molte; traggo le principali da Wikipedia:

http://technet.microsoft.com/it-it/library/bb500469.aspx Le versioni di SQL Server sono state molte; traggo le principali da Wikipedia: LEZIONE-TSQL-01 DDL (VER01 PAG. 1 / 11 LEZIONE-TSQL-01 DDL (VER01 T-SQL PROGRAMMAZIONE PARTE PRIMA MICROSOFT SQL SERVER IL PRODOTTO MICROSOFT SQL SERVER Le dispense SQL descrivono un generico SQL utilizzato

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

SQL: Concetti Base -Prima Parte-

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

Dettagli

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

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

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

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 IL LINGUAGGIO DI INTERROGAZIONE

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

Dettagli

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

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. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Il linguaggio SQL è stato originariamente dichiarativo, diventando nel tempo sempre

Dettagli

07. Ottimizzare le istruzioni SQL

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

Dettagli

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} Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori

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

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

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

Create la tabella Dipendenti:

Create la tabella Dipendenti: Create la tabella Dipendenti: create table Dipendenti( id int(3) not null auto_increment, livello int(1) not null, stipendio int(4) not null, primary key(id)); mysql> describe Dipendenti; --------+------+-----+---------+----------------+

Dettagli

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language 1 Il linguaggio SQL Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova SQL: Structured Query Language 2 Generalita Linguaggio di interrogazione per le basi di dati. Sviluppato presso i

Dettagli

GUIDA MYSQL ( da html.it) Data Base Data Base Management System Edgar F. Codd tabelle colonne proprietà attributi righe ricorrenze linguaggio SQL

GUIDA MYSQL ( da html.it) Data Base Data Base Management System Edgar F. Codd tabelle colonne proprietà attributi righe ricorrenze linguaggio SQL GUIDA MYSQL ( da html.it) Un Data Base (traducibile in italiano come base di dati ) non è un altro che un insieme di dati logicamente correlati fra loro. I Data Base Management System (DBMS) sono quindi

Dettagli

MySQL Command Line Client: operazioni fondamentali

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

Dettagli

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

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

Il Linguaggio SQL. Il Linguaggio SQL

Il Linguaggio SQL. Il Linguaggio SQL Il Linguaggio SQL 23 Il Linguaggio SQL SQL è l acronimo di Standard Query Language e identifica un linguaggio di interrogazione (gestione) per basi di dati relazionali. Le sue origini risalgono alla fine

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

Architettura MySQL. E Motori MySQL

Architettura MySQL. E Motori MySQL E Motori MySQL Caratteristiche Differente dagli altri DBMS Non perfetta Ma flessibile Gestisce DataWarehouses, OLTP, ecc. Architettura delle Storage Engine Separa il query processing dai task di memorizzazione

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.

Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1. Università di Modena e Reggio Emilia Basi di dati (8) Docente: andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.1) 1 Panoramica Trigger Creazione Tipi di trigger Tabelle inserted/deleted Esempi

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

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

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

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

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf Il linguaggio SQL: le basi Versione elettronica: SQLa-basi.pdf SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che riunisce in sé funzionalità

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

Basi di Dati e Sistemi Informativi. SQL come linguaggio di manipolazione dei dati

Basi di Dati e Sistemi Informativi. SQL come linguaggio di manipolazione dei dati Basi di Dati e Sistemi Informativi Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come standard Varie versioni con successivi miglioramenti: SQL-1 o SQL-89 (rispetto ad SQL-86 introduce

Dettagli

ESEMPIO: RITARDI & BIGLIETTI

ESEMPIO: RITARDI & BIGLIETTI ESEMPIO: RITARDI & BIGLIETTI Fatto Ritardi: l analisi a livello volo giornaliero, considerando l aeroporto di partenza, la città e lo stato di arrivo e la compagnia Fatto Biglietti: l analisi deve considerare

Dettagli

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

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

Dettagli

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

Il linguaggio SQL. ing. Alfredo Cozzi 1

Il linguaggio SQL. ing. Alfredo Cozzi 1 Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare

Dettagli

RDBMS: panorama attuale. RDBMS: panorama attuale

RDBMS: panorama attuale. RDBMS: panorama attuale RDBMS: panorama attuale Gestiscono e manipolano dati semplici (tabellari) Hanno un linguaggio di interrogazione (SQL) semplice, dichiarativo e standard Tool consolidati per lo sviluppo di applicazioni

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

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

Laboratorio di Basi di Dati

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

Dettagli

LINGUAGGIO SQL. Introduzione

LINGUAGGIO SQL. Introduzione LINGUAGGIO SQL Introduzione Il linguaggio SQL (Structured Query Language) è un linguaggio di tipo non procedurale o di tipo dichiarativo e rappresenta lo standard per l'interrogazione delle basi di dati

Dettagli

SQL come linguaggio di interrogazione. Basi di dati. Interrogazioni SQL. Interpretazione algebrica delle query SQL

SQL come linguaggio di interrogazione. Basi di dati. Interrogazioni SQL. Interpretazione algebrica delle query SQL SQL come linguaggio di interrogazione Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse,

Dettagli

Laboratorio di Basi di Dati Introduzione a SQL

Laboratorio di Basi di Dati Introduzione a SQL Laboratorio di Basi di Dati Introduzione a SQL Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it evoluzione e standards 1970 - E.F. Codd, A Relational Model of Data for Large Shared Data

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per

Dettagli

Richiami sul linguaggio SQL

Richiami sul linguaggio SQL Richiami sul linguaggio SQL Sistemi Informativi Avanzati Anno Accademico 2012/2013 Corso di Laurea Magistrale in Ingegneria Gestionale Reggio Emilia, 8 marzo 2013 UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO

Dettagli

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

Dettagli

Introduzione al linguaggio SQL

Introduzione al linguaggio SQL Introduzione al linguaggio SQL Structured Query Language (Linguaggio Strutturato di Interrogazione di Database) prof. Cleto Azzani IPSIA MORETTO BRESCIA (2004) Che cos è un Data Base (Base di dati) Insieme

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

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

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

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

Dettagli

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

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 MySQL La pronuncia ufficiale è MY- S- Q- L ma si può leggere anche MY- Sequel. MySQL è il secondo RDBMS più diffuso al mondo. OpenSource sono licenza GPL Scelto

Dettagli

DUGI, DB2 User Group Italia. i Trigger INSTEAD OF ; SELECT FROM INSERT, UPDATE, MERGE, DELETE con Colonne INCLUDE

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

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

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 1 INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 SQL Dopo aver eseguito l installazione del DBMS e di uno o più database: Accesso al DBMS Interpretazione di uno script Descrizione dello schema

Dettagli

Microsoft SQL Server

Microsoft SQL Server Che cos'è SQL Server E' il DBMS commercializzato da Microsoft. Principali concorrenti: Prodotti commerciali: Oracle, IBM DBII; Prodotti "free": MySQL, Postgres. Requisiti tipici per l'installazione della

Dettagli

Modello Relazionale. Sistemi di Elaborazione delle Informazioni. DB ed SQL. Modello relazionale: concetti di base

Modello Relazionale. Sistemi di Elaborazione delle Informazioni. DB ed SQL. Modello relazionale: concetti di base Sistemi di Elaborazione delle Informazioni DB ed SQL Prof. Silvio Vassallo Modello Relazionale Il modello relazionale si basa sul concetto di RELAZIONE tra insiemi di oggetti. Dati n insiemi A 1,A 2, A

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini

Dettagli

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

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

Dettagli

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

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

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

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

Dettagli

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

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

DB2 Universal Database (UDB) DB2 Universal Database (UDB) DB2 Universal Database (UDB) Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DB2Presentazione2009.pdf Sistemi Informativi L-A DB2 Universal

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

Dettagli

Domini elementari in SQL

Domini elementari in SQL SQL SQL è un acronimo per Structured Query Language. Fu sviluppato originalmente come linguaggio per il DBMS System R dall IBM Research Laboratory (San Jose, California) nei tardi anni settanta. Al giorno

Dettagli

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

CAPITOLO 5: DATABASE INTRODUZIONE

CAPITOLO 5: DATABASE INTRODUZIONE CAPITOLO 5: DATABASE INTRODUZIONE Una base di dati (o database) è semplicemente una collezione di dati organizzati in qualche modo e con qualche criterio. Il modello più diffuso è quello relazionale, ovvero

Dettagli

Esercitazioni di Basi di Dati

Esercitazioni di Basi di Dati Esercitazioni di Basi di Dati A.A. 2008-09 Dispense del corso Utilizzo base di pgadmin III Lorenzo Sarti sarti@dii.unisi.it PgAdmin III PgAdmin III è un sistema di progettazione e gestione grafica di database

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

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),

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

FileMaker 13. Guida SQL

FileMaker 13. Guida SQL FileMaker 13 Guida SQL 2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi di FileMaker, Inc.

Dettagli

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL

Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3 Lo Standard SQL Il linguaggio SQL è un linguaggio non procedurale (o di tipo dichiarativo), divenuto, ormai da tempo, il linguaggio

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

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente. Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44

Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente. Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44 lnx.brescianet.com Sito didattico - Prof. Sechi Marco Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44 Messaggi senza risposta Argomenti

Dettagli