APPUNTI DI DATABASE - 25/10/2018

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "APPUNTI DI DATABASE - 25/10/2018"

Transcript

1 APPUNTI DI DATABASE - 25/10/2018 INTRODUZIONE Lo scopo principale per cui viene progettato e realizzato un database è quello di gestire, manipolare e conservare permanentemente delle informazioni, le quali devono poter essere estratte all occorrenza. Il linguaggio standardizzato ed utilizzato per fare tutto ciò è SQL (Structured Query Language). Innanzitutto, è bene comprendere che SQL non è un linguaggio di programmazione come Java, Python, Visual Basic, C, C++, C# e molti altri. Infatti, questi ultimi utilizzano un paradigma di programmazione imperativo procedurale: è il programmatore ad ordinare alla macchina le operazioni da svolgere (imperativo) e l azione complessiva viene spezzata in una serie di azioni elementari, facendo diventare l algoritmo una sequenza di operazioni elementari (procedurale). SQL, invece, si avvale di un paradigma dichiarativo: si deve solo specificare quali sono le informazioni desiderate, e non le operazioni che devono essere svolte per generarle. Esistono anche altri paradigmi di programmazione: il paradigma funzionale utilizzato, ad esempio, dal linguaggio F#, che prevede che tutto debba essere scritto in termini di funzioni; il paradigma a liste utilizzato dal linguaggio LISP (List Processing) in cui tutto viene descritto in termini di liste ed operazioni sulle liste, e molti altri. In SQL è necessario solo specificare quali sono le informazioni di cui si ha bisogno perché nel DBMS (Database Management System) è stato già definito il modo ottimale per estrarle, grazie alla teoria relazionale, che è l algebra delle relazioni, cioè che agisce sulle tabelle (intese come un particolare tipo di insiemi). Il linguaggio SQL si colloca al livello del modello fisico e permette la realizzazione vera e propria del database; il modello relazionale è presente al livello logico, ed il diagramma EER al modello concettuale. Uno dei principali utilizzi di SQL è il ciclo CRUD (Create Read Update Delete) di un database. Ad esempio, il modo generico per scrivere una Read è il seguente: SELECT <*> FROM <R> WHERE <condizione> Questa struttura di base si usa per tutti i comandi di SQL. Si evince che il programmatore deve concentrarsi solo sulle informazioni da estrarre, e non sul modo per poterlo fare (approccio dichiarativo). SQL è un linguaggio che opera sugli insiemi: non si scrivono procedure; qualunque operazione è ottenuta scrivendo una sola istruzione. Allora, in realtà, un linguaggio dichiarativo è un linguaggio interpretato: le istruzioni sono scritte in SQL, e poi il DBMS le decodifica e le esegue. Quindi, è importante comprendere che la programmazione dichiarativa è molto differente dalla programmazione procedurale, e questa differenza è la fonte del problema di impedance mismatching: il software (che stabilisce come devono essere organizzate le operazioni) e le strutture dati (che definiscono il modo in cui i dati rappresentano un certo mondo) sono dei concetti fra loro ortogonali.

2 Dal punto di vista intuitivo, una query è un percorso che viene disegnato sul grafo delle relazioni. È molto interessante osservare che se si riesce a connettere due informazioni tramite un percorso, allora vuol dire che quel dato è presente nel database. Quindi, si tratta di un calcolo insiemistico che si esegue in un solo colpo: bisogna estrarre un oggetto e tutti quelli che ad esso sono collegati nel database. Perciò, con SQL non è necessario realizzare degli algoritmi di manipolazione sui dati, poiché tutte le possibili operazioni sono eseguite direttamente dal DBMS. SQL permette di effettuare tutte le operazioni di cui si può aver bisogno, al pari di C, Java, ecc. In tal caso, però, bisogna fare una precisazione di natura pratica. Infatti, si preferisce scrivere codice in Java, C, JavaScript, ecc. e non in SQL nei casi in cui i dati risiedono su un unico server in maniera centralizzata, al fine di evitare la ridondanza. Però, nel momento in cui su un server vengono eseguite diversi milioni di queries al secondo, siccome ogni query richiede un certo tempo per essere elaborata, il carico di lavoro per il singolo server risulta indubbiamente eccessivo. Allora, la classica architettura client-server viene resa un po più complessa, aggiungendo un Data Server, un Load Balancer e diversi Application Servers che sono collegati ad Internet, i quali rappresentano il frontend. Fare i calcoli negli Application Servers (Java) e gestire i dati nel Data Server consente di alleggerire il carico di lavoro del server e renderlo scalabile, infatti viene aggiunto un certo numero di Application Servers in base alle esigenze. Inoltre, in questo tipo di architettura, fino a circa utenti connessi, possono essere tranquillamente utilizzati i database relazionali che sono molto precisi e robusti, i quali offrono la massima garanzia e robustezza. Altrimenti, si fa uso dei database non relazionali che, al contrario, sono molto veloci e poco precisi: a volte, possono generare informazioni addirittura contraddittorie.

3 TEORIA DELL ALGEBRA RELAZIONALE La tabella sottostante rappresenta la relazione R definita sugli attributi r j, la cui notazione è: R{ r j } Sulle tabelle è possibile eseguire delle operazioni, combinando i dati in esse contenuti in maniera insiemistica. di effettuare operazioni algebriche tra le relazioni. È necessario tenere a mente che esiste una sostanziale differenza tra i diagrammi EER (Enhanced Entity Relationship) e l algebra relazionale: i primi presentano le entità e le relazioni, quindi mettono in evidenza quali informazioni sono contenute nel database e come sono legate tra loro; la seconda, invece, permette Le operazioni più elementari che l algebra relazionale permette di eseguire sulle tabelle sono la SELECT e la PROJECT: σ <ci >(R) Operazione di Select eseguita sulla relazione R e sulla condizione c i π <aj >(R) Operazione di Project, eseguita sugli attributi a j della relazione R L operazione di Select filtra le righe in accordo con la condizione c i. L operazione di Project filtra solo le colonne a j, creando così una nuova tabella che estrae dalla precedente solo gli attributi a j. ESEMPIO: Si supponga di avere la relazione Persona definita sugli attributi SSN (chiave primaria), Nome, Cognome, B_date. Selezionare solo le righe in cui la persona si chiama Francesco. L operazione da effettuare è la seguente: σ <Persona.Nome="Francesco"> (Persona) OSSERVAZIONE: È stata utilizzata la Notazione Punto, scrivendo Persona.Nome, che permette di specificare che ci si riferisce all attributo Nome della relazione Persona. In tal caso, tale notazione non era strettamente necessaria, perché la relazione coinvolta è solo una e quindi l attributo Nome è univoco. Ma ci sono dei casi in cui in un operazione sono coinvolte più di una relazione con attributi che hanno nomi uguali, e quindi si necessita della Notazione Punto.

4 ESEMPIO: Si faccia riferimento alla relazione definita precedentemente. Creare una nuova tabella che abbia solo le colonne di Persona corrispondenti a SSN, Nome, B_date. L operazione da effettuare è: π <SSN,Nome,B_date> (Persona) ATTENZIONE: Project è un operazione molto delicata perché, nel caso in cui fra gli attributi non sia inserita anche la chiave primaria, si rischia di ottenere una nuova tabella con dei records che risultano ripetuti, in quanto aventi gli stessi valori. Ad esempio, π <Nome> (Persona) potrebbe generare una tabella in cui sono presenti delle righe ripetute. In casi come questo, in SQL è importante specificare il vincolo DISTINCT, che impone che eventuali ripetizioni di un record all interno delle tabelle siano fuse in un unica riga. Nell algebra relazionale si assume che non possano mai essere presenti due n-uple che hanno gli stessi valori, perché altrimenti essa non produce più valori coerenti. Un altra semplice operazione è quella di RENAME, che non viene mai usata da sola, ma unitamente ad altre operazioni: ρ(r{r i }) Operazione di Rename eseguita sugli attributi r i Serve per rinominare attributi o una tabella. Può essere utilizzata, ad esempio, in combinazione con una Project: ρ <B> ( π <SSN,Nome,B_date> (Persona) ) In tal caso, la Project sulla relazione Persona ha creato una tabella, la quale viene rinominata B. Gli operatori enunciati finora si definiscono operatori unari, poiché lavorano solo su una relazione per volta. OPERAZIONI INSIEMISTICHE Le operazioni insiemistiche sono: Unione Intersezione Differenza

5 Si supponga di avere due insiemi: A e B. L insieme unione (A B) è l insieme degli elementi di A e di B. Nel caso di due relazioni, l unione può essere eseguita solo se esse sono UNION COMPATIBLE, cioè definite sugli stessi attributi, a prescindere dall ordine. L ordine con cui gli attributi compaiono nelle due relazioni non è rilevante perché, nel caso in cui fosse diverso, attraverso una Select è possibile estrarre le colonne delle due relazioni nell ordine desiderato, in tal modo riordinandole. In tal caso, se sono presenti records con gli stessi valori nelle due relazioni, essi compariranno solo una volta nella relazione unione. L insieme intersezione (A B) è l insieme degli elementi presenti sia in A sia in B. Nel caso di due relazioni, è l insieme dei records comuni, cioè presenti contemporaneamente in entrambe. L insieme differenza (A-B) è l insieme degli elementi presenti in A, ma non in B. Equivalentemente, nel caso di due relazioni, la differenza rappresenta l insieme dei records presenti nella relazione A, ma non in B. Oltre che per l unione, anche per effettuare intersezione e differenza tra relazioni è necessario che esse siano union compatible. Gli operatori appena introdotti sono chiamati operatori binari poiché eseguono operazioni contemporaneamente su due relazioni distinte. Si considerino l insieme A che contiene gli elementi a1, a2, a3, e l insieme B che contiene gli elementi b1, b2, b3. Insieme a tutte le operazioni insiemistiche elementari, è possibile definire anche il PRODOTTO CARTESIANO, come l insieme C di tutte le possibili coppie { ai, bj }. Eseguire il prodotto cartesiano fra due relazioni A e B vuol dire creare una relazione C costituita da tutti i records ai di A affiancati da tutti i records bj di B. ESEMPIO: nel caso Cliente-Acquista-Prodotto, il prodotto cartesiano fra le relazioni Cliente e Prodotto è il seguente:

6 Nella relazione ottenuta compaiono tutte le possibili coppie fra i clienti ed i prodotti che sono stati acquistati. In genere, non è molto utile effettuare un singolo prodotto cartesiano. Ciò che si fa quasi sempre è la seguente operazione: σ <C> ( A*B ) Select sulla condizione C del prodotto cartesiano A*B Questa operazione corrisponde al costrutto SELECT FROM A, B WHERE <C> in SQL, e prende il nome di JOIN fra la relazione A e la relazione B: A <c j >B = σ <C> ( A*B ) Eseguire una Join fra due relazioni significa crearne una terza in cui non si inseriscono tutte le possibili coppie di records di una relazione e dell altra, ma solo quelle in corrispondenza in base alla condizione specificata. In genere, la condizione cj di Join corrisponde al vincolo di chiave esterna. È per questo motivo che viene eseguita la Join al posto di un singolo prodotto cartesiano: non si è interessati a tutte le coppie possibili fra due relazioni, ma solo a quelle collegate da un vincolo di chiave esterna. ESEMPIO: Considerando in Cliente-Acquista-Prodotto la seguente operazione di Join: CLIENTE <PRODOTTO.SSN_ACQUIRENTE=CLIENTE.SSN>PRODOTTO Tale operazione analizza tutte le possibili coppie di records di CLIENTE e di PRODOTTO, e considera solo quelle in cui gli attributi PRODOTTO.SSN_ACQUIRENTE e CLIENTE.SSN coincidono, e cioè solo le coppie in cui la persona ha effettivamente acquistato il prodotto. Viene generata la tabella contenente contiene tutti i clienti ed i prodotti acquistati per ogni cliente. L operazione di Join concretizza il fatto che se è presente un percorso che collega delle informazioni nel diagramma delle relazioni, allora quelle informazioni possono essere estratte. ESEMPIO: Market-Basket Analysis Determinare, dato un prodotto, quali sono i clienti che lo hanno acquistato e quali sono gli altri prodotti comprati da tali clienti. PRODOTTO <C>CLIENTE <D>CLIENTE

7 ATTENZIONE: La Join può essere effettuata anche su più di due relazioni contemporaneamente. La Join presenta anche alcune varianti: LEFT JOIN: estrae tutti gli elementi di A e solo gli elementi corrispondenti di B; RIGHT JOIN: estrae tutti gli elementi di B e solo gli elementi corrispondenti di A; FULL OUTER JOIN: estrae tutti gli elementi di A, tutti gli elementi di B e trova le corrispondenze. ESEMPIO (Left Join): Estrarre tutti gli studenti e, se qualcuno di essi ha sostenuto un esame, i voti degli esami. Con una Join potrebbero essere estratti solo gli studenti che hanno fatto e superato l esame, perché è necessaria la corrispondenza fra gli elementi. OSSERVAZIONE: Con una Full Outer Join si possono ottenere degli elenchi che a sinistra sono pieni e a destra sono in parte vuoti ed in parte pieni, o viceversa. Inoltre, in diversi contesti come quello aziendale, è necessario avere informazioni aggregate sui dati contenuti nel database, le quali sono indispensabili per i sistemi di supporto alle decisioni, ad esempio. Pertanto, un altra operazione fondamentale dell algebra relazionale è la FUNZIONE DI AGGREGAZIONE: F<f()>(A) Funzione di aggregazione definita sulla funzione f() e sulla relazione A Tale operazione estrae, per mezzo della relazione A, tutti gli elementi sui quali deve essere eseguita la funzione f(). Le possibili funzioni f() sono le FUNZIONI STATISTICHE DI AGGREGAZIONE: COUNT() Conta gli elementi estratti SUM() Somma il valore degli elementi estratti AVG() Calcola la media degli elementi estratti VAR() Calcola lo scarto all interno degli elementi estratti. Alessandro Caniglia Francesco Immorlano

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

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

Lezione 6. Algebra e Calcolo Relazionale

Lezione 6. Algebra e Calcolo Relazionale Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli

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

Scopo. Informatica. Sistema informativo. Sistema informatico

Scopo. Informatica. Sistema informativo. Sistema informatico BASI DI DATI 1 BASI DI DATI 2 Scopo Informatica Elaborazione di dati: Basi di dati Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in

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

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

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

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

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

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

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali Scopo Informatica Gestione dell informazione per le lauree triennali LEZIONE 9 Elaborazione di dati: Basi di dati Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione

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

Scopo Laboratorio di Informatica

Scopo Laboratorio di Informatica Corso di laurea triennale in Chimica - Laboratorio di Informatica 1 Corso di laurea triennale in Chimica - Laboratorio di Informatica 2 Scopo Laboratorio di Informatica Gestione dell informazione per la

Dettagli

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie: lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza

Dettagli

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale. Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione

Dettagli

Basi di dati (database)

Basi di dati (database) Basi di dati (database) 1 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi tipi di attività Esempi: aziende, banche, anagrafi,

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

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

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

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

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati 1 Informatica per laurea triennale di area non informatica LEZIONE 7 - 2 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi

Dettagli

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

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

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica Dipartimento Informatica Materia Informatica Classe 5 Tec Ore/anno 198 A.S. 2018-2019 MODULI COMPETENZE UNITA di APPRENDIMENTO Gestione delle informazioni Tot. h 10 Base di Dati Tot. h 56 Grafica in C#

Dettagli

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

I DATI E LA LORO INTEGRAZIONE 63 4/001.0 I DATI E LA LORO INTEGRAZIONE 63 4/001.0 L INTEGRAZIONE DEI DATI INTEGRAZIONE DEI DATI SIGNIFICA LA CONDIVISIONE DEGLI ARCHIVI DA PARTE DI PIÙ AREE FUNZIONALI, PROCESSI E PROCEDURE AUTOMATIZZATE NELL AMBITO

Dettagli

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea

Dettagli

ALGEBRA'RELAZIONALE'

ALGEBRA'RELAZIONALE' ALGEBRA'RELAZIONALE'! 2 Definizioni'! Algebra Relazionale! Insieme di operatori di base del modello relazionale! Espressioni in Algebra relazionale! Sequenza di operazioni in algebra relazionale! Calcolo

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per

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

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

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

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

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

INTRODUZIONE AL 2 TEST IN ITINERE. a.a INTRODUZIONE AL 2 TEST IN ITINERE a.a. 2014-15 Modalità d esame Tipologia degli studenti: A(ll). Non Sufficienti al Primo Test in Itinere (su tutto il programma sino ad SQL base). Si presentano su tutto

Dettagli

Modulo 8 I data base Unità 5 Le Query

Modulo 8 I data base Unità 5 Le Query Modulo 8 I data base Unità 5 Le Query Prof. Antonio Scanu 1 Le operazioni relazionali: In questa lezione focalizziamo l attenzione sulle operazioni che consentono di interrogare una base di dati relazionale.

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma

Informatica per le Scienze Umane. Introduzione al corso: programma Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni

Dettagli

Algebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale

Algebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale Interrogazione Basi di Dati Algebra Relazionale Interrogare un DB signifia estrarre le informazioni desiderate dal DB stesso In genere le informazioni desiderate si possono estrarre da una singola tabella

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

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

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

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

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione:

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione: Operazioni Lezione 8 Operazioni Relazionali Le diverse operazioni vengono eseguite sulle istanze non sulla struttura della tabella Il risultato dell operazione sono un insieme di istanze che soddisfano

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. Dettagli e Approfondimenti

Basi di Dati. Dettagli e Approfondimenti Basi di Dati Dettagli e Approfondimenti Dettagli e Approfondimenti Altre Forme di Join Funzioni Aggregative Approfondimenti DDL Espressioni Algebra Relazionale >> Dettagli e Approfondimenti Operatori Binari

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle

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

L ALGEBRA RELAZIONALE (2) Lezione del 28/10/2008 Prof. Mario Bochicchio

L ALGEBRA RELAZIONALE (2) Lezione del 28/10/2008 Prof. Mario Bochicchio L ALGEBRA RELAZIONALE (2) Lezione del 28/10/2008 Prof. Mario Bochicchio Ricapitoliamo brevemente gli operatori dell algebra relazionale visti sino ad ora: gli operatori unari, ovvero π (select, estrae

Dettagli

ITI M. FARADAY. Programmazione a. s

ITI M. FARADAY. Programmazione a. s ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Quinta A Quinta B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio)

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 4.3-1 Prerequisiti Creazione e gestione tabelle Uso ambiente SQL in algebra relazionale 2 1 Introduzione In questa Unità vediamo i comandi SQL con i quali è possibile

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

LE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità

LE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità LE RELAZIONI IN SQL INNER JOIN La inner join si effettua andando a cercare righe corrispondenti nelle due tabelle, basandosi sul valore di determinate colonne. In Access è il caso del campo di tipo Ricerca

Dettagli

Fondamenti di Informatica e Programmazione

Fondamenti di Informatica e Programmazione Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro

Dettagli

Operazioni sui database

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

Dettagli

Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica

Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica Studiare ciascuno degli argomenti proposti nel corso dell anno sul libro di testo (secondo le pagine assegnate) oppure sul sito comunicato all inizio dell anno con le stesse credenziali: 1) Da pag. 352

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.2 Strumenti di Access. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.2 Strumenti di Access. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.2 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione In questa Unità si introduce Access 2007, un applicazione

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

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1 I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice

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

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

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Proiezione Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è l insieme di tuple su Y ottenute dalle tuple di r considerando solo i valori

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

SQL operazioni sui dati: interrogazioni con join e prodotti cartesiano

SQL operazioni sui dati: interrogazioni con join e prodotti cartesiano SQL operazioni sui dati: interrogazioni con join e prodotti cartesiano Selezione, proiezione e join Le istruzioni SELECT : con una sola relazione nella clausola FROM permettono di realizzare: selezioni,

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

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

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

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

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

Gestione di basi di dati relazionali con SQL (parte I) Linguaggi per basi di dati 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 http://www.elet.polimi.it/~picco Linguaggi

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

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

Vincoli di Integrità Referenziale

Vincoli di Integrità Referenziale Vincoli di Integrità Referenziale In alcuni casi (corrispondenze fra relazioni) è necessario che i valori degli attributi di una relazione R 1 si trovino anche in attributi corrispondenti di un altra relazione

Dettagli

ALGEBRA RELAZIONALE. L algebra relazionale

ALGEBRA RELAZIONALE. L algebra relazionale ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare

Dettagli

Laboratorio di Basi di Dati IV esercitazione 17 aprile 2007

Laboratorio di Basi di Dati IV esercitazione 17 aprile 2007 Laboratorio di Basi di Dati IV esercitazione 17 aprile 2007 Sia data la base di dati Unige, che riprende ed estende la basi di dati creata durante le precedenti esercitazioni per la modellazione dei dati

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Operazioni Relazionali Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Algebra relazionale Il modello logico Relazionale si fonda sull algebra relazionale Permette di

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

APPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO)

APPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO) APPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO) Studenti: Luca Signore, Cristian Annicchiarico Professoressa: Lucia Vaira Lo scopo di questa lezione è quello di introdurre gli strumenti necessari

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

SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI. Patrizio Dazzi a.a

SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI. Patrizio Dazzi a.a SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Homeworks preso il prossimo! Compitini un po di pazienza Assistente Vinicius Monteiro De Lira PICCOLO

Dettagli

Lezione 1 Concetti generali

Lezione 1 Concetti generali Inizio contenuto della pagina. Lezione 1 Concetti generali Introduzione Microsoft Access è un programma per la gestione di database relazionali sviluppato da Microsoft. Un database (in italiano "base di

Dettagli

Algebra Relazionale.

Algebra Relazionale. Algebra Relazionale c.vallati@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di

Dettagli

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida Introduzione all algebra relazionale Prof. Giovanni Giuffrida Esempio di interrogazione Studenti Nome Matricola Indirizzo Telefono Mario Rossi 456 Via Roma 1 095 111 Ugo Bianchi 567 Via Etnea 154 095 222

Dettagli

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e

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

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

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

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

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

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti Microsoft Access Nozioni di base Contatti: Dott.ssa Silvia Bonfanti silvia.bonfanti@unibg.it Introduzione In questa lezione vedremo lo strumento Microsoft Access ed impareremo come realizzare con esso

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

2.2a: MODELLO RELAZIONALE. (1 Struttura)

2.2a: MODELLO RELAZIONALE. (1 Struttura) 2.2a: MODELLO RELAZIONALE (1 Struttura) Introduzione Formulato da Codd nel 1970 Codd, E.F. A Relational Model of Data for Large Shared Data Banks Communications of the ACM, vol. 13, num. 6, jun 1970, pp.

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

Basi di dati e Relazioni

Basi di dati e Relazioni Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati

Dettagli

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved Capitolo 9 Sistemi di basi di dati 2007 Pearson Addison-Wesley. All rights reserved Capitolo 9: Sistemi di basi di dati 9.1 Definizione di Sistemi di Basi di Dati 9.2 Modello relazionale 9.3 Basi di dati

Dettagli