La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Istituto Tecnico Commerciale Statale G. DellOlio Bisceglie Informatica gestionale – Indirizzo Mercurio IL MODELLO RELAZIONALE.

Presentazioni simili


Presentazione sul tema: "Istituto Tecnico Commerciale Statale G. DellOlio Bisceglie Informatica gestionale – Indirizzo Mercurio IL MODELLO RELAZIONALE."— Transcript della presentazione:

1 Istituto Tecnico Commerciale Statale G. DellOlio Bisceglie Informatica gestionale – Indirizzo Mercurio IL MODELLO RELAZIONALE

2 RELAZIONI A={Giovanni, Mario, Luigi, Andrea}4 elementi B={Elena, Anna}2 elementi Si può formare il prodotto cartesiano (8 coppie): AxB={ (Giovanni; Elena), (Giovanni; Anna), (Mario; Elena), (Mario; Anna), (Luigi; Elena), (Luigi; Anna), (Andrea; Elena), (Andrea; Anna) } maritomoglie GiovanniAnna LuigiElena cardinalità grado Riga o N-upla o Tupla La relazione x è sposato con y è uno dei possibili sottinsiemi del prodotto AxB

3 Dal modello ER (MODELLO CONCETTUALE) alle relazioni (MODELLO LOGICO) Ogni entità diventa una relazione Ogni associazione uno a molti comporta che si introduca una chiave esterna Ogni associazione molti a molti diventa una nuova relazione REGOLE DI INTEGRITA REFERENZIALE Non è possibile modificare un valore chiave primaria nella tabella primaria, se quel record dispone di record correlati FORNITORIARTICOLI Non è possibile eliminare un record da una tabella primaria, se esistono record corrispondenti in una tabella correlata Non è possibile immettere un valore nel campo chiave esterna della tabella correlata che non esiste nella chiave primaria della tabella primaria. È possibile, comunque, immettere un valore Null nella chiave esterna, specificando che i record non sono correlatichiave esternaNull è possibile specificare se si desidera utilizzare automaticamente le opzioni di aggiornamento a catena e di eliminazione a catena per i record correlati aggiornamento a catenaeliminazione a catena

4 Operazioni relazionali: SELEZIONE codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 codicedescrizionecoloreCodfornitore C01 C35 Cartella A4 Agenda Rosso F01 La selezione genera una nuova relazione costituita solo dalle n-uple (le righe) che soddisfano una determinata condizione ARTICOLI SELECT * FROM ARTICOLI WHERE COLORE=ROSSO; SELEZIONE DI ARTICOLI PER COLORE=ROSSO;

5 Operazioni relazionali: PROIEZIONE codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 La proiezione genera una nuova relazione estraendo solo alcune colonne ARTICOLI SELECT CODICE, DESCRIZIONE FROM ARTICOLI; PROIEZIONE DI ARTICOLI SU CODICE, DESCRIZIONE; codicedescrizione C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda

6 Operazioni relazionali: CONGIUNZIONE La congiunzione combina 2 relazioni aventi un attributo in comune generando una nuova relazione INNER JOIN (join interno) JOIN naturale se gli attributi hanno stesso nome, es codfornitore e codfornitore EQUI-JOIN se gli attributi hanno nomi diversi, es codfornitore e codice OUTER JOIN (join esterno) LEFT-JOIN se dalla tabella del verso 1 si prendono comunque tutte le righe RIGHT-JOIN se dalla tabella del verso MOLTI si prendono comunque tutte le righe FULL-JOIN se da entrambe le tabelle si prendono tutte le righe SELF JOIN Righe di una tabella vengono combinate con righe della stessa tabella si abbinano le sole righe con valori identici negli attributi comuni si abbinano tutte le righe anche se non sono presenti valori identici negli attributi comuni

7 Operazioni relazionali: CONGIUNZIONE codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 La congiunzione combina 2 relazioni aventi un attributo in comune generando una nuova relazione in cui compaiono gli attributi (le colonne) di entrambe le relazioni si abbinano le sole righe con valori identici negli attributi comuni ARTICOLI codicenominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito FORNITORI INNER JOIN (join interno) JOIN naturale se gli attributi hanno stesso nome, es codfornitore e codfornitore EQUI-JOIN se gli attributi hanno nomi diversi, es codfornitore e codice

8 Operazioni relazionali: EQUI-JOIN codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 codicenominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito ARTICOLI SELECT articoli.codice, descrizione, colore, codfornitore, nominativo FROM articoli INNER JOIN fornitori ON articoli.codfornitore=fornitori.codice; CONGIUNZIONE DI ARTICOLI SU CODFORNITORE E DI FORNITORI SU CODICE; FORNITORI codicedescrizionecoloreCodfornitorenominativo C01 C15 C21 C08 Cartella A4 Penna biro Raccoglitore Cartella cuoio Rosso Blu Verde Marrone F01 F02 Alberto Mario Cicoria Fabio ARTICOLI INNER JOIN FORNITORI

9 Operazioni relazionali: CONGIUNZIONE codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 La congiunzione combina 2 relazioni aventi un attributo in comune generando una nuova relazione in cui compaiono gli attributi (le colonne) di entrambe le relazioni si abbinano tutte le righe anche se non sono presenti valori identici negli attributi comuni ARTICOLI codicenominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito FORNITORI OUTER JOIN (join esterno) LEFT-JOIN se dalla tabella del verso 1 si prendono comunque tutte le righe RIGHT-JOIN se dalla tabella del verso MOLTI si prendono comunque tutte le righe FULL-JOIN se da entrambe le tabelle si prendono tutte le righe

10 Operazioni relazionali: LEFT-JOIN codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 codicenominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito ARTICOLI SELECT articoli.codice, descrizione, colore, codfornitore, nominativo FROM articoli LEFT JOIN fornitori ON articoli.codfornitore=fornitori.codice; FORNITORI codicedescrizionecoloreCodfornitorenominativo C01 C15 C21 C08 Cartella A4 Penna biro Raccoglitore Cartella cuoio Rosso Blu Verde Marrone F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito ARTICOLI LEFT JOIN FORNITORI FORNITORIARTICOLI dalla tabella del verso 1 si prendono tutte le righe

11 Operazioni relazionali: RIGHT-JOIN codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 codicenominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito ARTICOLI SELECT articoli.codice, descrizione, colore, codfornitore, nominativo FROM articoli RIGHT JOIN fornitori ON articoli.codfornitore=fornitori.codice; FORNITORI codicedescrizionecoloreCodfornitorenominativo C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 Alberto Mario Cicoria Fabio ARTICOLI LEFT JOIN FORNITORI FORNITORIARTICOLI dalla tabella del verso Molti si prendono tutte le righe

12 Operazioni relazionali: FULL-JOIN codicedescrizionecoloreCodfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 codicenominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito ARTICOLI In ACCESS non lo si può ottenere con una query semplice FORNITORI codicedescrizionecoloreCodfornitorenominativo C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone Rosso F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito ARTICOLI FULL JOIN FORNITORI FORNITORIARTICOLI Da entrambe le tabelle si prendono tutte le righe

13 codiceruolocognomenomecodprimario m1assistenteloveroannam6 m2assistentemarinivaleriam6 m3assistenteluisicarlom6 m4primariomancinibiancam7 m5primariolinuzziluigim7 m6primariomondelligiovannim7 dirigentefrancifrancesco codiceruolocognomenomecodprimariocognome primarionome primario m1assistenteloveroannam6mondelligiovanni m2assistentemarinivaleriam6mondelligiovanni m3assistenteluisicarlom6mondelligiovanni m4primariomancinibiancam7francifrancesco m5primariolinuzziluigim7francifrancesco m6primariomondelligiovannim7francifrancesco m7dirigentefrancifrancesco Operazioni relazionali: SELF-JOIN MEDICI SELECT medici.codice, medici.ruolo, medici.cognome, medici.nome, medici.codprimario, medici_1.cognome AS [cognome primario], medici_1.nome AS [nome primario] FROM medici LEFT JOIN medici AS medici_1 ON medici.codprimario = medici_1.codice; Righe di una tabella vengono combinate con righe della stessa tabella

14 NORMALIZZAZIONE civicopiano E il processo di trasformazione dei dati esistenti nella forma relazionale; tale processo si basa su diversi passaggi. una tabella non deve avere attributi che contengono una molteciplità di valori clienteordine ordine cliente piano civico abitazioniordini

15 NORMALIZZAZIONE opera artista Anno produzione La primaveraBotticelli 1477 Ladorazione dei MagiBotticelli 1476 La Vergine della melagrana Botticelli 1487 Lurlo Munch Se una tabella ha una chiave primaria composta da più attributi, allora tutti gli attributi di una riga devono dipendere dall'intera chiave primaria opera artistaAnno produzioneAnno nascita La primaveraBotticelli Ladorazione dei MagiBotticelli La Vergine della melagrana Botticelli Lurlo Munch opere artistaAnno nascita Botticelli 1445 Botticelli 1445 Botticelli 1445 Munch 1863

16 NORMALIZZAZIONE codfiliale indirizzocittà C01 Via Piave Napoli C02 Via Milano Napoli C03 Via Delfini Napoli C03 Via Bolzano Bologna In una tabella nessun attributo deve dipendere da un altro attributo che non sia chiave primaria codfiliale indirizzocittàCAPNum abitanti C01 Via Piave Napoli C02 Via Milano Napoli C03 Via Delfini Napoli C03 Via Bolzano Bologna filiali cittàCAPNum abitanti Napoli Napoli Napoli Bologna


Scaricare ppt "Istituto Tecnico Commerciale Statale G. DellOlio Bisceglie Informatica gestionale – Indirizzo Mercurio IL MODELLO RELAZIONALE."

Presentazioni simili


Annunci Google