Sistemi di Elaborazione delle Informazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi di Elaborazione delle Informazioni"

Transcript

1 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

2 Sesta parte Interrogazione di una base di dati

3 Modello E/R STOSTIENE STUDENTE N 1 ESAME 1 EFFETTUA N DOCENTE

4 Modello Relazionale Studente(matricola, nome, cognome, datanascita, nazionalità, media) Esame(id, nomeesame, crediti, voto, studente, docente) Docente(identificativo, nome, cognome, datanascita, nazionalità, dipartimento)

5 Studente Matricola Nome Cognome Data Nascita Nazione M00031 Mario Bianchi 12/04/1990 Italia 28 media M00033 Marie Le Pen 11/02/1988 Francia 26,5 Esame ID Nomeesame Crediti Voto Studente Docente 001 Matematica M00031 DOC Fisica M00033 DOC Matematica M00033 DOC Fisica M00031 DOC0002 Docente Identificativo Nome Cognome Data Nascita Nazione Dipartimento DOC0001 Massimo Della Pietra 12/2/1960 Italia Medicina DOC0002 Giulia Volpe 12/03/1977 Italia Fisica DOC0003 Francesco Migliore 03/03/1980 Italia Informatica

6 Le query Le operazioni di lettura o scrittura di dati da un DB vengono dette query (trad: interrogazioni ) In particolare ci occuperemo di capire come si possono realizzare le operazioni di: selezione, proiezione e join Ma come si fa a specificare le query?

7 SQL SQL è un linguaggio che permette di specificare le query SQL = Structured Query Language E stato studiato appositamente per essere facilmente comprensibile appare simile al linguaggio naturale ma NON è linguaggio naturale ha un sintassi formale

8 La proiezione In SQL l operazione per selezionare alcuni valori da tabelle è detta SELECT La parola FROM indica da quali tabelle vogliamo andare a prendere i risultati SELECT [DISTINCT ] att 1,att 2,..,att n FROM tab 1,tab 2,.., tab n

9 La proiezione In SQL l operazione per selezionare alcuni valori da tabelle è detta SELECT La parola FROM indica da quali tabelle vogliamo andare a prendere i risultati SELECT nome, cognome FROM studente Effettua la proiezione di studenti sugli attributi nome e cognome

10 Funzioni di aggregazione Le funzioni di aggregazione SQL restituiscono un singolo valore calcolato dai valori di una Colonna AVG() Il valor medio COUNT() il numero di righe FIRST() il primo valore LAST() l ultimo valore MAX() il valore massimo MIN() il valore minimo SUM() la somma

11 Funzioni scalari Le funzioni scalar SQL restituiscono un singolo valore basato sul valore di input UCASE() Conversione in maiuscolo LCASE() Conversione in minuscolo MID() Estrae caratteri dal testo LEN() la lunghezza del testo ROUND() arrotonda I numeri decimali NOW() restituisce la data corrente FORMAT() formattazione dei campi

12 La selezione Si utilizza lo stesso costrutto SELECT FROM della proiezione, ma in aggiunta si specifica una clausola WHERE SELECT [DISTINCT ] att 1, att 2,..,att n FROM tab 1, tab 2,.., tab n [ WHERE condizione ]

13 La selezione Si utilizza lo stesso costrutto SELECT FROM della proiezione, ma in aggiunta si specifica una clausola WHERE SELECT * FROM esame WHERE crediti > 5 Il simbolo * indica di selezionare tutti gli attributi

14 Selezione e proiezione La combinazione delle due operazioni si ottiene in modo naturale in SQL: SELECT nomeesame FROM esame WHERE crediti > 5 Effettua la selezione degli esami con più di 5 crediti e poi fa la proiezione sull attributo nomeesame

15 Selezione e proiezione La combinazione delle due operazioni si ottiene in modo naturale in SQL: SELECT nomeesame FROM esame WHERE crediti > 5 Query1 nomeesame Fisica 1 Fisica 1

16 Prodotto Il prodotto viene calcolato automaticamente quando vengono selezionate più tabelle con la clausola FROM SELECT nome, cognome, nomeesame FROM studente, esame

17 Prodotto Il prodotto viene calcolato automaticamente quando vengono selezionate più tabelle con la clausola FROM Query1 nome nomeesame SELECT Mario nome, cognome, Bianchi Matematica 1FROM Marie Le Pen Matematica 1 Mariostudente, esame Bianchi Fisica 1 Marie Le Pen Fisica 1 Mario Bianchi Matematica 1 Marie Le Pen Matematica 1 Mario Bianchi Fisica 1 Marie Le Pen Fisica 1

18 Il join Selezioniamo alcune righe dopo aver fatto il prodotto: SELECT nome, nomeesame FROM docente, esame WHERE docente.identificativo = esame.docente

19 Operatori della clausola Where Operatore OR NOT Descrizione Restituisce vero se almeno uno dei due operandi è vero, altrimenti falso Restituisce falso se l operando è vero e viceversa AND Restituisce vero se entrambi gli operandi sono veri, altrimenti falso

20 Operatori della clausola Where Operatore Descrizione = Uguale <> Diverso da > Maggiore < Minore >= Maggiore uguale <= Minore uguale BETWEEN LIKE IN Tra due valori di un range È come un certo valore E in un insieme di possibili valori

21 Alcuni esempi SELECT nome, cognome, nomeesame FROM docente, esame WHERE docente.identificativo = esame.docente AND nome = Giulia ; Effettua il join tra docenti ed esami e seleziona le righe in cui l attributo nome contiene il valore Anna ed effettua la proiezioni sui valori nome, cognome e nomeesame

22 Alcuni esempi SELECT nome, cognome, nomeesame FROM docente, esame WHERE docente.identificativo = esame.docente AND nome = Giulia ; Query1 nome cognome nomeesame Giulia Volpe Fisica 1 Giulia Volpe Fisica 1

23 Alcuni esempi SELECT nomeesame, voto, dipartimento FROM docente, esame WHERE docente.identificativo = esame.docente AND voto IN (26,18,30) AND dipartimento IN ( Medicina, Economia, Fisica ) ; Query1 nomeesame voto dipartimento Matematica 1 26 Medicina

24 Alcuni esempi SELECT nome, cognome, nomeesame FROM docente, esame WHERE docente.identificativo = esame.docente AND voto BETWEEN 23 AND 27; Query1 nome cognome nomeesame Massimo Della Pietra Matematica 1 Giulia Volpe Fisica 1

25 Alcuni esempi SELECT nome, cognome, voto FROM docente, esame WHERE docente.identificativo = esame.docente AND voto >= 26 Query1 nome cognome voto Massimo Della Pietra 26 Massimo Della Pietra 28 Giulia Volpe 29

26 Ordinamento Ordiniamo le righe dopo aver fatto la selezione sul prodotto: SELECT [DISTINCT ] att 1, att 2,..,att n FROM tab 1, tab 2,.., tab n [ WHERE condizione ] [ ORDER BY att 1 ASC DESC,..,att n ASC DESC]

27 Ordinamento Ordiniamo le righe dopo aver fatto la selezione sul prodotto: SELECT cognome, nome, dipartimento FROM docente, esame WHERE docente.identificativo = esame.docente ORDER BY cognome DESC

28 Ordinamento Ordiniamo le righe dopo aver fatto la selezione sul prodotto: Query1 cognome nome dipartimento Volpe Giulia Fisica Volpe Giulia Fisica Della Pietra Massimo Medicina Della Pietra Massimo Medicina

29 Raggruppamento L'operatore GROUP BY serve a raggruppare i risultati di una SELECT in base ad un campo specificato. L'operatore va usato in congiunzione con una funzione statistica SELECT [DISTINCT ] att 1, att 2,..,att n FROM tab 1, tab 2,.., tab n [ WHERE condizione ] [ GROUP BY att 1, att 2,..,att n ] [ ORDER BY att 1 ASC DESC,..,att n ASC DESC]

30 Raggruppamento L'operatore GROUP BY serve a raggruppare i risultati di una SELECT in base ad un campo specificato. L'operatore va usato in congiunzione con una funzione statistica SELECT nomeesame, AVG(voto) AS Media FROM esame GROUP BY nomeesame ORDER BY nomeesame

31 Raggruppamento L'operatore GROUP BY serve a raggruppare i risultati di una SELECT in base ad un campo specificato. L'operatore va usato in congiunzione con una funzione statistica Query1 nomeesame Media Fisica 1 27,5 Matematica 1 27

32 Raggruppamento HAVING è l'equivalente del WHERE applicata ai gruppi di tuple, quindi, deve far riferimento agli attributi di GROUP BY. SELECT [DISTINCT ] att 1, att 2,..,att n FROM tab 1, tab 2,.., tab n [ WHERE condizione ] [ GROUP BY att 1, att 2,..,att n ] [ HAVING condizione ] [ ORDER BY att 1 ASC DESC,..,att n ASC DESC]

33 Raggruppamento HAVING è l'equivalente del WHERE applicata ai gruppi di tuple, quindi, deve far riferimento agli attributi di GROUP BY. SELECT nomeesame, AVG(voto) FROM esame GROUP BY nomeesame HAVING AVG(voto) > 27 ORDER BY nomeesame

34 Raggruppamento HAVING è l'equivalente del WHERE applicata ai gruppi di tuple, quindi, deve far riferimento agli attributi di GROUP BY. Query1 nomeesame Media Fisica 1 27,5

35 La composizione guidata di query Molti applicativi per gestire database rendono disponibili strumenti di supporto alla creazione di query: oggi ne vedremo alcuni Idea: chi è esperto scrive direttamente in SQL (fa prima) chi non è esperto si lascia aiutare dall applicazione: il risultato è comunque una query in SQL

36 Query sul modello Relazionale Studente Esame Docente nome, cognome e media di tutti gli studenti matricola, nome e cognome degli studenti nati prima del 1/1/1988 nomeesame e crediti di tutti gli esami Nomeesame, crediti e voto degli esami sostenuti dagli studenti italiani Nomeesame, crediti e voto degli esami sostenuti dagli studenti nati dal 1/1/1988 al 1/1/1990 nome e cognome dei docenti del dipartimento di medicina nome, cognome dei docenti del dipartimento di medicina che hanno effettuato l esame di matematica 1 nome studente, matricola e nome docente degli esami con voto = 28

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

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

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/ Modelli di Base Dati 8 L aggregazione e il raggruppamento in SQL a.a. 2001/2002 8.1 SQL: le funzioni di aggregazione 8.2 funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della

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

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

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

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

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

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo LB (SQL) 5 - Aggregazione e raggruppamento Prerequisiti Conteggio e somma degli elementi di un insieme numerico Massimo, minimo e media di un insieme numerico Ordinamento

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

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

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

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

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 5 Raffaella Gentilini 1 / 22 Sommario 1 Gruppi 2 / 22 Raggruppamenti Gruppi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a

Dettagli

Interrogazioni semplici

Interrogazioni semplici Interrogazioni semplici Lorenzo Sarti 2009 Basi di Dati 1 select Campi considerati Matricola Cognome Nome Data di nascita A80198760 Bianchi Anna 22/03/1967 A80293450 Rossi Andrea 13/04/1968 A80198330 Neri

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

A.A. 2018/2019. Funzioni di Aggregazione e Raggruppamenti in SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Funzioni di Aggregazione e Raggruppamenti in SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Funzioni di Aggregazione e Raggruppamenti in SQL Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Le Funzioni di Aggregazione 1/10 Le funzioni di aggregazione

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

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

Esempi SQL con Access. Orazio Battaglia

Esempi SQL con Access. Orazio Battaglia con Access Orazio Battaglia Consideriamo la base di dati in figura. 2 Interrogazione 1: Selezioniamo tutti gli impiegati, vogliamo Cognome, Nome e Posizione SELECT Impiegati.Cognome, Impiegati.Nome, Impiegati.Posizione

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

SQL Esercizi DML Blocco 1

SQL Esercizi DML Blocco 1 SQL Esercizi DML Blocco 1 Si consideri il seguente schema di base di dati che vuole tenere traccia di alcune informazioni riguardanti gli studenti di un'università. Studenti(Matricola, NomeS, CognomeS,

Dettagli

Queries su più tabelle

Queries su più tabelle Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

OPERATORI LOGICI: AND, OR, NOT

OPERATORI LOGICI: AND, OR, NOT Esempi di Queries(interrogazioni): SELECT Nome, Cognome FROM Persone WHERE id = 1 SELECT Nome, Cognome FROM Persone WHERE Nome = Luigi SELECT * FROM Persone WHERE Nome = Luigi ( * = visualizza tutti i

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

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

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

Basi di dati. Gabriella Trucco

Basi di dati. Gabriella Trucco Basi di dati Gabriella Trucco gabriella.trucco@unimi.it Algebra relazionale Definizione: insieme di operazioni (query) che servono per manipolare relazioni (tabelle). Formalizzazione matematica del modo

Dettagli

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

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

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

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

Basi di Dati. Concetti Avanzati

Basi di Dati. Concetti Avanzati Basi di Dati Concetti Avanzati Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere Espressivo Esecuzione

Dettagli

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa BASE DI DATI Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste Informatica Umanistica Università di Pisa Corsi T Esami T codice CHAR(3) titolo VARCHAR(20) PK Numeri T corso CHAR(3)

Dettagli

BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono

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

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

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono

Dettagli

Operatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella

Operatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella Operatori aggregati Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella e ha come risultato un valore atomico. Count Questo operatore serve per contare le tuple di

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (3) Insiemistiche e Nidificate Prof. Alberto Postiglione

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

Progettazione di Sistemi Informatici

Progettazione di Sistemi Informatici Progettazione di Sistemi Informatici Raggruppamenti Domenico Diacono Corso ADM Gennaio 2008 A che punto siamo Finora abbiamo estratto dal DB informazioni relative a singole ennuple, eventualmente ottenute

Dettagli

ISBN Titolo CasaEd AnnoEd

ISBN Titolo CasaEd AnnoEd SQL Un esempio Si consideri il seguente schema relazionale Catalogo ( ISBN, Titolo, CasaEd, AnnoEd) Supponiamo che interessi conoscere il titolo e la casa editrice dei libri pubblicati nel 2001 1. consultare

Dettagli

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. Ordinamento E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. order by AttrdiOrdinamento [asc desc] {, AttrdiOrdinamento

Dettagli

Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007

Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007 Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007 La sintassi dei comandi T-SQL non è rigorosa, poiché permette di ottenere lo stesso risultato con diversi combinazioni di argomenti.

Dettagli

Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi ';

Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi '; 1) Ottenere la descrizione dei movimenti riferiti all'anagrafica con Cognome = ' Bianchi '. Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi '; Ottenere

Dettagli

Modelli di Base Dati

Modelli di Base Dati Modelli di Base Dati E Correzione degli esercizi con il contributo di: Cherubini Simonetto a.a. 2001/2002 E.1 Modulo 1: I Database E.2 Modelli di Base Dati 1 I Database Individuare le entità, gli attributi,

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

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi Laboratorio di Basi di dati/basi i di dati per Bioinformatica Docenti: Alberto Belussi e Carlo Combi Lezione 3 Interrogazioni i SQL Le interrogazioni i i SQL hanno la seguente struttura: SELECT

Dettagli

BASI DATI: algebra relazionale

BASI DATI: algebra relazionale BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).

Dettagli

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf Il linguaggio SQL: raggruppamenti Versione elettronica: SQLb-gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a singole tuple (eventualmente

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

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice Linguaggio SQL Il linguaggio SQL (Structured Query Language) è il linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali sostenuti codice matricola anno voto

Dettagli

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLb-gruppi.pdf Sistemi Informativi L-A Informazioni di sintesi

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

PROGETTAZIONE DI DATABASE Linguaggio SQL

PROGETTAZIONE DI DATABASE Linguaggio SQL PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

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

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

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Raggruppamento. Raggruppamento INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : SQL (4) GROUPING Atzeni, cap. 4.3.4 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 2 Gli operatori

Dettagli

Alessandra Raffaetà. Esercizio: Cinema

Alessandra Raffaetà. Esercizio: Cinema Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

Linguaggio SQL. Prof. Giuseppe Tandoi

Linguaggio SQL. Prof. Giuseppe Tandoi Caratteristiche generali SQL è uno strumento per organizzare gestire recuperare dati memorizzati in DataBase organizzati su base Relazionale. Caratteristiche generali SQL è l'acronimo di Structured Query

Dettagli

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova Università degli Studi di Padova Corso di Laurea Magistrale in Bioingegneria A.A. 2010-20112011 INFORMATICA SANITARIA (Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione Università

Dettagli

Operatori aggregati. Gli operatori di aggregazione NON sono rappresentabili in Algebra Relazionale. conteggio, minimo, massimo, media, somma

Operatori aggregati. Gli operatori di aggregazione NON sono rappresentabili in Algebra Relazionale. conteggio, minimo, massimo, media, somma Aggregazione dati Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi di ennuple SQL-2 prevede 5 possibili operatori di aggregamento:

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

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

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : SQL (3) Tabelle multiple, variabili, operatori di aggregazione QUERIES SU PIU TABELLE Queries su più tabelle 17 mar 010 Dia 3 17 mar 010 Dia 4 Per formulare un interrogazione su più tabelle, la clausola

Dettagli

Interrogare una base di dati: Algebra relazionale e SQL. Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli

Interrogare una base di dati: Algebra relazionale e SQL. Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli Interrogare una base di dati: Algebra relazionale e SQL Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli Prerequisiti Conoscenze di: Progettazione Base di Dati Modellazione Relazionale

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

Esercitazione 2 SQL.

Esercitazione 2 SQL. Esercitazione 2 SQL foglia@iet.unipi.it DB Riferimento Consideriamo i seguenti schemi di una base di dati relazionale: DIPARIMENTI(CodiceDipartimento, Nome, Indirizzo, Citta, NumeroDipendenti, CostiTotaliAnnui,

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

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

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

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 REGOLE SULLO SVOLGIMENTO DELL ESAME E vietato usare dispositivi elettronici di qualsiasi tipo (smartphone, tablet, portatili) Non è

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

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

SQL - Sottointerrogazioni

SQL - Sottointerrogazioni una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)

Dettagli

Tipi di sottoquery SQL

Tipi di sottoquery SQL Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS

Dettagli

Esercizi sul linguaggio SQL e le basi dati relazionali

Esercizi sul linguaggio SQL e le basi dati relazionali Esercizi sul linguaggio SQL e le basi dati relazionali Corso IN530 - Sistemi per l elaborazione delle informazioni Esercizio 1 Fig. 1: Schema fisico del database della Biblioteca Si consideri lo schema

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

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi calcolati e order By... 4 campi calcolati Sintassi generale:... 4 order By Sintassi generale:... 4 Select con Join (due tabelle)...

Dettagli

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Argomenti della lezione SQL Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Figlio Olga Filippo Sergio Olga Filippo Persone

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

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con

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

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

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

DATABASE CLIENTIRAPPRESENTANTI

DATABASE CLIENTIRAPPRESENTANTI DATABASE CLIENTIRAPPRESENTANTI Esempio tratto dal libro di testo. TESTO L azienda INCOM Srl vuole organizzare un DB per gestire informazioni relative a fatture emesse ai propri clienti italiani, riportando

Dettagli

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato Settore Traccia 1 Traccia 200 Settore non polarizzato '! " # $ % & ( ) * + + ' ' ' !"#"$%, & &'(("% '&)'' ''"* - -. / / / 0/!- "-, (0 #- / / / 0/ --- + 1 ' # $ + 2 13 ,, - 4 '. & 56 2 '/!!! "7&% 8, 9 /'"'0'1'&'

Dettagli

(Lezione SQL 1) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova

(Lezione SQL 1) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova Università degli Studi di Padova Corso di Laurea Magistrale in Bioingegneria A.A. 2010-20112011 INFORMATICA SANITARIA (Lezione SQL 1) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione Università

Dettagli

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio

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