SQL IL LINGUAGGIO DI INTERROGAZIONE
|
|
- Chiara Galli
- 8 anni fa
- Visualizzazioni
Transcript
1 SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R ( ) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999 Giorgio Giacinto 2010 Database 2
2 Componenti SQL! DML (Data Manipulation Language)! DDL (Data Definition Language)! Trigger e vincoli di integrità avanzati! SQL dinamico e embedded! Esecuzione client-server e accesso a basi di dati remote! Gestore di transazioni! Sicurezza! Funzioni avanzate Giorgio Giacinto 2010 Database 3 Schema base di dati di esempio Velisti(vid:integer,vnome:string, esperienza:integer,età:real) Barche(bid:integer,bnome:string, colore:string) Prenota(vid:integer,bid:integer, giorno:data) Giorgio Giacinto 2010 Database 4
3 P1 Istanze di esempio! Useremo nei nostri esempi queste istanze delle relazioni Velisti e Prenota! Se la chiave per la relazione Prenota contenesse solo gli attributi vid e bid, in che modo la semantica sarebbe diversa? V1 V2 vid bid giorno /10/ /12/96 vid vnome esperienza età 22 dustin lubber rusty vid vnome esperienza età 28 yuppy lubber guppy rusty Giorgio Giacinto 2010 Database 5 Interrogazioni SQL di base SELECT DISTINCT FROM WHERE lista-attributi lista-relazioni qualificazioni! Lista-relazioni. Una lista di nomi di relazioni (eventualmente con una variabile di range dopo ciascun nome)! Lista-attributi. Una lista di attributi delle relazioni in listarelazioni! Qualificazioni. Confronti (attr op cost oppure attr1 op attr2, dove op è uno tra <, >, =, <=, >= <>) combinati usando AND, OR e NOT! DISTINCT è una parola chiave opzionale che indica che la risposta non dovrebbe contenere duplicati. Per impostazione predefinita i duplicati non sono eliminati!! Il risultato è un multinsieme Giorgio Giacinto 2010 Database 6
4 Strategia di valutazione concettuale! La semantica di una interrogazione SQL è definita in termini della seguente strategia di valutazione concettuale! calcolare il prodotto scalare di lista-relazioni! scartare le tuple risultanti se non passano le qualificazioni! cancellare gli attributi che non sono in lista-attributi! se è specificato DISTINCT, eliminare le righe duplicate! Questa strategia è probabilmente il modo meno efficiente di calcolare una interrogazione! Un ottimizzatore troverà strategie più efficienti per calcolare le stesse risposte. Giorgio Giacinto 2010 Database 7 Esempio di valutazione concettuale SELECT V.vnome, Prenota P WHERE V.vid = P.vid AND P.bid = 103 (vid) vnome esperienza età (vid) bid giorno 22 dustin /10/96 22 dustin /12/96 31 lubber /10/96 31 lubber /12/96 58 rusty /10/96 58 rusty /12/96 Giorgio Giacinto 2010 Database 8
5 Nota sulle variabili di range! Se ne ha veramente bisogno solo se la stessa relazione appare due volte nella clausola FROM. L interrogazione precedente può anche essere scritta come SELECT V.vnome, Prenota P WHERE V.vid = P.vid AND bid = 103 oppure SELECT vnome FROM Velisti, Prenota WHERE Velisti.vid = Prenota.vid AND bid = 103 È buono stile, comunque, usare sempre le variabili di range! Giorgio Giacinto 2010 Database 9 Trovare i nomi dei velisti che hanno prenotato almeno una barca SELECT FROM WHERE V.vnome Velisti V, Prenota P V.vid = P.vid! Farebbe differenza aggiungere DISTINCT a questa interrogazione? Giorgio Giacinto 2010 Database 10
6 Espressioni e stringhe SELECT FROM WHERE V.età, età1 = V.età -5, 2 * V.età AS eta2 Velisti V V.vnome LIKE 'B_%B'! Illustra l uso delle espressioni aritmetiche e del pattern matching di stringhe: trovare le triple (le età dei velisti e due campi definiti da espressioni) per quei velisti il cui nome inizia e termina con B e contiene almeno tre caratteri! AS e = sono due modi di dare un nome ai campi del risultato! LIKE è usato per il matching di stringhe! _ indica qualunque carattere singolo! % sta per 0 o più caratteri arbitrari Giorgio Giacinto 2010 Database 11 OPERATORI INSIEMISTICI
7 Trovare i vid dei velisti che hanno prenotato una barca rossa o una barca verde! UNION può essere usato per calcolare l unione di qualunque coppia di insiemi di tuple (essi stessi risultati di interrogazioni SQL) compatibili rispetto all unione! Se nella prima versione sostituiamo OR con AND, cosa otteniamo?! Disponibile anche EXCEPT (cosa otteniamo se sostituiamo UNION con EXCEPT?) SELECT P.vid FROM Barche B, Prenota P WHERE P.bid=B.bid AND (B.colore= rosso OR B.colore= verde ) SELECT P.vid FROM Barche B, Prenota P WHERE P.bid = B.bid AND B.colore = rossa UNION SELECT P2.vid FROM Barche B2, Prenota P2 WHERE P2.bid = B2.bid AND B2.colore = verde Giorgio Giacinto 2010 Database 13 Trovare i vid dei velisti che hanno prenotato una barca rossa e una barca verde! INTERSECT può essere usato per calcolare l intersezione di qualunque coppia di insiemi di tuple compatibili rispetto all unione! Incluso nello standard SQL/92, ma alcuni sistemi non lo supportano! Confrontate la simmetria delle interrogazioni con UNION e INTERSECT con la diversità delle altre versioni SELECT P1.vid FROM Barche B1, Prenota P1, Barche B2, Prenota P2 WHERE P1.vid = P2.vid AND P1.bid = B1.bid AND P2.bid = B2.bid AND (B1.colore = rosso AND B2.colore = verde ) SELECT P.vid FROM Barche B, Prenota P WHERE P.bid = B.bid AND B.colore = rosso INTERSECT SELECT P.vid FROM Barche B, Prenota P WHERE P.bid = B.bid AND B.colore = verde Giorgio Giacinto 2010 Database 14
8 INTERROGAZIONI ANNIDATE Interrogazioni annidate Trovare i nomi dei velisti che hanno prenotato la barca #103 SELECT V.vnome WHERE V.vid IN (SELECTP.vid FROM Prenota P WHERE P.bid = 103)! Una funzione molto potente di SQL: una clausola WHERE può essa stessa contenere una interrogazione SQL!! In realtà, lo stesso vale per le clausole FROM e HAVING! Per trovare i velisti che non hanno prenotato la barca #103, usare NOT IN! Per comprendere la semantica delle interrogazioni annidate, pensate alla valutazione dei cicli annidati: per ciascuna tupla di Velisti, controllare la qualificazione calcolando la sottointerrogazione. Giorgio Giacinto 2010 Database 16
9 Interrogazioni annidate Trovare i nomi dei velisti che hanno prenotato solo barche rosse SELECT V.vnome WHERE V.vid NOT IN (SELECT P.vid FROM Prenota P WHERE P.bid NOT IN (SELECT B.bid FROM Barche B WHERE B.colore = rosso ))) Dobbiamo esprimere il concetto unicamente con una doppia negazione Come il quantificatore universale tutti Giorgio Giacinto 2010 Database 17 Interrogazioni annidate con correlazione Trovare i nomi dei velisti che hanno prenotato la barca #103 SELECT V.vnome WHERE EXISTS (SELECT * FROM Prenota P WHERE P.bid = 103 AND V.vid = P.vid)! EXISTS è un altro operatore di confronto tra insiemi, come IN! Restituisce VERO se il risultato della sottointerrogazione non è vuoto! NOT EXISTS restituisce VERO se il risultato della sottointerrogazione è vuoto Giorgio Giacinto 2010 Database 18
10 Interrogazioni annidate con correlazione Trovare i nomi dei velisti che hanno prenotato la barca #103 solo una volta SELECT V.vnome WHERE UNIQUE (SELECT P.bid FROM Prenota P WHERE P.bid = 103 AND V.vid = P.vid) UNIQUE è un altro operatore di confronto tra insiemi restituisce VERO se nessuna riga del risultato della sottointerrogazione appare due volte quindi restituisce VERO se il risultato è vuoto! Perché nella SELECT della sottointerrogazione occorre P.bid? Giorgio Giacinto 2010 Database 19 Ancora sugli operatori di confronto tra insiemi! Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE! Disponibili anche: op ANY, op ALL, >, <, =, >=, <=, <>! IN equivale a = ANY e NOT IN equivale a <>ALL Trovare i velisti la cui esperienza è maggiore di quella di qualche velista chiamato Horatio SELECT * WHERE V.esperienza > ANY (SELECT V2.esperienza 2 WHERE V2.vnome = Horatio ) Se non ci sono velisti chiamati Horatio il confronto restituisce FALSE Giorgio Giacinto 2010 Database 20
11 Riscrittura delle interrogazioni INTERSECT usando IN Trovare i vid dei velisti che hanno prenotato sia una barca rossa che una barca verde SELECT V.vid, Barche B, Prenota P WHERE V.vid = P.vid AND P.bid = B.bid AND B.colore = rosso AND V.vid IN (SELECT V2.vid 2, Barche B2, Prenota P2 WHERE V2.vid = P2.vid AND P2.bid = B2.bid AND B2.colore = verde )! Analogamente, le interrogazioni EXCEPT si riscrivono usando NOT IN! Per trovare i nomi (non i vid) dei velisti che hanno prenotato sia barche rosse che barche verdi, basta sostituire V.vid con V.vnome nella clausola SELECT (che si può dire dell interrogazione con INTERSECT?) Giorgio Giacinto 2010 Database 21 Divisioni in SQL Trovare i velisti che hanno prenotato tutte le barche Prima soluzione, con EXCEPT SELECT V.vnome FROM Velisti WHERE NOT EXISTS ((SELECT B.bid FROM Barche B) EXCEPT (SELECT P.bid FROM Prenota P WHERE P.vid = V.vid)) Velisti V tali che Seconda soluzione, più complicata, senza EXCEPT SELECT V.vnome WHERE NOT EXISTS (SELECT B.bid FROM Barche B WHERE NOT EXITS (SELECT P.bid FROM Prenota P WHERE P.bid = B.bid AND P.vid = V.vid)) non ci sia una barca B senza una tupla di Prenota la quale mostra che V ha prenotato B Giorgio Giacinto 2010 Database 22
12 OPERATORI DI AGGREGAZIONE Operatori di aggregazione Importante estensione dell algebra relazionale COUNT (*) COUNT ([DISTINCT] A) SUM ([DISTINCT] A) AVG ([DISTINCT] A) MAX (A) MIN (A) Giorgio Giacinto 2010 Database 24
13 Esempi con operatori di aggregazione SELECT COUNT(*) SELECT COUNT(DISTINCT V.esperienza) WHERE V.vnome = Bob SELECT AVG(V.età) WHERE V.esperienza=10 SELECT AVG(DISTINCT V.età) WHERE V.esperienza = 10 Giorgio Giacinto 2010 Database 25 Trovare nome ed età del/i velista/i più anziano/i! La prima interrogazione è illegale! (Ne vedremo le ragioni un po più tardi, quando discuteremo GROUP BY)! La terza interrogazione è equivalente alla seconda, ed è permessa nello standard SQL/92, ma non è supportata in alcuni sistemi SELECT V.vnome, MAX(V.età) SELECT V.vnome, V.età WHERE V.età = (SELECT MAX(V2.età) 2) SELECT V.vnome, V.età WHERE (SELECT MAX(V2.età) 2) = V.età Giorgio Giacinto 2010 Database 26
14 GROUP BY e HAVING! Finora abbiamo applicato operatori di aggregazione a tutte le tuple (qualificanti). A volte vogliamo applicarli a ciascuno tra diversi gruppi di tuple! Consideriamo: Trovare l età del velista più giovane per ciascun grado di esperienza! In generale, non sappiamo quanti gradi di esperienza esistano, e quali siano i loro valori!! Supponiamo di sapere che i valori di esperienza variano da 1 a 10: possiamo scrivere 10 interrogazioni che somigliano a queste (!) for i = 1, 2,..., 10 SELECT MIN(V.età) WHERE V.esperienza = i Giorgio Giacinto 2010 Database 27 Interrogazioni con GROUP BY e HAVING SELECT FROM WHERE GROUP BY HAVING [DISTINCT] lista-target lista-relazioni qualificazioni lista-gruppi qualificazione-gruppi! La lista-target contiene (i) nomi di attributi (ii) termini con operazioni di aggregazione (ad esempio, MIN(V.età))! La lista di attributi (i) deve essere un sottoinsieme della lista-gruppi. Intuitivamente, ciascuna tupla nella risposta corrisponde a un gruppo, e questi attributi devono avere un singolo valore per gruppo (un gruppo è un insieme di tuple con lo stesso valore per tutti gli attributi in lista-attributi) Giorgio Giacinto 2010 Database 28
15 Valutazione concettuale! Viene calcolato il prodotto cartesiano della lista-relazioni, vengono scartate le tuple che non passano la qualificazione, i campi non necessari vengono cancellati, e le tuple rimanenti sono partizionate in gruppi dai valori degli attributi in lista-gruppi.! La qualificazione-gruppi viene poi applicata per eliminare alcuni gruppi. Le espressioni in qualificazione-gruppi devono avere un singolo valore per gruppo!! In effetti, un attributo in qualificazione-gruppi che non è un argomento di un operatore di aggregazione appare anche in lista-gruppi (SQL qui non sfrutta la semantica delle chiavi primarie!)! Viene generata una tupla di risposta per ogni gruppo qualificante Giorgio Giacinto 2010 Database 29 Trovare l età del velista più giovane con età!18, per ciascun livello di esperienza con almeno 2 velisti. SELECT V.esperienza, MIN(V.età) WHERE V.età >= 18 GROUP BY V.esperienza HAVING COUNT(*) > 1! Solo V.esperienza e V.età sono menzionati nelle clausole SELECT, GROUP BY e HAVING; altri attributi sono non necessari! La seconda colonna del risultato non ha un nome (usare AS per darle un nome) esperienza età esperienza età Relazione risultato Giorgio Giacinto 2010 Database 30 vid vnome esperienza età 22 dustin lubber zorba horatio brutus rusty
16 Estensioni SQL:1999! Nella clausola HAVING possono essere usate due nuove funzioni su insiemi EVERY! Ogni riga di un gruppo deve soddisfare la condizione di qualificazione del gruppo ANY! Almeno una riga di un gruppo deve soddisfare la condizione di qualificazione Giorgio Giacinto 2010 Database 31 Esempio con EVERY SELECT V.esperienza, MIN(V.età) WHERE V.età >= 18 GROUP BY V.esperienza HAVING COUNT(*) > 1 AND EVERY(V.età<=60) equivale a SELECT V.esperienza, MIN(V.età) WHERE V.età >= 18 AND NOT EXISTS (SELECT * 1 WHERE V1.età > 60 AND V1.esperienza = V.esperienza) GROUP BY V.esperienza HAVING COUNT(*) > 1 Giorgio Giacinto 2010 Database 32
17 Per ciascuna barca rossa, trovare il numero di prenotazioni per tale barca SELECT FROM WHERE GROUP BY B.bid, COUNT(*) AS vconta Barche B, Prenota P P.bid = B.bid AND B.colore = rosso B.bid! Raggruppamento su un join di due relazioni! Cosa otteniamo se rimuoviamo B.colore = rosso dalla clausola WHERE e aggiungiamo una clausola HAVING con tale condizione? Giorgio Giacinto 2010 Database 33 Trovare l età del velista più giovane con età >18 per ciascun livello di esperienza con almeno 2 velisti (di qualunque età) SELECT V.esperienza, MIN(V.età) WHERE V.età > 18 GROUP BY V.esperienza HAVING 1 < (SELECT COUNT(*) 2 WHERE V.esperienza = V2.esperienza)! Confrontare questa interrogazione con quella in cui consideravamo solo i livelli di esperienza con due velisti con più di 18 anni!! Che succede se la clausola HAVING viene sostituita con! HAVING COUNT(*) > 1 Giorgio Giacinto 2010 Database 34
18 Trovare quei livelli di esperienza per cui l età media è minima rispetto a tutti i livelli! Gli operatori di aggregazione non possono essere annidati! Soluzione errata: SELECT V.esperienza Velisti V FROM WHERE V.età = (SELECT MIN(AVG(V2.età)) 2) Soluzione corretta (in SQL/92): SELECT Temp.esperienza. Temp.etamedia FROM (SELECTV.esperienza, AVG(V.età)AS etamedia GROUP BY V.esperienza) AS Temp WHERE Temp.etamedia = (SELECT MIN(Temp.etamedia) FROM Temp) Giorgio Giacinto 2010 Database 35 Valori NULL! I valori dei campi di una tupla sono a volte sconosciuti! ad esempio, non è ancora stato stabilito un livello di esperienza oppure inapplicabili! ad esempio, nessuna moglie! SQL fornisce uno speciale valore NULL Giorgio Giacinto 2010 Database 36
19 Valori NULL! La presenza di NULL complica parecchie cose. Ad esempio:! operatori speciali per controllare se un valore è/non è NULL (IS NULL e IS NOT NULL)! esperienza > 8 è vera o falsa quando esperienza è NULL?! Abbiamo bisogno di una logica a 3 valori (vero, falso e NULL) True True True False False NULL True False NULL False NULL NULL AND True False NULL False False NULL OR True True True False NULL NULL Giorgio Giacinto 2010 Database 37 Valori NULL Impatto sui costrutti SQL! Il significato dei costrutti deve essere attentamente definito! ad esempio la clausola WHERE elimina le righe che non vengono valutate come vero! Impatto significativo nelle interrogazioni annidate che usano EXISTS e UNIQUE! Nel conteggio dei duplicati, due valori NULL sono considerati uguali! SUM, MAX, MIN, AVG scartano i valori NULL Giorgio Giacinto 2010 Database 38
20 Join esterni Velisti!" c Prenota! La relazione risultato del join può non contenere tutte le tuple di Velisti e di Prenota! (outer) right join contiene tutte le tuple di Prenota! valori NULL per gli attributi di Velisti per le tuple di Prenota non combinabili con tuple di Velisti! (outer) left join contiene tutte le tuple di Velisti! (outer) full join contiene tutte le tuple di Velisti e di Prenota Giorgio Giacinto 2010 Database 39 Impedire l uso di valori NULL! Nella definizione degli attributi di una colonna per i quali valori NULL non sono ammessi, vincolo NOT NULL VNOME CHAR(20) NOT NULL! Vincolo di NOT NULL implicito nel vincolo di PRIMARY KEY Giorgio Giacinto 2010 Database 40
21 Sommario! Un fattore importante nel rapido sviluppo del modello relazionale; più naturale che in precedenza, linguaggi di interrogazione procedurali! Relazionalmente completo; di fatto, potere espressivo significativamente superiore all algebra relazionale! Persino le interrogazioni che possono essere espresse in AR possono spesso essere espresse in maniera più naturale con SQL! Molti modi alternativi di scrivere una interrogazione; l ottimizzatore dovrebbe cercare il piano di valutazione più efficiente! Nella pratica, gli utenti devono essere consci di come le interrogazioni sono ottimizzate e valutate per ottenere risultati migliori Giorgio Giacinto 2010 Database 41
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
DettagliLezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1
Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare
DettagliSQL: 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
DettagliCapitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM
Capitolo 4 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
DettagliIl linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliJoin in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a
Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
DettagliESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
DettagliLezione 6 SQL Basi di dati bis Docente Mauro Minenna Pag.1
Lezione 6 SQL Pag.1 Istanze di esempio vid vnome esperienza età 22 Dustin 7 45.0 29 Brutus 1 33.0 31 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliInformatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL
Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in
DettagliSQL - Funzioni di gruppo
una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore
DettagliUso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26
Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliInterrogazioni 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
DettagliIstruzioni DML di SQL
Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,
DettagliSQL/OLAP. Estensioni OLAP in SQL
SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,
Dettagli4 SQL : Interrogazioni nidificate
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento
DettagliInterrogazioni nidificate, commenti
Interrogazioni nidificate, commenti La forma nidificata è meno dichiarativa, ma talvolta più leggibile (richiede meno variabili) La forma piana e quella nidificata possono essere combinate Le sottointerrogazioni
DettagliSQL: 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,
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliData Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004
DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa
DettagliBasi Di Dati, 09/12/2003
Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,
DettagliRicorsione in SQL-99. Introduzione. Idea di base
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
DettagliLezione 8. Metadati, Viste e Trigger
Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliCONCETTO DI ANNIDAMENTO
LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliSQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12
SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.
DettagliCorso 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
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliSQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
DettagliINFORMATICA. 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(anno accademico 2008-09)
Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliLezione 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)
DettagliALGEBRA RELAZIONALE RIEPILOGO
ALGEBRA RELAZIONALE RIEPILOGO PROIEZIONE: (notazione ) Operatore unario per estrarre colonne da una relazione: lista_attributi (R) Lo schema del risultato contiene i soli attributi contenuti in lista_attributi.
DettagliMAX, 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
DettagliElementi di Algebra Relazionale
Note dalle lezioni di INFORMATICA (per gli allievi della classe quinta - indirizzo MERCURIO) Elementi di Algebra Relazionale prof. Stefano D.L.Campanozzi I.T.C. Giulio Cesare Bari - a.s. 2008-2009 1 Introduzione
DettagliOSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
DettagliOR 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,
DettagliSistemi per la gestione di database: MySQL ( )
Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento
DettagliBasi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale
Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente
DettagliUtilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi
Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni
DettagliPROGRAMMA DI CLASSE 5AI
Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA
DettagliQuery. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi
Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè
DettagliIntroduzione all Algebra Relazionale
Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente
DettagliRISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
DettagliPer visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;
Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta
DettagliIl 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
DettagliSQL 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
DettagliStructured Query Language parte 1
Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Structured Query Language parte 1 Come interrogare una base di dati relazionale ed avere la risposta esatta Docente: Gennaro Pepe
DettagliSi formulino le seguenti interrogazioni tramite il linguaggio SQL:
Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 15.01.2009 - Docente: Massimo Coppola Modello Relazionale e SQL Si consideri la seguente base di dati relativa alla redazione di
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliIl 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 è
DettagliLinguaggi per basi di dati
ALGEBRA RELAZIONALE Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento 2 Linguaggi
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliBasi 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
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
DettagliIl linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf
Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista
DettagliIl seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:
Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza
DettagliBasi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati
Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza
DettagliTEORIA sulle BASI DI DATI
TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere
DettagliSQL. 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
DettagliAlgebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia
Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)
DettagliArchivi e Basi di Dati
Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati
DettagliECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2
ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?
DettagliIl linguaggio SQL: viste e tabelle derivate
Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento
DettagliBasi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1
Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,
DettagliBasi 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
DettagliLorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17
Lorenzo Braidi Database design Libro_datadesign.indb 1 23-11-2004 10:06:17 Sommario Introduzione...XI Capitolo 1 Le basi di dati relazionali... 1 Le basi di dati... 1 Un po di storia... 2 I database gerarchici...
DettagliSQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13
SQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Interrogazioni nidificate Interrogazioni nidificate 2 Si ottiene una interrogazione nidificata quando un interrogazione
DettagliAttributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota
Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
Dettaglilogica dei predicati
Calcolo relazionale Calcolo relazionale: logica dei predicati, dove la semantica di ogni predicato esprime una condizione sui dati. E un linguaggio di query, dichiarativo: il risultato è dato da una descrizione
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
DettagliIl Modello Relazionale
Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliINTRODUZIONE 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
Dettagli1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa
Ristrutturare Osservazioni seguenti che possano indicazioni emergere lo schema sulle ER operazioni della slide frequenti successiva e indicando tenendo presenti i vincoli le 1.Tutte 2.Spesso P.IVAe le
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliIl 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,
DettagliGli operatori relazionali
Gli operatori relazionali Agiscono su una o più relazioni per ottenere una nuova relazione (servono a realizzare le interrogazioni sul database) Ci sono tre operazioni fondamentali per i database relazionali:
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliAlcune nozioni di base di Logica Matematica
Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
DettagliStoria. 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:
DettagliBasi di Dati. Programmazione e gestione di sistemi telematici
Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini SQL SQL = Structured Query Language Linguaggio
DettagliEsercitazione Simulazione Compito
Esercitazione Simulazione Compito 05/12/2014 Compito del 26/05/2014 1.1 Il comando DELETE FROM UtenE WHERE alias = gino dove alias è una primary key: (a) elimina zero o una riga (b) elimina un numero imprecisato
DettagliI 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
DettagliInterrogazione della base di dati
Interrogazione della base di dati SQL è un linguaggio di definizione e di manipolazione dei dati. In quanto linguaggio di manipolazione, SQL permette di selezionare dati di interesse dalla base e di aggiornarne
DettagliIL 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
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliFa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine
Calcolo relazionale Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine calcolo Specifica (èla base relazionale su tuple le di proprietà molti con
DettagliDimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Dettagli