Corso di Informatica (Basi di Dati)

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Le distribuzioni di probabilità continue
DB - Modello relazionale dei dati
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Il linguaggio della Matematica: Insiemi e operazioni
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
Basi di dati: il modello relazionale
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Frontespizio Economia Monetaria Anno Accademico
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Semantica delle Informazioni
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Il modello relazionale: strutture e vincoli
Ordini Parziali - Reticoli
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)
1 Corso di Informatica (Basi di Dati) Esercitazione 1 (19 dicembre 2008) Modello Entità-Relazione Da: Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
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.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Num / 36 Lezione 9 Numerosità del campione.
Lezione 4 Probabilità.
MODELLO RELAZIONALE.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
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.
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Melfi, 1 aprile 2011 – MediaShow 1 Social Network: possibilità di uso consapevole nella didattica Uso, consapevolezza, opportunità, proposte Caterina Policaro.
1ROL - Richieste On Line Ente pubblico 5ROL - Richieste On Line.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Progettare un database
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
LE SAI LE TABELLINE? Mettiti alla prova!.
Informatica II – Basi di Dati (08/09) – Parte 2 Gianluca Torta Dipartimento di Informatica dellUniversità di Torino
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
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.
Informatica II – Basi di Dati (07/08) – Parte 1
Economia delle Aziende, Pubbliche e Non Profit Sistema di misurazione e valutazione e Programma triennale per la trasparenza e l’integrità: alcuni esempi.
lun mar mer gio ven SAB DOM FEBBRAIO.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
Equazioni differenziali e applicazioni economiche
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
IL MODELLO RELAZIONALE. Modello Relazionale2 Cronologia dei modelli per la rappresentazione dei dati  Modello gerarchico (anni 60)  Modello reticolare.
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.
Progettazione di una base di dati relazionale Terza forma normale.
Il modello relazionale
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
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à.
Transcript della presentazione:

Corso di Informatica (Basi di Dati) Lezione 4 (9 gennaio 2009) Modello Relazionale: concetto di relazione, schema e istanza Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA 2007-2008

Un modello logico dei dati... … è un insieme di strutture utilizzabili per descrivere un insieme di dati che a loro volta descrivono una realtà di interesse. Il modello logico attualmente più diffuso per i DBMS è il Modello Relazionale proposto nel 1970 da E. F. Codd.

Un modello logico dei dati... … A questo punto si vedrà come i dati relativi ad una realtà di interesse, che è stata descritta concettualmente tramite il modello E-R, possano essere organizzati secondo il modello (logico) relazionale.

Relazione e tabella Il modello relazionale si basa sui due concetti fondamentali di: relazione, inteso come concetto proveniente dalla teoria degli insiemi tabella, concetto semplice e intuitivo che sono però facilmente riconducibili l’uno all’altro in quanto una relazione è rappresentabile in forma tabellare.

Una precisazione Il termine relazione viene usato in questo corso secondo tre accezioni differenti: relazione intesa come legame logico tra entità (modello E-R) relazione matematica (teoria degli insiemi) relazione nel modello relazionale (proveniente dalla teoria degli insiemi)

Relazione matematica Iniziamo con la definizione di prodotto cartesiano di due insiemi D1 e D2: dati due insiemi D1 e D2, il prodotto cartesiano D1xD2 è l’insieme di tutte le coppie (v1,v2) tali che v1 è un elemento di D1 e v2 è un elemento di D2.

Relazione matematica Ad esempio se D1={1,2,4} e D2={a,b}, il prodotto cartesiano D1xD2 è l’insieme delle 3x2=6 coppie: {(1,a), (1,b), (2,a), (2,b), (4,a), (4,b)}

Relazione matematica Una relazione matematica su due insiemi D1 e D2 (chiamati domini della relazione) è un sottoinsieme r del prodotto cartesiano D1xD2. Ad esempio dati i due insiemi D1={1,2,4} e D2={a,b}, una possibile relazione matematica sui domini D1 e D2 è r={(1,a), (1,b), (4,b)}, in cui si specifica il legame tra 1 e a, tra 1 e b, tra 4 e b.

Relazione matematica Il prodotto cartesiano e la relazione matematica degli esempi precedenti possono anche essere rappresentati in forma tabellare: 1 a b 2 4 1 a b 4 D1xD2 r

Relazione matematica In generale, dati n insiemi D1, D2, …, Dn (anche non distinti) il prodotto cartesiano D1xD2x…xDn è l’insieme di tutte le n-ple (o ennuple) (v1,v2,…,vn) tali che vi è un elemento di Di per ogni i da 1 a n. Una relazione matematica sui domini D1, D2, …, Dn è un sottoinsieme r del prodotto cartesiano D1xD2x…xDn. Il numero n è chiamato grado della relazione (e del prodotto cartesiano), il numero di n-ple che compongono la relazione r è chiamato cardinalità della relazione.

Relazione matematica Quindi: una relazione matematica è un insieme di n-ple al loro interno ordinate (v1 appartiene a D1, v2 appartiene a D2, …, vn appartiene a Dn) una relazione matematica è un insieme e pertanto: non esiste ordinamento tra le diverse n-ple le n-ple sono tutte distinte

Relazione matematica Esempio di relazione matematica rappresentata in forma tabellare: Juve Lazio Milan Roma 3 1 2 I domini sono 4 (grado della relazione): D1: insieme di tutte le stringhe (lo chiamiamo STRING) D2: insieme di tutte le stringhe (lo chiamiamo STRING) D3: insieme degli interi >= 0 (lo chiamiamo INT) D4: insieme degli interi >= 0 (lo chiamiamo INT)

Relazione matematica … Nell’esempio precedente si ha una relazione matematica con 4 n-ple (cardinalità della relazione). Si noti però che ciascuno dei due domini STRING ha un ruolo diverso che dipende dalla sua posizione nella relazione. Il primo fa riferimento alla squadra che gioca in casa e il secondo fa riferimento alla squadra che gioca fuori casa. Allo stesso modo per i due domini INT. Il primo è il punteggio realizzato dalla squadra che gioca in casa, mentre il…

Relazione matematica … secondo è il punteggio realizzato dalla squadra che gioca fuori casa. La struttura di una relazione matematica è dunque posizionale. Nelle Basi di Dati relazionali si vogliono organizzare i dati in relazioni che però non abbiano una struttura posizionale. Cosa si può fare? Si può associare a ciascun dominio della relazione matematica un attributo (un nome) che specifica il ruolo che il dominio ricopre.

Relazione matematica … Ad esempio nella relazione matematica dell’esempio sulle squadre si può associare: SquadraCasa al primo dominio STRING SquadraOspite al secondo dominio STRING RetiCasa al primo dominio INT RetiOspite al secondo dominio INT e nella rappresentazione tabellare si aggiungono gli attributi come intestazione delle colonne.

Relazione matematica Esempio di relazione matematica rappresentata in forma tabellare con attributi dei domini: Juve Lazio Milan Roma 3 1 2 SquadraCasa SquadraOspite RetiCasa RetiOspite

Relazione matematica Si ottiene dunque una struttura relazionale non posizionale. Modificando quindi l’ordine delle colonne il significato dell’informazione contenuta non cambia Lazio Juve Milan Roma 1 2 3 SquadraOspite SquadraCasa RetiOspite RetiCasa

Relazione del modello relazionale Una relazione (o tabella) nel modello relazionale è una relazione matematica in cui: i valori di ogni colonna (corrispondente a un attributo) sono fra loro omogenei (appartengono allo stesso dominio) le righe (n-ple o tuple) sono diverse tra loro le intestazioni delle colonne (attributi) sono diverse tra loro

Relazione del modello relazionale ... l’ordinamento tra le righe è irrilevante l’ordinamento tra le colonne è irrilevante Una Base di Dati relazionale è costituita da più relazioni (tabelle) le cui tuple (n-ple o righe) contengono valori comuni al fine di stabilire corrispondenze.

Esempio di Base di Dati relazionale Si consideri ad esempio una Base di Dati che organizza i dati relativi ad un’università descritta dal seguente semplice modello E-R: Esame Studente Corso (0,N) Matricola Cognome Nome Data di nascita Codice Titolo Docente Voto

Esempio di Base di Dati relazionale …Essa prevede: una relazione (o tabella) che organizza i dati relativi all’entità Studente avente attributi Matricola, Cognome, Nome, DataNascita una relazione (o tabella) che organizza i dati relativi all’entità Corso avente attributi Codice, Titolo, Docente una relazione (o tabella) che organizza i dati relativi alla relationship Esame...

Esempio di Base di Dati relazionale …avente attributi CodiceCorso, Voto, MatricolaStudente Si noti che nella relazione (o tabella) che si riferisce alla relationship Esame, gli attributi CodiceCorso e MatricolaStudente permettono di tradurre il legame logico esistente tra le due entità Studente e Corso.

Esempio di Base di Dati relazionale Esempio di tabella relativa all’entità Studente. Studenti 276545 Rossi 485745 Neri 200768 Verdi 587614 Maria Anna Fabio Luca 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Matricola Cognome Nome DataNascita

Esempio di Base di Dati relazionale Esempio di tabella relativa all’entità Corso Corsi 01 Analisi 03 Chimica 04 Giani Melli Belli Codice Titolo Docente

Esempio di Base di Dati relazionale Esempio di tabella relativa alla relationship Esame Esami 276545 28 27 200768 24 01 04 MatricolaStudente Voto CodiceCorso

Esempio di Base di Dati relazionale Studenti 276545 Rossi 485745 Neri 200768 Verdi 587614 Maria Anna Fabio Luca 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Matricola Cognome Nome DataNascita 01 Analisi 03 Chimica 04 Giani Melli Belli Codice Titolo Docente 28 27 24 MatricolaStudente Voto CodiceCorso Esami Corsi

Definizioni relative al modello relazionale Uno schema di relazione è un nome R con un insieme di attributi X={A1,A2, …,An}: R(X)=R(A1,A2,…,An) Ad esempio lo schema della relazione (o tabella) che organizza i dati degli studenti nell’esempio precedente è: Studenti(Matricola,Cognome,Nome,DataNascita) se si decide di nominare tale tabella Studenti. A ciascun attributo Ai è associato un dominio.

Definizioni relative al modello relazionale Lo schema della tabella Studenti è evidenziato in rosso Studenti 276545 Rossi 485745 Neri 200768 Verdi 587614 Maria Anna Fabio Luca 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Matricola Cognome Nome DataNascita

Definizioni relative al modello relazionale Uno schema di base di dati è un insieme di schemi di relazione: {R(X1),R(X2),…,R(Xm)} Ad esempio lo schema della base di dati nell’esempio precedente è: {Studenti(Matricola,Cognome,Nome,DataNascita),Corsi(Codice,Titolo,Docente),Esami(MatricolaStudente,Voto,CodiceCorso)} se si decide di nominare le tabelle con i nomi Studenti, Corsi ed Esami.

Definizioni relative al modello relazionale Lo schema della Base di Dati precedente è evidenziato in rosso 276545 Rossi 485745 Neri 200768 Verdi 587614 Maria Anna Fabio Luca 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Matricola Cognome Nome DataNascita 276545 28 27 200768 24 01 04 MatricolaStudente Voto CodiceCorso 01 Analisi 03 Chimica 04 Giani Melli Belli Codice Titolo Docente

Definizioni relative al modello relazionale Una ennupla (o n-pla, o tupla) su un insieme X di n attributi è una funzione t che associa a ciascun attributo A in X un valore appartenente al dominio di A. Data una ennupla t sull’insieme X di attributi e un attributo A di X, si indichi con t[A] il valore che l’attributo A assume in t. Data una ennupla t sull’insieme X di attributi e un sottoinsieme Y di X, si indichi con t[Y] l’insieme che gli attributi di Y assumono in t.

Definizioni relative al modello relazionale Ad esempio se X={Codice,Titolo,Docente} è l’insieme degli attributi della tabella Corsi, indicando con t la ennupla (01,Analisi,Giani) su X, si ha t[Codice] è 01 e t[Codice,Docente] è (01, Giani).

Definizioni relative al modello relazionale Esempio di ennupla per la tabella Corsi Corsi 01 Analisi 03 Chimica 04 Giani Melli Belli Codice Titolo Docente ennupla

Definizioni relative al modello relazionale Un’istanza di relazione su di uno schema R(X) è un insieme di ennuple su X Ad esempio un’istanza della relazione Studenti che organizza i dati degli studenti nell’esempio precedente è evidenziata in rosso Studenti 276545 Rossi 485745 Neri 200768 Verdi 587614 Maria Anna Fabio Luca 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Matricola Cognome Nome DataNascita

Definizioni relative al modello relazionale Un’istanza di Base di Dati su di uno schema {R(X1),R(X2),…,R(Xm)} è un insieme di istanze di relazione r1, r2, …, rm, dove ri (per i da 1 a m) è un’istanza di relazione sullo schema R(Xi)

Definizioni relative al modello relazionale L’istanza della Base di Dati precedente è evidenziato in rosso 276545 Rossi 485745 Neri 200768 Verdi 587614 Maria Anna Fabio Luca 25/11/1971 23/04/1972 12/02/1972 10/10/1971 Matricola Cognome Nome DataNascita 276545 28 27 200768 24 01 04 MatricolaStudente Voto CodiceCorso 01 Analisi 03 Chimica 04 Giani Melli Belli Codice Titolo Docente

Definizioni relative al modello relazionale In sintesi: lo schema (di una relazione o di una Base di Dati) è la parte che non varia nel tempo (a meno che lo schema stesso non venga ridefinito…) l’istanza (di una relazione o di una Base di Dati) è la parte che varia nel tempo in quanto le Basi di Dati vengono aggiornate costantemente

Nota Bene! La stessa realtà può essere rappresentata mediante schemi relazionali differenti. Ad esempio i dati relativi all’entità Studente e alla relationship Esame dell’esempio precedente possono essere organizzati in un’unica tabella Studenti2 avente schema: Studenti2(Matricola,Cognome,Nome,DataNascita,CodiceCorso,Voto) eliminando quindi la tabella Esami dello schema precedente

Nota Bene! La nuova Base di Dati diventa quindi: Studenti2 Corsi Matricola Cognome Nome DataNascita CodiceCorso Voto 276545 Rossi Maria 25/11/1971 01 28 276545 Rossi Maria 25/11/1971 04 27 485745 Neri Anna 23/04/1972 200768 Verdi Fabio 12/02/1972 04 24 587614 Rossi Luca 10/10/1971 Corsi 01 Analisi 03 Chimica 04 Giani Melli Belli Codice Titolo Docente

Nota Bene! Quali sono però gli svantaggi di questo secondo schema? ci possono essere dati ripetuti (si vedano le ennuple riguardanti la studentessa Maria Rossi che ha sostenuto due esami) ci possono essere ennuple in cui i valori per alcuni attributi sono nulli (si vedano le ennuple relative a studenti che non hanno sostenuto esami)