Gestione di basi di dati relazionali con SQL (parte I) Linguaggi per basi di dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gestione di basi di dati relazionali con SQL (parte I) Linguaggi per basi di dati"

Transcript

1 Gestione di basi di dati relazionali con SQL (parte I) Gian Pietro Picco Dipartimento di Elettronica e Informazione Politecnico di, Italy picco@elet.polimi.it Linguaggi per basi di dati I linguaggi per la definizione dei dati (Data Definition Language, DDL) sono usati per definire gli schemi logici, fisici e il controllo degli accessi I linguaggi di manipolazione dei dati (Data Manipulation Language, DML) sono usati per l interrogazione e l aggiornamento dei dati delle istanze della base dati L accesso ai dati viene effettuato: con linguaggi testuali interattivi, es. SQL con linguaggi tradizionali (es. C) equipaggiati con librerie che contengono comandi simili a quelli interattivi con linguaggi di sviluppo ad hoc che contengono comandi simili a quelli interattivi con interfacce amichevoli e non-testuali Gian Pietro Picco - Informatica A 2

2 Utenti di basi di dati L amministratore della base dati (Database Administrator, DBA) è responsabile del progetto, controllo e amministrazione, e usa prevalentemente il DDL I progettisti e programmatori di applicazioni definiscono e realizzano i programmi che accedono alla base dati, e usano prevalentemente il DML o le interfacce non-testuali Gli utenti usano la base dati per le loro attività: gli utenti finali utilizzano programmi che realizzano attività frequenti e predefinite gli utenti casuali sono in grado di impiegare i linguaggi interattivi formulando le interrogazioni a loro necessarie Gian Pietro Picco - Informatica A 3 Il linguaggio SQL SQL (Structured Query Language) è nato nella seconda metà degli anni 70, ed è uno standard: SQL-1 (o SQL- 89), SQL-2 (o SQL-92) e SQL-3 (o SQL-99, in via di approvazione) SQL-92 è il più diffuso, ma esistono prodotti che forniscono interpreti SQL con sintassi e semantica diverse dallo standard (es. MS Access) Contiene sia le funzionalità di DDL che di DML In questo corso vedremo solo una parte del DML SQL è solitamente interpretato, ma può essere compilato quando impiegato con un linguaggio ospite Gian Pietro Picco - Informatica A 4

3 Esempio di riferimento: schemi concettuale e logico Codice Nome Città Quantità Codice Nome Città Grado Azienda (0,m) Scarico (1,n) Prodotto Nome Codice (1,p) Inquinante Stato PesoSpec Città AZIENDA(CodA,, Grado, Città) INQUINANTE(CodI, NomeI, Stato, PesoSpec, Città) PRODOTTO(CodP,NomeP, Città) SCARICO(CodA, CodI, CodP, Quantità) Gian Pietro Picco - Informatica A 5 Esempio di riferimento: istanza della base di dati AZIENDA CodA Grado Città A1 Colle & Vernici 20 A2 Factotum SpA 10 A3 SuperClean Inc. 30 A4 Elektron Srl. 20 A5 Acme Ltd. 30 Bologna INQUINANTE CodI NomeI Stato PesoSpec Città I1 Anidride solforosa G 12 I2 Diossina G 17 I3 Ammoniaca L 17 Venezia I4 Biossido di azoto S 14 I5 Mercurio S 12 I6 Acido cloridrico G 19 PRODOTTO SCARICO CodA CodI CodP Qtà A1 I1 P1 200 A1 I1 P4 700 A2 I3 P1 400 A2 I3 P2 200 A2 I3 P3 200 A2 I3 P4 500 A2 I3 P5 600 A2 I3 P6 400 A2 I3 P7 800 A2 I5 P2 100 A3 I3 P1 200 A3 I4 P2 500 A4 I6 P3 300 A4 I6 P7 300 A5 I2 P2 200 A5 I2 P4 100 A5 I5 P5 500 A5 I5 P7 100 A5 I6 P2 200 A5 I1 P4 100 A5 I3 P4 200 A5 I4 P4 800 A5 I5 P4 400 CodP NomeP Città P1 Detersivo P2 Vernice Venezia P3 Batteria Bologna P4 Detergente Bologna P5 Collante P6 Nastro magnetico Firenze P7 Trasformatore Gian Pietro Picco - Informatica A A5 I6 P

4 Manipolazione dei dati SQL esprime le interrogazioni in modo dichiarativo, cioè specifica cosa cercare nella base dati ma non come cercarlo (all opposto dei linguaggi procedurali) Ciò significa che non si possono (e non si devono) fare assunzioni sull efficienza di una interrogazione: gli aspetti (procedurali) di ottimizzazione sono completamente gestiti dall interprete SQL SQL opera su insiemi di dati come nel modello relazionale, ma alcuni suoi costrutti vengono meno a questa caratteristica Gian Pietro Picco - Informatica A 7 Una semplice query SQL Visualizzare il nome e il peso specifico degli inquinanti prodotti nella città di. INQUINANTE CodI NomeI Stato PesoSpec Città I1 Anidride solforosa G 12 I2 Diossina G 17 I3 Ammoniaca L 17 Venezia I4 Biossido di azoto S 14 I5 Mercurio S 12 I6 Acido cloridrico G 19 SELECT NomeI, PesoSpec FROM INQUINANTE WHERE Città = ; NomeI PesoSpec Anidride solforosa 12 Biossido di azoto 14 Acido cloridrico 19 Gian Pietro Picco - Informatica A 8

5 Inclusione di tutti gli attributi nel risultato Visualizzare tutte le informazioni relative agli inquinanti prodotti nella città di. INQUINANTE CodI NomeI Stato PesoSpec Città I1 Anidride solforosa G 12 I2 Diossina G 17 I3 Ammoniaca L 17 Venezia I4 Biossido di azoto S 14 I5 Mercurio S 12 I6 Acido cloridrico G 19 SELECT * FROM INQUINANTE WHERE Città = ; Questa interrogazione è equivalente a SELECT CodI, NomeI, Stato, PesoSpec, Città FROM INQUINANTE WHERE Città = ; ed è semplicemente una scorciatoia sintattica Gian Pietro Picco - Informatica A 9 Osservazioni circa i duplicati Visualizzare tutte le città in cui viene prodotto un inquinante. SELECT Città FROM INQUINANTE; Città Venezia I duplicati non vengono eliminati In questo caso, SQL non mantiene la semantica del modello logico relazionale, in cui non sono ammessi duplicati degli elementi di un istanza di relazione I duplicati non vengono eliminati per default, ma soltanto quando viene usata la clausola DISTINCT: SELECT DISTINCT Città FROM INQUINANTE; Città Venezia Gian Pietro Picco - Informatica A 10

6 Espressioni booleane in WHERE Visualizzare il nome delle aziende con sede a e grado di pericolosità superiore o pari a 20. AZIENDA CodA Grado Città A1 Colle & Vernici 20 A2 Factotum SpA 10 A3 SuperClean Inc. 30 A4 Elektron Srl. 20 A5 Acme Ltd. 30 Bologna SELECT WHERE Città = AND Grado >= 20; SuperClean Inc. Le espressioni in WHERE sono ottenute combinando predicati semplici (costruiti con gli operatori =, <>, <, >, <=, >=) mediante gli operatori booleani AND, OR, NOT Gian Pietro Picco - Informatica A 11 Espressioni booleane in WHERE Oltre ai comuni operatori già menzionati, SQL supporta anche altri due operatori: LIKE per ricerche testuali e IS NULL per la gestione dei valori nulli Visualizzare i nomi delle aziende che contengono almeno una C seguita da almeno una L oppure la cui prima parola inizia per A ed è lunga 4 lettere. SELECT WHERE LIKE %C%L% OR LIKE A % ; Colle & Vernici SuperClean Inc. Acme Ltd. L operatore IS NULL ritorna TRUE se il valore dell attributo a cui è applicato è NULL; IS NOT NULL può essere usato per verificare invece se il valore dell attributo è diverso da NULL SELECT WHERE Grado IS NOT NULL; E diverso da WHERE Grado <> NULL il quale ritornerebbe un errore Gian Pietro Picco - Informatica A 12

7 Ordinamento delle tuple Visualizzare il nome delle aziende con sede a in ordine decrescente rispetto al loro grado di pericolosità. SELECT WHERE Città = ORDER BY Grado DESC; SuperClean Inc. Factotum SpA La possibilità di ordinare le tuple del risultato è un altra deroga al modello relazionale, basato su insiemi: tuttavia, questa possibilità è estremamente utile in pratica Se il tipo di ordinamento (ASC o DESC) è omesso, si assume ASC È possibile specificare più attributi in sequenza, ad esempio: SELECT Acme Ltd. SuperClean Inc. ORDER BY Grado DESC, Città; Colle & Vernici Elektron Srl. Factotum SpA Gian Pietro Picco - Informatica A 13 Uso di espressioni in SELECT Visualizzare il nome delle aziende di seguito dal loro grado di pericolosità espresso in 100mi anziché 30mi. SELECT,Grado/0.3 WHERE Città = ; SuperClean Inc. 100 Factotum SpA 33.3 L attributo non ha più un nome Gli attributi con espressioni possono essere rinominati con un alias, espresso mediante la clausola AS SELECT,Grado/0.3 AS Grado100mi WHERE Città = ; SuperClean Inc. 100 Factotum SpA 33.3 Grado100mi In caso sia necessario ordinare rispetto a un attributo anonimo, ci si può comunque riferire direttamente alla sua posizione SELECT,Grado/0.3 WHERE Città = ORDER BY 2; Factotum SpA 33.3 SuperClean Inc. 100 Gian Pietro Picco - Informatica A 14

8 Interrogazioni su più relazioni Visualizzare le coppie di aziende ed inquinanti tali che entrambi si trovino nella medesima città. CodA Grado Città CodI NomeI Stato PesoSpec Città A1 Colle & Vernici 20 I1 Anidride solforosa G 12 A1 Colle & Vernici 20 I2 Diossina G 17 A1 Colle & Vernici 20 I3 Ammoniaca L 17 Venezia A1 Colle & Vernici 20 I4 Biossido di azoto S 14 A1 Colle & Vernici 20 I5 Mercurio S 12 A1 Colle & Vernici 20 I6 Acido cloridrico G 19 A2 Factotum SpA 10 I1 Anidride solforosa G 12 A2 Factotum SpA 10 I2 Diossina G 17 A2 Factotum SpA 10 I3 Ammoniaca L 17 Venezia A2 Factotum SpA 10 I4 Biossido di azoto S 14 A2 Factotum SpA 10 I5 Mercurio S 12 A2 Factotum SpA 10 I6 Acido cloridrico G 19 A3 SuperClean Inc. 30 I1 Anidride solforosa G 12 A3 SuperClean Inc. 30 I2 Diossina G 17 A3 SuperClean Inc. 30 I3 Ammoniaca L 17 Venezia A3 SuperClean Inc. 30 I4 Biossido di azoto S 14 A3 SuperClean Inc. 30 I5 Mercurio S 12 A3 SuperClean Inc. 30 I6 Acido cloridrico G 19 A4 Elektron Srl. 20 I1 Anidride solforosa G 12 A4 Elektron Srl. 20 I2 Diossina G 17 A4 Elektron Srl. 20 I3 Ammoniaca L 17 Venezia A4 Elektron Srl. 20 I4 Biossido di azoto S 14 A4 Elektron Srl. 20 I5 Mercurio S 12 A4 Elektron Srl. 20 I6 Acido cloridrico G 19 A5 Acme Ltd. 30 Bologna I1 Anidride solforosa G 12 A5 Acme Ltd. 30 Bologna I2 Diossina G 17 A5 Acme Ltd. 30 Bologna I3 Ammoniaca L 17 Venezia A5 Acme Ltd. 30 Bologna I4 Biossido di azoto S 14 A5 Acme Ltd. 30 Bologna I5 Mercurio S 12 A5 Acme Ltd. 30 Bologna I6 Acido cloridrico G 19 Gian Pietro Picco - Informatica A 15 Interrogazioni su più relazioni Visualizzare le coppie di aziende ed inquinanti tali che entrambi si trovino nella medesima città. SELECT, NomeI, INQUINANTE WHERE AZIENDA.Città=INQUINANTE.Città E necessario specificare completamente i nomi degli attributi includendo la tabella a cui fanno riferimento, per evitare ambiguità NomeI Colle & Vernici Anidride solforosa Colle & Vernici Biossido di azoto Colle & Vernici Acido cloridrico Elektron Srl. Anidride solforosa Elektron Srl. Biossido di azoto Elektron Srl. Acido cloridrico Factotum SpA Diossina Factotum SpA Mercurio SuperClean Inc. Diossina SuperClean Inc. Mercurio La clausola FROM specifica le tabelle coinvolte, la clausola WHERE esprime la connessione tra di esse L operazione che permette di combinare due o più tabelle per effettuare un interrogazione complessa viene comunemente chiamata join Gian Pietro Picco - Informatica A 16

9 Interrogazioni su più ù relazioni Visualizzare il nome degli inquinanti scaricati durante la lavorazione del prodotto con codice P3. CodI NomeI Stato PesoSpec Città CodA CodI CodP Qtà I1 Anidride solforosa G 12 A2 I3 P3 200 I2 Diossina G 17 A2 I3 P3 200 I3 Ammoniaca L 17 Venezia A2 I3 P3 200 I4 Biossido di azoto S 14 A2 I3 P3 200 I5 Mercurio S 12 A2 I3 P3 200 I6 Acido cloridrico G 19 A2 I3 P3 200 I1 Anidride solforosa G 12 A4 I6 P3 300 I2 Diossina G 17 A4 I6 P3 300 I3 Ammoniaca L 17 Venezia A4 I6 P3 300 I4 Biossido di azoto S 14 A4 I6 P3 300 I5 Mercurio S 12 A4 I6 P3 300 I6 Acido cloridrico G 19 A4 I6 P3 300 SELECT NomeI FROM INQUINANTE, SCARICO WHERE CodP = P3 AND INQUINANTE.CodI = SCARICO.CodI; Il problema consiste nel ricuperare dati da una tabella sulla base di dati contenuti in un altra tabella La connessione fra le tabelle viene realizzata testando l uguaglianza degli attributi chiave Gian Pietro Picco - Informatica A 17 Interrogazioni su più relazioni Visualizzare le coppie di nomi di città tali che un azienda che ha sede nella prima città scarichi nella seconda un inquinante relativo a un qualsiasi prodotto. SELECT DISTINCT AZIENDA.Città, INQUINANTE.Città, INQUINANTE, SCARICO WHERE SCARICO.CodA = AZIENDA.CodA AND SCARICO.CodI = INQUINANTE.CodI; AZIENDA.Città Bologna Bologna Bologna INQUINANTE.Città Venezia Venezia La connessione fra le tabelle viene effettuata testando l uguaglianza degli attributi chiave: la selezione delle righe e la proiezione delle colonne richieste viene effettuata sul sottoinsieme del prodotto cartesiano per il quale i valori del codice dell azienda e quello dell inquinante compaiono insieme negli attributi corrispondenti della relazione di scarico Gian Pietro Picco - Informatica A 18

10 Join di una tabella con se stessa Visualizzare le coppie di aziende tali che abbiano sede nella stessa città. CodA Grado Città CodA Grado Città A1 Colle & Vernici 20 A1 Colle & Vernici 20 A1 Colle & Vernici 20 A2 Factotum SpA 10 A1 Colle & Vernici 20 A3 SuperClean Inc. 30 A1 Colle & Vernici 20 A4 Elektron Srl. 20 A1 Colle & Vernici 20 A5 Acme Ltd. 30 Bologna A2 Factotum SpA 10 A1 Colle & Vernici 20 A2 Factotum SpA 10 A2 Factotum SpA 10 A2 Factotum SpA 10 A3 SuperClean Inc. 30 A2 Factotum SpA 10 A4 Elektron Srl. 20 A2 Factotum SpA 10 A5 Acme Ltd. 30 Bologna A3 SuperClean Inc. 30 A1 Colle & Vernici 20 A3 SuperClean Inc. 30 A2 Factotum SpA 10 A3 SuperClean Inc. 30 A3 SuperClean Inc. 30 A3 SuperClean Inc. 30 A4 Elektron Srl. 20 A3 SuperClean Inc. 30 A5 Acme Ltd. 30 Bologna A4 Elektron Srl. 20 A1 Colle & Vernici 20 A4 Elektron Srl. 20 A2 Factotum SpA 10 A4 Elektron Srl. 20 A3 SuperClean Inc. 30 A4 Elektron Srl. 20 A4 Elektron Srl. 20 A4 Elektron Srl. 20 A5 Acme Ltd. 30 Bologna A5 Acme Ltd. 30 Bologna A1 Colle & Vernici 20 A5 Acme Ltd. 30 Bologna A2 Factotum SpA 10 A5 Acme Ltd. 30 Bologna A3 SuperClean Inc. 30 A5 Acme Ltd. 30 Bologna A4 Elektron Srl. 20 A5 Acme Ltd. 30 Bologna A5 Acme Ltd. 30 Bologna Gian Pietro Picco - Informatica A 19 Join di una tabella con se stessa Visualizzare le coppie di aziende tali che abbiano sede nella stessa città. SELECT A., B., AS A, AZIENDA AS B WHERE A.Città = B.Città AND A.CodA < B.CodA; Colle & Vernici Factotum Spa Elektron Srl. SuperClean Inc. Se si vogliono eliminare le coppie con elementi identici ma presi in ordine diverso, bisogna aggiungere una condizione aggiuntiva a quella di join È necessario introdurre degli alias nella FROM per poter distinguere tra le due copie della tabella AZIENDA Gli alias possono essere utilizzati semplicemente per rendere più compatto il codice in presenza di nomi di tabella lunghi Gian Pietro Picco - Informatica A 20

11 Sintassi alternative per il join SQL-92 introduce una sintassi alternativa per il join, che ne sposta la specifica dal WHERE al FROM Questo tipo di join viene chiamato inner join (join esterno) e in generale il risultato è un sottoinsieme delle righe di ciascuna tabella Esiste un altro tipo di join, chiamato outer join (join esterno), in cui il risultato del join interno è esteso mantenendo le righe di una o ambedue le tabelle coinvolte Left outer join. Mantiene le righe della tabella che compare a sinistra della clausola di join per le quali non esiste una SELECT NomeI FROM INQUINANTE AS I, SCARICO AS S WHERE CodP = P3 AND I.CodI = S.CodI; SELECT NomeI FROM INQUINANTE AS I JOIN SCARICO AS S ON I.CodI = S.CodI WHERE CodP = P3 ; corrispondente riga a destra; Right outer join. Come il left join, ma per la tabella a destra Full outer join. Mantiene le righe provenienti da ambedue le tabelle Gian Pietro Picco - Informatica A 21

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

SQL. SQL: storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. standard di fatto SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

QL (Query Language) Alice Pavarani

QL (Query Language) Alice Pavarani QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione

Dettagli

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (1) Interrogazioni semplici Prof. Alberto Postiglione

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il

Dettagli

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY)

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) SQL SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) Esempio 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 50 60 Olga 30 Sergio 85 Luisa 75 Persone Reddito

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

IL LINGUAGGIO SQL LE BASI

IL LINGUAGGIO SQL LE BASI IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere

Dettagli

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base Linguaggio SQL: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2007 Politecnico di Torino 1 Istruzione SELECT: esempio Trovare il codice

Dettagli

Tecnologie dell Informazione e della Comunicazione per la Protezione Civile Sistemi Informativi e Basi di Dati

Tecnologie dell Informazione e della Comunicazione per la Protezione Civile Sistemi Informativi e Basi di Dati Tecnologie dell Informazione e della Comunicazione per la Protezione Civile Sistemi Informativi e Basi di Dati Gianpaolo Cugola Dip. di Elettronica e Informazione http://www.elet.polimi.it/people/cugola

Dettagli

Sommario e testi. Informazioni vs. dati. I sistemi informativi

Sommario e testi. Informazioni vs. dati. I sistemi informativi Tecnologie dell Informazione e della Comunicazione per la Protezione Civile Sistemi Informativi e Basi di Dati Gianpaolo Cugola Dip. di Elettronica e Informazione http://www.elet.polimi.it/people/cugola

Dettagli

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Basi di dati: introduzione 2 Introduzione Gestione delle informazioni Basi di dati / DBMS Modello dei

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 27 Sommario 1 Join di Tabelle 2 3 2 / 27 Lo Statement JOIN Join espliciti di tabelle nella clausola FROM In SQL e possibile scrivere

Dettagli

Linguaggio SQL: fondamenti D B M G

Linguaggio SQL: fondamenti D B M G Linguaggio SQL: fondamenti Istruzione SELECT: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2 Istruzione SELECT: esempio Trovare il codice

Dettagli

Database parte 2. Database azienda

Database parte 2. Database azienda Database parte 2 Esercizio azienda SQL Ing. Lucia Vaira lucia.vaira@unisalento.it Database azienda L azienda è organizzata in dipartimenti Ciascun dipartimento ha un codice, un nome e un impiegato che

Dettagli

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Il Linguaggio SQL Due componenti principali: Ø DDL (Data Definition Language) Contiene i costrutti necessari per la creazione/modifica

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.3b: SQL (2) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Le implementazioni nei vari DBMS relazionali commerciali

Le implementazioni nei vari DBMS relazionali commerciali Andrea Gasparetto Le implementazioni nei vari DBMS relazionali commerciali includono funzionalità non previste dallo standard non includono funzionalità previste dallo standard implementano funzionalità

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING

Dettagli

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento

Dettagli

Linguaggi per basi di dati e SQL

Linguaggi per basi di dati e SQL Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 2007 Politecnico di Torino 1 Basi di dati DB M B G Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M B G 2 2007 Politecnico

Dettagli

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1 Sistemi informativi D B M G Introduzione D B M G 2 2007 Politecnico di Torino 1 Introduzione D B M G Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Basi di dati DB M BG2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M BG4 D B M G6 2007 Politecnico di Torino 1 D B M G7 D B M G8 D B M G9 D B

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 2007 Politecnico di Torino 1 Basi di dati Gestione delle informazioni Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS DB M BG2 Gestione delle informazioni Le informazioni sono

Dettagli

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Basi di Dati. Concetti e Principi Generali. Maria Mirto Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 4 Contenuto della lezione Interrogazioni SQL Join interni ed esterni Uso di variabili tupla o ALIAS Interrogazioni

Dettagli

Linguaggio SQL seconda parte

Linguaggio SQL seconda parte Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle

Dettagli

Informatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB

Informatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 4 Accesso ai dati di un DB SQL Accesso ai dati di un DB Aggiornamento

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 48 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 La Clausola HAVING 3 2 / 48 Join Naturale Theta Join Join Esterno

Dettagli

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL Manuale Comandi SQL Sito per esercitarsi (on line)... 1 SQL... 1 Convenzioni e simboli usati... 2 Query Language... 2 Comando Select... 2 Order By:... 3 Sintassi generale:... 3 Ordinamanto su PIU campi...

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F;

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F; 54 Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F; dove R 1, R 2,..., R k è una lista di nomi distinti di relazioni R i1.c 1, R

Dettagli

Corso di Informatica Linguaggio SQL prima parte

Corso di Informatica Linguaggio SQL prima parte Corso di Informatica Linguaggio SQL prima parte Anno Accademico 2018-2019 Linguaggio SQL (Structured Query Language) 2 Il linguaggio SQL Un linguaggio per DBMS (DataBase Management System) deve permettere

Dettagli

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

Dettagli

Il linguaggio SQL - Interrogazioni -

Il linguaggio SQL - Interrogazioni - Il linguaggio SQL - Interrogazioni - Dott. Nicola Dragoni nicola.dragoni@gmail.com (Il contenuto di queste slide è stato originariamente creato dal Dott. Matteo Magnani) 1 Il linguaggio SQL Il linguaggio

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Sesta parte Interrogazione di una

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Informatica per l'impresa Docente Tutor: Dott. Gianluigi Roveda OBIETTIVO: Rivedere come attività di laboratorio le query di tipo select scritte in SQL ma con le variazioni

Dettagli

Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle

Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2007 Politecnico di Torino 1 DB M B G Linguaggio SQL: fondamenti Introduzione Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle

Dettagli

LINGUAGGI E UTENTI DI UN DBMS

LINGUAGGI E UTENTI DI UN DBMS Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Linguaggi e Utenti Prof. Alberto Postiglione Università

Dettagli

Informatica Grafica. Basi di dati parte 2

Informatica Grafica. Basi di dati parte 2 Informatica Grafica Corso di Laurea in Ingegneria Edile Architettura Basi di dati parte 2 Michele Lombardi su materiale originario di Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica

Dettagli

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...

Dettagli

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Linguaggio SQL: fondamenti D B M G

Linguaggio SQL: fondamenti D B M G Linguaggio SQL: fondamenti D B M G Introduzione Introduzione al linguaggio SQL Istruzioni del linguaggio Notazione D B M G 2 Il linguaggio SQL Linguaggio per gestire le basi di dati relazionali Structured

Dettagli

Basi di dati. Elena Baralis Politecnico di Torino

Basi di dati. Elena Baralis Politecnico di Torino Libri di testo Atzeni, Ceri, Paraboschi, Torlone, Basi di dati, 2 a ed., McGraw Hill, 1999. Baralis, Belussi, Psaila, Basi di dati: temi d esame svolti, Esculapio, 2000. Introduzione - 2 Introduzione Sistema

Dettagli

SQL: le funzioni di aggregazione

SQL: le funzioni di aggregazione SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il

Dettagli

Corso di Informatica Medica

Corso di Informatica Medica Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA ESERCITAZIONE: IL LINGUAGGIO SQL Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento di Ingegneria

Dettagli

Idoneita Informatica. Sistemi per la gestione di basi di Dati

Idoneita Informatica. Sistemi per la gestione di basi di Dati Idoneita Informatica Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari mauro.gaspari@unibo.it Rielaborazione delle slide del Dott. Matteo Magnani e del Dott. Nicola Dragoni 1 Sistema Informativo

Dettagli

Parte III. L algebra relazionale

Parte III. L algebra relazionale Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2014-2015 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Basi di Dati Sistema informativo Componente

Dettagli

Interrogazioni in SQL SQL1 1

Interrogazioni in SQL SQL1 1 Interrogazioni in SQL SQL1 1 Dichiaratività di SQL E un linguaggio di IV generazione: in SQL l'utente specifica QUALE informazione è di suo interesse ma non COME estrarla dai dati il sistema costruisce

Dettagli

D. Gubiani Introduzione alle Basi di Dati 3. La porzione automatizzata di un sistema informativo viene in

D. Gubiani Introduzione alle Basi di Dati 3. La porzione automatizzata di un sistema informativo viene in Università degli Studi di Udine Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Sistemi di Elaborazione dell Informazione alle D. Gubiani 14 ottobre 2009 D. Gubiani

Dettagli

Archivi e Basi di Dati. lezione 07 1

Archivi e Basi di Dati. lezione 07 1 Archivi e Basi di Dati lezione 07 Memoria persistente e suo utilizzo Bisogna organizzare i dati in modo da garantire inserimento cancellazione modifica e ricerca su grandi quantita di dati lezione 07 2

Dettagli

Left Join, Right Join, Full Join

Left Join, Right Join, Full Join Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello

Dettagli

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Domande utili alla preparazione dell orale di Informatica all Esame di Stato Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre

Dettagli

Interrogazioni su più tabelle. Interrogazioni su più tabelle. Clausola where. Interrogazioni su più tabelle

Interrogazioni su più tabelle. Interrogazioni su più tabelle. Clausola where. Interrogazioni su più tabelle Interrogazioni su più tabelle Se si vogliono estrarre informazioni da più tabelle, queste devono apparire come argomento della clausola from. Se si deve formulare un join, è possibile farlo in modo esplicito

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Linguaggio SQL: fondamenti Struttura di base Clausola WHEE Ordinamento del risultato Join unzioni aggregate Operatore GOU BY Istruzione SELECT: esempio di BD forniture prodotti Istruzione SELECT: esempio

Dettagli

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB

Dettagli

Select From Where...

Select From Where... Select From Where... SELECT Le colonne che saranno mostrate e in che ordine. Calcoli su colonne FROM La tabella o le tabelle usate dall interrogazione WHERE Condizione che deve essere soddisfatta dalle

Dettagli

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple

Dettagli

Basi di Dati - Informatica umanistica Esercitazione (Lab)

Basi di Dati - Informatica umanistica Esercitazione (Lab) Basi di Dati - Informatica umanistica Esercitazione (Lab) a.a. 2017-2018 Vinícius Monteiro de Lira (vinicius.monteirodelira@isti.cnr.it) Esercitazione Mini-project! openflights.org Esercitazione (Summary)

Dettagli

Progetto concettuale delle basi di dati

Progetto concettuale delle basi di dati Progetto concettuale delle basi di dati Gian Pietro Picco Dipartimento di Elettronica e Informazione, Italy picco@elet.polimi.it http://www.elet.polimi.it/~picco Il progetto dei dati Specifiche dei dati

Dettagli

Modulo 2 Data Base 3

Modulo 2 Data Base 3 Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un

Dettagli

SQL DDL. Create database. Alter database. Drop database

SQL DDL. Create database. Alter database. Drop database SQL In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: creare e modificare schemi

Dettagli

Corso di. Basi di Dati I. 1. Introduzione

Corso di. Basi di Dati I. 1. Introduzione Corso di Basi di Dati 1. Introduzione A.A. 2016 2017 Contatti, annunci E-mail: pezzini@mat.uniroma1.it Ufficio: stanza 11 (piano terra), Dipartimento di Matematica. Ricevimento: Mercoledì 11:00-13:00 e

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

Corso di. Basi di Dati I. 1. Introduzione

Corso di. Basi di Dati I. 1. Introduzione Corso di Basi di Dati 1. Introduzione A.A. 2016 2017 Contatti, annunci E-mail: pezzini@mat.uniroma1.it Ufficio: stanza 11 (piano terra), Dipartimento di Matematica. Ricevimento: Mercoledì 11:00-13:00 e

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non

Dettagli

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici. Linguaggi per Basi di Dati - 1 Università degli Studi di Trieste Corso di Laurea in Informatica D. Gubiani marzo 2008 Distinguiamo due classi di linguaggi per basi di dati : - linguaggi di definizione,

Dettagli

Parte III L algebra relazionale

Parte III L algebra relazionale Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2017-2018 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano

Dettagli

SQL: "storia" 31/05/2006 2

SQL: storia 31/05/2006 2 SQL 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, non i dettagli

Dettagli

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6 Linguaggio SQL: fondamenti Sistemi informativi Istruzione : fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 al linguaggio SQL Istruzioni

Dettagli

Microsoft Access. Relazioni e query SQL. Domenico Fabio Savo

Microsoft Access. Relazioni e query SQL. Domenico Fabio Savo Microsoft Access Relazioni e query SQL Domenico Fabio Savo Outline Base di dati di esempio Le relazioni Le query Outline Base di dati di esempio Le relazioni Le query Contratti telefonici (requisiti) Si

Dettagli

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database.

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database. 4.SQL QUERY >definizione A cura di: Celora Luca Fare una query significa fare delle ricerche sul nostro database. >strumenti da usare SELECT //sceglie le colonne da visualizzare FROM //indica da quali

Dettagli

Informatica CL Fisioterapisti. Informatica Medica Sistemi per la gestione di basi di Dati

Informatica CL Fisioterapisti. Informatica Medica Sistemi per la gestione di basi di Dati Informatica CL Fisioterapisti Informatica Medica Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari mauro.gaspari@unibo.it 1 Informatica Medica La scienza che si occupa della gestione dell informazione

Dettagli

Dichiarativi : specificano le proprietà del risultato ("che cosa") Procedurali specificano le modalità di generazione del risultato ("come")

Dichiarativi : specificano le proprietà del risultato (che cosa) Procedurali specificano le modalità di generazione del risultato (come) Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento Linguaggi di interrogazione per

Dettagli

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati Sistemi informativi D B M G Linguaggio SQL: costrutti avanzati Gestione delle transazioni SQL per le applicazioni Controllo dell accesso Gestione degli indici D B M G 2 Pag. 1 2007 Politecnico di Torino

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Linguaggio SQL: fondamenti Struttura di base Clausola WHEE Ordinamento del risultato Join unzioni aggregate Operatore GOU BY Istruzione SELECT: esempio Trovare il codice e il numero di soci dei fornitori

Dettagli

Uno dei principali motivi del successo delle basi di dati: è diventato uno standard

Uno dei principali motivi del successo delle basi di dati: è diventato uno standard SQL [1] Concetti essenziali di SQL 2 Il linguaggio SQL Uno dei principali motivi del successo delle basi di dati: è diventato uno standard Fornisce un interfaccia dichiarativa di alto livello, permettendo

Dettagli

Linguaggi per basi di dati

Linguaggi per basi di dati Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento Linguaggi di interrogazione per

Dettagli

Il theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti:

Il theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti: Join Per correlare attributi con nome diverso (se cioè X 1 X 2 è vuoto) è possibile fare il theta-join, definito come un prodotto cartesiano seguito da una selezione r 1 F r 2 = F (r 1 r 2 ) dove F è la

Dettagli

ARCHIVI E BASI DI DATI

ARCHIVI E BASI DI DATI ARCHIVI E BASI DI DATI Un file (archivio) è una raccolta di record logici. La gestione dei file è un servizio reso dal Sistema Operativo. Ogni record logico contiene una sequenza di bit ed è suddiviso

Dettagli

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti

Dettagli

SQL e algebra relazionale

SQL e algebra relazionale SQL e algebra relazionale Il linguaggio SQL consente una maggiore espressività dell algebra relazionale grazie a costrutti che permettono: di definire join più sofisticati di ordinare le righe dei risultati

Dettagli

SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL, e.data, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami WHERE NOT EXISTS (SELECT * WHERE e.matricola = s.matricola

Dettagli

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

Dettagli

Introduzione alle basi di dati. A. Ferrari

Introduzione alle basi di dati. A. Ferrari Introduzione alle basi di dati A. Ferrari Archiviazione mediante file I vari S.O. e i cosiddetti linguaggi ad alto livello mettono a disposizione varie tipologie di file per l archiviazione e gestione

Dettagli