Introduzione alle Basi di Dati

Slides:



Advertisements
Presentazioni simili
DB - Modello relazionale dei dati
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Vincoli sulle basi di dati
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Algebra relazionale Presentazione 12.1
Basi di dati: il modello relazionale
Una Introduzione alle Basi di Dati
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Semantica delle Informazioni
Basi di Dati prof. A. Longheu
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Gestione Dati & Archivi
Il modello relazionale: strutture e vincoli
ESEMPI DI ARCHIVI DI DATI
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Relazionale Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi.
Basi di dati Università Degli Studi Parthenope di Napoli
Appunti informatica- prof. Orlando De Pietro
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
MODELLI DEI DATI I MODELLI COSTITUISCONO UNA STRUTTURAZIONE SEMPLIFICATA DELLA REALTA’ CHE NE ACCOGLIE ASPETTI SPECIFICI E AIUTA A COMPRENDERLA MEGLIO.
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
MODELLO LOGICO DEI DATI
Introduzione a Oracle 9i
Sistemi di Elaborazione delle Informazioni Mod.I.
SQL.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
I DATABASE.
Introduzione alle basi di dati
SQL (IV) Data Definition Language/ Data Manipulation Language.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
IL MODELLO RELAZIONALE. Modello Relazionale2 Cronologia dei modelli per la rappresentazione dei dati  Modello gerarchico (anni 60)  Modello reticolare.
Introduzione alle basi di dati
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Progettazione di basi di dati: metodologie e modelli
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Transcript della presentazione:

Introduzione alle Basi di Dati

Materiale Teoria: bastano le slide Esercizi: bastano le slide In alternativa: Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi di dati: Modelli e linguaggi di interrogazione Esercizi: bastano le slide Se vi servono altri esercizi Braga Brambilla Campi Eserciziario basi di dati Editrice Esculapio

Dal dato all’informazione unità elementare (grezza) di informazione Informazione: elaborazione dei dati per rispondere a esigenze specifiche dell'impresa

Dal dato all’informazione Dato: <Stefano Ceri, Basi di dati, IIIA, I Sem> Informazione: Chi insegna basi di dati? Stefano Ceri Quando si tiene il corso? Al I semestre del III anno.

BASE DI DATI E FILE SYSTEM A CONFRONTO PROGRAMMA APPLICATIVO DATI DBMS PROGRAMMA APPLICATIVO FILE SYSTEM DATI

Principali caratteristiche dei DBMS condivisione dei dati - assenza di replicazione nei file - concorrenza qualità dei dati - vincoli di integrità efficienza - caricamento, query, sort controllo dell'accesso - privatezza robustezza

INTEGRAZIONE DEI DATI OGNI DATO, A PRESCINDERE DALLE APPLICAZIONI DALLE QUALI VENGA UTILIZZATO, COMPARE UNA SOLA VOLTA ELIMINA INUTILI RIDONDANZE E SPRECHI DI MEMORIA MIGLIORA LA CONSISTENZA DEI DATI (non è infatti possibile che lo stesso dato abbia contemporaneamente due valori diversi)

Come si usa un DBMS ? a definendo la struttura generale dei dati b definendo le specifiche operazioni sui dati STRUTTURA DEI DATI SUI CONTI CORRENTI conto corrente di Giorgio Rossi conto corrente di Paolo Bianchi ………………………………………. schema istanza

Esempio : studenti universitari studente MATR 123 415 702 NOME Carlo Paola Antonio CITTA’ Bologna Torino Roma C-DIP Inf Log

I linguaggi del DBMS DATA DEFINITION LANGUAGE (DDL) es: CREATE, DROP, ALTER DATA MANIPULATION LANGUAGE (DML) es: SELECT, INSERT, UPDATE, DELETE

DML: Query Language select * from Studente where Città = ’Bologna’ Matr 123 Nome Carlo Città Bologna CDip Inf

Il modello relazionale

MODELLI DEI DATI I MODELLI COSTITUISCONO UNA STRUTTURAZIONE SEMPLIFICATA DELLA REALTA’ CHE NE ACCOGLIE ASPETTI SPECIFICI E AIUTA A COMPRENDERLA MEGLIO MONDO REALE MODELLO CONCETTUALE GERARCHICO RELAZIONALE RETICOLARE MODELLI LOGICI

Cronologia dei modelli per la rappresentazione dei dati Modello gerarchico (anni 60) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello a oggetti (anni 90) Modello XML (anni 00)

MODELLI LOGICI DEI DATI GERARCHICO I DATI SONO RAPPRESENTATI COME RECORD LE ASSOCIAZIONI TRA I DATI SONO RAPPRESENTATE CON PUNTATORI IN UNA STRUTTURA AD ALBERO GERARCHICO

MODELLI LOGICI DEI DATI RETICOLARE (CODASYL) I DATI SONO RAPPRESENTATI COME RECORD LE ASSOCIAZIONI TRA I DATI SONO RAPPRESENTATE CON PUNTATORI IN UNA STRUTTURA A GRAFO COMPLESSO RETICOLARE

MODELLI LOGICI DEI DATI RELAZIONALE I DATI SONO RAPPRESENTATI COME TABELLE LE ASSOCIAZIONI TRA I DATI SONO OTTENUTE ASSOCIANDO VALORI DI ATTRIBUTI IN TABELLE DIVERSE RELAZIONALE

Cronologia del modello relazionale Inventato da T. Codd, 1970 (IBM Research di Santa Teresa, Cal) Primi progetti: SYSTEM R (IBM), Ingres (Berkeley Un.) Principali scoperte tecnologiche: 1978-1980 Primi sistemi commerciali: inizio anni ‘80 (Oracle, IBM-SQL DS e DB2, Ingres, Informix, Sybase) Successo commerciale: dal 1985.

Definizione informale colonna schema istanza studente MATR 123 107 415 702 NOME Carlo Giovanni Paola Antonio CITTA’ Bologna Milano Torino Roma INDIR Inf Log riga schema istanza studente MATR 123 107 415 702 NOME Carlo Giovanni Paola Antonio CITTA’ Bologna Milano Torino Roma INDIR Inf Log schema istanza studente MATR 123 107 415 702 NOME Carlo Giovanni Paola Antonio CITTA’ Bologna Milano Torino Roma INDIR Inf Log

Relazione: tre accezioni • relazione matematica: come nella teoria degli insiemi; • relazione (dall’inglese relationship) che rappresenta una classe di fatti — una relazione matematica fra due entità, nel modello Entity-Relationship; talvolta tradotto con associazione o correlazione • relazione secondo il modello relazionale dei dati.

Definizione formale Dominio D: qualunque insieme di valori D1, D2, …, Dn (n insiemi anche non distinti) • Il prodotto cartesiano D1×D2×…×Dn, è l’insieme di tutte le n-uple ordinate <d1, d2, …, dn> tali che d1D1, d2  D2, …, dn  Dn. • Una relazione matematica su D1, D2, …, Dn è un sottoinsieme del prodotto cartesiano D1×D2×…×Dn. D1, D2, …, Dn sono i domini della relazione. Una relazione su n domini ha grado n . Il numero di n-uple è la cardinalità della relazione. Nelle applicazioni reali, la cardinalità è sempre finita.

Esempio D1 = (a,b) D2 = (1,2,3) D1 x D2 = ( <a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3> ) R1 = ( <a,1>, <b,3> ) R2 = ( <c,1>, <b,3>, <a,2> ) R3 = ( ) R4 = ( <a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3> )

Proprietà Grado della relazione: numero di domini (n) Cardinalita' della relazione: numero di tuple Attributo: nome dato al dominio in una relazione [I nomi di attributo in una relazione devono essere tutti distinti fra loro]

Proprietà In base alle definizioni, una relazione matematica è un insieme di n-uple ordinate: <d1, d2, …, dn> tali che d1  D1, d2  D2, …, dn  Dn Una relazione è un insieme; quindi: non è definito alcun ordinamento fra le n-uple; le n-uple di una relazione sono distinte l’una dall’altra; le n-uple sono ordinate: l’ i-esimo valore di ciascuna proviene dall’ i-esimo dominio; è cioè definito un ordinamento fra i domini.

Partite  string × string × integer × integer • Ciascuno dei domini ha due ruoli distinti, distinguibili attraverso la posizione: il primo e il terzo dominio si riferiscono a nome e reti della squadra ospitante; il secondo e il quarto a nome e reti della squadra ospitata. • La struttura è posizionale Juve Lazio 3 1 Lazio Milan 2 0 Juve Roma 1 2 Roma Milan 0 1

Nei DB, invece, associamo a ciascun dominio un nome (attributo), unico nella relazione, che “descrive” il ruolo del dominio. – Nella rappresentazione tabulare, gli attributi possono essere usati come intestazioni delle colonne. – L’ordinamento fra gli attributi è irrilevante: la struttura è non posizionale Casa Fuori RetiCasa RetiFuori Juve Lazio 3 1 Lazio Milan 2 0 Juve Roma 1 2 Roma Milan 0 1

Formalizzando L’associazione fra domini e attributi è definita da una funzione dom che associa a ciascun attributo un dominio Una ennupla su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio dom(A) Una relazione su X è un insieme di ennuple su X

Formalizzando Se t è una ennupla su X e A  X, allora t[A] (o t. A ) indica il valore di t su A . Nell’esempio, se t è la prima ennupla della tabella t[Fuori] = Lazio La stessa notazione è estesa anche ad insiemi di attributi, nel qual caso denota ennuple: t[Fuori,RetiFuori] è una ennupla su due attributi e vale <Lazio,1>

Tabelle e relazioni Una tabella rappresenta una relazione se i valori di ciascuna colonna sono fra loro omogenei (dallo stesso dominio) le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro Inoltre, in una tabella che rappresenta una relazione l’ordinamento tra le righe è irrilevante l’ordinamento tra le colonne è irrilevante

Confronto della terminologia DEFINIZIONE FORMALE relazione attributo tupla, n-pla dominio cardinalita' grado INFORMALE tabella colonna riga tipo di dato numero di righe numero di colonne Una differenza significativa DEFINIZIONE FORMALE assenza di duplicati INFORMALE possibili duplicati

Il modello relazionale è basato su valori I riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple.

Perché sui valori? Indipendenza dalle strutture fisiche (si potrebbe avere anche con puntatori di alto livello) che possono cambiare anche dinamicamente Si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione (dell’utente); i puntatori sono meno comprensibili per l’utente finale (senza, l’utente finale vede gli stessi dati dei programmatori) I dati sono portabili più facilmente da un sistema ad un altro I puntatori sono direzionali

Interrogazioni Quali professori hanno esaminato Carlo? studente esame MATR 123 415 702 NOME Carlo Paola Antonio CITTA’ Bologna Torino Roma INDIR Inf Log esame COD- CORSO 1 2 DATA 7-9-03 8-1-03 VOTO 10 8 5 corso TITOLO matematica informatica DOCENTE Barozzi Meo

Interrogazioni Quali studenti hanno preso 10 in matematica? studente MATR 123 415 702 NOME Carlo Paola Antonio CITTA’ Bologna Torino Roma INDIR Inf Log esame COD- CORSO 1 2 DATA 7-9-03 8-1-03 VOTO 10 8 5 corso TITOLO matematica informatica DOCENTE Barozzi Meo

Riflessioni a differenza fra schema e istanza b due attivita' assai differenti: - progetto dello schema - gestione dell'istanza c passaggio dai dati all'informazione (Query language)

DUE ISTANZE DI RICEVUTA FISCALE UN ESEMPIO DUE ISTANZE DI RICEVUTA FISCALE “Da Filippo” Via Roma 23 9100 Chissadove P.I. 012345678 3 coperti 3,15 2 antipasti 6,22 3 primi 12,60 2 bistecche 19,00 Totale 41,98 Ricevuta n. 2369 del 12/5/1997 “Da Filippo” Via Roma 23 9100 Chissadove P.I. 012345678 2 coperti 2,10 1 antipasti 3,11 2 primi 8,40 2 orate 25, 5 2 caffè 1,60 Totale 39,41 Ricevuta n. 2456 del 16/5/1997

RAPPRESENTAZIONE RELAZIONALE, 1 NUMERO DATA TOTALE 2369 12/5/1997 41,98 2456 16/5/1997 39,41 ricevute NUMERO QUANTITA’ DESCRIZIONE IMPORTO 2369 3 coperti 3,15 2369 2 antipasti 6,22 2369 3 primi 12,60 2369 2 bistecche 19,00 2456 2 coperti 2,10 2456 1 antipasti 3,11 2456 2 primi 8,40 2456 2 orate 25, 5 2456 2 caffè 1,60 dettaglio

RAPPRESENTAZIONE RELAZIONALE, 2 NUMERO DATA TOTALE 2369 12/5/1997 41,98 2456 16/5/1997 39,41 ricevute dettaglio NUMERO RIGA QUANTITA’ DESCRIZIONE IMPORTO 2369 1 3 coperti 3,15 2369 2 2 antipasti 6,22 2369 3 3 primi 12,60 2369 4 2 bistecche 19,00 2456 1 2 coperti 2,10 2456 2 1 antipasti 3,11 2456 3 2 primi 8,40 2456 4 2 orate 25, 5 2456 5 2 caffè 1,60

Informazione incompleta ll modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di ennuple solo alcuni formati di ennuple sono ammessi: quelli che corrispondono agli schemi di relazione I dati disponibili possono non corrispondere esattamente al formato previsto, per varie ragioni.

Informazione incompleta Firenze è provincia, ma non conosciamo l'indirizzo della prefettura Tivoli non è provincia: non ha prefettura Prato è “nuova” provincia: ha la prefettura?

Informazione incompleta Non conviene (anche se spesso si fa) utilizzare valori ordinari del dominio (0, stringa nulla, “99”, etc), per vari motivi: potrebbero non esistere valori “non utilizzati” valori “non utilizzati” potrebbero diventare significativi Risulta necessario ogni volta tener conto del “significato” di questi valori

Informazione incompleta Si adotta una tecnica rudimentale ma efficace: valore nullo: denota l’assenza di un valore del dominio (e non è un valore del dominio) Formalmente, è sufficiente estendere il concetto di ennupla: t[A], per ogni attributo A, è un valore del dominio dom(A) oppure il valore nullo NULL Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli

Informazione incompleta

NULL Tre casi differenti valore sconosciuto: esiste un valore del dominio,ma non è noto (Firenze) valore inesistente: non esiste un valore del dominio (Tivoli) valore senza informazione: non è noto se esista o meno un valore del dominio (Prato) I DBMS non distinguono i tipi di valore nullo (e quindi implicitamente adottano il valore senza informazione)

Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per l’applicazione di interesse.

Vincoli di integrità Escludono alcune istanze in quanto non rappresentano correttamente il mondo applicativo - VINCOLI SUI VALORI NULLI - INTEGRITA' REFERENZIALE - VINCOLI GENERICI - CHIAVI

Vincoli di integrità Definizione proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l’applicazione ogni vincolo può essere visto come una funzione booleana (o un predicato) che associa ad ogni istanza il valore vero o falso.

Vincoli di integrità Tipi di vincoli: vincoli intrarelazionali; casi particolari: vincoli su valori (o di dominio) vincoli di ennupla vincoli interrelazionali

Risultano utili al fine di descrivere la realtà di interesse in modo più accurato di quanto le strutture permettano; Forniscono un contributo verso la “qualità dei dati” Costituiscono uno strumento di ausilio alla progettazione (“normalizzazione”) Sono utilizzati dal sistema nella scelta della strategia di esecuzione delle interrogazioni Non tutte le proprietà di interesse sono rappresentabili per mezzo di vincoli esprimibili direttamente

Vincoli di ennupla Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle altre ennuple. Una possibile sintassi: espressione booleana (con AND, OR e NOT) di atomi che confrontano valori di attributo o espressioni aritmetiche su di essi. Un vincolo di ennupla è un vincolo di dominio se coinvolge un solo attributo Esempi: (Voto >= 18) AND (Voto <= 30) (Voto =30) OR NOT (Lode = “e lode”) Lordo = (Ritenute + Netto)

Nozione di chiave Sottoinsieme degli attributi dello schema che ha la proprieta' di unicita' e minimalita' unicità: non esistono due tuple con chiave uguale minimalità: sottraendo un qualunque attributo alla chiave si perde la proprieta' di unicità Se il sottoinsieme non è minimo si parla di SUPERCHIAVE

Chiavi nell'esempio : gestione degli esami universitari MATR COD-CORSO DATA VOTO COD-CORSO TITOLO DOCENTE studente corso esame MATR NOME CITTA’ INDIR

Con molteplici chiavi: una e' definita CHIAVE PRIMARIA le rimanenti chiavi sono SECONDARIE CLIENTE (COD-CLIENTE,INDIRIZZO,P-IVA) Chiave primaria: COD-CLIENTE Chiave secondaria: P-IVA

Esiste sempre una chiave? Poiché le relazioni sono insiemi, ogni relazione non può contenere ennuple distinte ma uguali fra loro: ogni relazione ha come superchiave l’insieme degli attributi su cui è definita; Poiché l’insieme di tutti gli attributi è una superchiave per ogni relazione, ogni schema di relazione ha tale insieme come superchiave; Poiché l’insieme di attributi è finito, ogni schema di relazione ha (almeno) una chiave

Importanza delle chiavi L’esistenza delle chiavi garantisce l’accessibilità a ciascun dato della base di dati Ogni singolo valore è univocamente accessibile tramite: nome della relazione valore della chiave nome dell’attributo Le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni diverse (“il modello relazionale è basato su valori”)

Chiavi e valori nulli In presenza di valori nulli, i valori degli attributi che formano la chiave non permettono di identificare le ennuple come desiderato né permettono di realizzare facilmente i riferimenti da altre relazioni La presenza di valori nulli nelle chiavi deve essere limitata Soluzione pratica: per ogni relazione scegliamo una chiave (la chiave primaria) su cui non ammettiamo valori nulli

Foreign Key Informazioni in relazioni diverse sono correlate attraverso valori comuni In particolare, valori delle chiavi (primarie, di solito) Un vincolo di integrità referenziale fra un insieme di attributi X di una relazione R1 e un’altra relazione R2 impone ai valori su X di ciascuna ennupla dell’istanza di R1 di comparire come valori della chiave (primaria) dell’istanza di R2

Chiavi esterne: esempio MATR COD-CORSO DATA VOTO COD-CORSO TITOLO DOCENTE studente corso esame MATR NOME CITTA’ INDIR