Algebra relazionale

00:33:34
https://www.youtube.com/watch?v=iNm7xIK4GMw

Summary

TLDRIl video spiega le operazioni fondamentali dell'algebra relazionale, utilizzate per interrogare e manipolare basi di dati. Viene presentata una base di dati aziendale con tabelle riguardanti impiegati, dipartimenti e progetti. Le tre operazioni principali discusse sono la selezione, che mantiene solo alcune righe; la proiezione, che estrae solo alcune colonne; e il join, che unisce dati da più tabelle. Attraverso esempi pratici, il video illustra come combinare queste operazioni per rispondere a domande specifiche sui dati.

Takeaways

  • 📊 L'algebra relazionale è fondamentale per interrogare basi di dati.
  • 🔍 La selezione mantiene solo righe specifiche da una tabella.
  • 📋 La proiezione estrae colonne specifiche da una tabella.
  • 🔗 Il join unisce dati da più tabelle in base a condizioni.
  • 📈 Le chiavi primarie e esterne sono cruciali per il join.
  • 📝 Le operazioni possono essere combinate per rispondere a domande complesse.
  • 📅 Ogni operazione restituisce una nuova relazione.
  • 📉 La proiezione non esclude righe, ma solo colonne.
  • 🔄 Il join può generare righe duplicate se un impiegato lavora su più progetti.
  • 💡 Comprendere queste operazioni è essenziale per la gestione dei dati.

Timeline

  • 00:00:00 - 00:05:00

    Il video introduce l'algebra relazionale, spiegando la sua utilità nella manipolazione di tabelle in una base di dati aziendale. Viene presentata una base di dati ben strutturata, con tabelle relative a impiegati, dipartimenti, sedi e progetti, evidenziando l'importanza di evitare la ridondanza dei dati e di utilizzare chiavi primarie e esterne per collegare le informazioni.

  • 00:05:00 - 00:10:00

    Si discute l'operazione di proiezione, che consente di estrarre solo alcune colonne da una tabella. Viene fornito un esempio pratico in cui si desidera ottenere solo il nome, il cognome e l'indirizzo degli impiegati, escludendo altre informazioni non necessarie. La proiezione restituisce una nuova relazione con le colonne selezionate, mantenendo tutte le righe originali.

  • 00:10:00 - 00:15:00

    L'operazione di selezione viene presentata come l'opposto della proiezione, poiché mantiene tutte le colonne ma estrae solo alcune righe in base a una condizione specifica. Viene fornito un esempio in cui si desidera ottenere solo i progetti sviluppati in una sede specifica, utilizzando la condizione di selezione per filtrare i risultati.

  • 00:15:00 - 00:20:00

    Si esplora la combinazione delle operazioni di selezione e proiezione in un'unica espressione, per ottenere informazioni più specifiche. Viene illustrato come applicare prima la selezione per filtrare le righe e poi la proiezione per mantenere solo le colonne desiderate, dimostrando la flessibilità dell'algebra relazionale.

  • 00:20:00 - 00:25:00

    Il video introduce l'operazione di join, che consente di unire dati provenienti da più tabelle. Viene spiegato come il join sia spesso seguito da operazioni di selezione e proiezione per ottenere risultati significativi. Si fornisce un esempio di join tra le tabelle impiegato e lavoro, per ottenere informazioni sugli impiegati che hanno lavorato a un progetto specifico.

  • 00:25:00 - 00:33:34

    Infine, viene presentato un esempio complesso che combina tutte e tre le operazioni: join, selezione e proiezione, per rispondere a una domanda specifica sugli impiegati che hanno lavorato a un determinato progetto. Si sottolinea l'importanza di seguire l'ordine corretto delle operazioni per ottenere i risultati desiderati, evidenziando la potenza dell'algebra relazionale nella gestione dei dati.

Show more

Mind Map

Video Q&A

  • A cosa serve l'algebra relazionale?

    L'algebra relazionale serve a manipolare e interrogare basi di dati per estrarre informazioni specifiche.

  • Quali sono le tre operazioni principali dell'algebra relazionale?

    Le tre operazioni principali sono selezione, proiezione e join.

  • Cosa fa l'operazione di selezione?

    La selezione mantiene solo alcune righe di una tabella in base a criteri specifici.

  • Cosa fa l'operazione di proiezione?

    La proiezione estrae solo alcune colonne da una tabella.

  • Cosa fa l'operazione di join?

    Il join unisce dati provenienti da più tabelle in base a condizioni specifiche.

  • Come si combinano le operazioni di selezione e proiezione?

    Si può applicare prima la selezione per filtrare righe e poi la proiezione per estrarre colonne specifiche.

  • Qual è l'importanza della chiave primaria e della chiave esterna nel join?

    La chiave primaria identifica univocamente le righe in una tabella, mentre la chiave esterna stabilisce relazioni tra tabelle.

  • Come si scrive un'espressione di join?

    Un'espressione di join include i nomi delle tabelle e la condizione di join, solitamente un'uguaglianza tra colonne.

  • Cosa succede se un impiegato lavora su più progetti?

    Nel risultato del join, l'impiegato apparirà più volte, una per ogni progetto su cui ha lavorato.

  • Qual è il risultato finale di un'operazione di join?

    Il risultato è una nuova tabella che combina colonne di entrambe le tabelle coinvolte nel join.

View more video summaries

Get instant access to free YouTube video summaries powered by AI!
Subtitles
it
Auto Scroll:
  • 00:00:00
    ben ritrovati in questo video
  • 00:00:03
    vedremo le operazioni dell'algebra
  • 00:00:06
    relazionale ma vediamo innanzitutto a
  • 00:00:10
    cosa serve l'algebra relazionale
  • 00:00:14
    supponiamo di avere una base di dati di
  • 00:00:17
    questo tipo che descrive un azienda in
  • 00:00:22
    questa base di dati ci sono diverse
  • 00:00:24
    tabelle una tabella contiene vari dati
  • 00:00:28
    riguardanti i più impiegati un'altra si
  • 00:00:31
    occupa dei dipartimenti
  • 00:00:34
    poi abbiamo alcuni dati riguardanti le
  • 00:00:36
    sedi dati sui progetti e su quanto gli
  • 00:00:42
    impiegati abbiano lavorato da alcuni
  • 00:00:46
    progetti e infine le persone a carico di
  • 00:00:50
    ciascun impiegato in questa base i dati
  • 00:00:54
    e ben costruita secondo le regole che
  • 00:00:57
    derivano dalla progettazione concettuale
  • 00:00:59
    dalla proprietà zione logica quindi non
  • 00:01:02
    c'è ridondanza dei dati
  • 00:01:05
    i dati sono ripetuti solamente quando
  • 00:01:10
    necessario e come vedete ho indicato
  • 00:01:13
    alcune colonne alcune tabelle con
  • 00:01:17
    diversi colori e il significa altre
  • 00:01:20
    questo è quando c'è una linea singola
  • 00:01:24
    questo è il dato di riferimento
  • 00:01:29
    quando c'è una linea doppia questa è una
  • 00:01:31
    chiave esterna che fa riferimento al
  • 00:01:34
    dato dello stesso colore con linea
  • 00:01:36
    singola quindi abbiamo questo ssn che è
  • 00:01:41
    un codice che identifica ciascun
  • 00:01:44
    impiegato
  • 00:01:46
    se troviamo colonne con una doppia linea
  • 00:01:49
    dello stesso colore quindi rossa
  • 00:01:52
    vuol dire che in quella colonna sono
  • 00:01:53
    contenuti i dati che fanno riferimento
  • 00:01:56
    al ssn e ogni volta che troviamo una
  • 00:02:01
    doppia linea rossa
  • 00:02:02
    sappiamo che in quella colonna ci sono i
  • 00:02:06
    codici che identificano gli impiegati e
  • 00:02:09
    così via per tutti gli altri gli altri
  • 00:02:11
    colori che identificano i vari
  • 00:02:13
    collegamenti tra i dati delle tabelle
  • 00:02:17
    avendo a disposizione questa base di
  • 00:02:20
    dati
  • 00:02:20
    potremmo voler rispondere ad alcune
  • 00:02:22
    domande ad esempio quali sono gli
  • 00:02:27
    impiegati che hanno una persona a carico
  • 00:02:31
    magari ci interessa per ragioni fiscali
  • 00:02:34
    potremmo voler sapere qual è il progetto
  • 00:02:38
    a cui sono state dedicate più ore di
  • 00:02:40
    lavoro o magari vogliamo semplicemente
  • 00:02:43
    sapere in media se vengono pagati più
  • 00:02:47
    gli uomini oppure le donne per
  • 00:02:50
    rispondere a tutte queste domande
  • 00:02:52
    dobbiamo interrogare la base di dati
  • 00:02:55
    cioè dobbiamo manipolare le tabelle e i
  • 00:03:00
    dati contenuti nelle tabelle per
  • 00:03:03
    ottenere una risposta l'algebra aver
  • 00:03:07
    relazionale ci permette di manipolare
  • 00:03:10
    queste tabelle con alcune operazioni
  • 00:03:13
    sono operazioni molto formali molto
  • 00:03:20
    simili a operazioni matematiche quello
  • 00:03:25
    che vedremo noi sarà solamente la base
  • 00:03:30
    dell'algebra relazionale vedremo
  • 00:03:31
    essenzialmente tre operazioni
  • 00:03:33
    vedremo la selezione la proiezione e il
  • 00:03:36
    joint per iniziare diamo alcune
  • 00:03:41
    definizioni innanzitutto ogni tabella
  • 00:03:47
    della base di dati verrà chiamata
  • 00:03:50
    relazione per questo si chiama algebra
  • 00:03:54
    relazionale perché l'algebra delle
  • 00:03:56
    tabelle delle relazioni ogni operazione
  • 00:04:00
    della libra relazionale parte da una o
  • 00:04:05
    più relazioni da vedremo che sono lente
  • 00:04:09
    il joint prende in considerazione due
  • 00:04:12
    relazioni mentre la selezione la
  • 00:04:14
    proiezione partono sempre da una sola
  • 00:04:17
    relazione era così importante e che ci
  • 00:04:20
    permetterà poi di costruire espressioni
  • 00:04:23
    più complesse
  • 00:04:24
    e che il risultato di ogni operazione è
  • 00:04:27
    una nuova relazione
  • 00:04:32
    facciamo subito un esempio per
  • 00:04:34
    introdurre la proiezione
  • 00:04:37
    supponiamo che il dirigente di questa
  • 00:04:40
    azienda voglia inviare ad ogni impiegato
  • 00:04:44
    all'indirizzo di ogni impiegato una
  • 00:04:46
    lettera ebbene per far questo è
  • 00:04:50
    necessario conoscere alcuni dati degli
  • 00:04:52
    impiegati nel tipicamente l'indirizzo a
  • 00:04:55
    cui inviare la comunicazione
  • 00:04:57
    questi dati sono contenuti nella tabella
  • 00:04:59
    impiegato ma non ci interessano davvero
  • 00:05:02
    tutti i dati degli impiegati ad esempio
  • 00:05:05
    non importa assolutamente la loro data
  • 00:05:07
    di nascita o il loro stipendio
  • 00:05:10
    quindi quello che vorremmo fare è
  • 00:05:12
    estrarre da questa tabella solamente i
  • 00:05:17
    dati che ci servono
  • 00:05:19
    in questo caso solo le colonne che
  • 00:05:21
    contengono i dati che ci servono
  • 00:05:23
    la proiezione fa proprio questo
  • 00:05:26
    parte da una relazione e restituisce
  • 00:05:31
    come risultato
  • 00:05:33
    un'altra relazione selezionando solo
  • 00:05:37
    alcune colonne le colonne che indichiamo
  • 00:05:42
    noi quindi poniamo che da questa
  • 00:05:46
    relazione impiegato noi vogliamo
  • 00:05:48
    estrarre solamente le colonne de il nome
  • 00:05:51
    di battesimo del cognome e
  • 00:05:54
    dell'indirizzo
  • 00:05:59
    in altre parole potremmo esprimere la
  • 00:06:03
    nostra richiesta
  • 00:06:04
    con questa frase trovare il nome il
  • 00:06:06
    cognome ed indirizzo degli impiegati
  • 00:06:11
    vediamo come scrivere l'espressione
  • 00:06:14
    dell'algebra relazionale con
  • 00:06:16
    l'operazione della proiezione che ci
  • 00:06:19
    permette di risolvere questa richiesta
  • 00:06:23
    innanzitutto la proiezione si indica con
  • 00:06:25
    la lettera p greco dopo di che lascio un
  • 00:06:31
    pochino di spazio perché il ragionamento
  • 00:06:34
    che voglio fare questo
  • 00:06:36
    mi interessa subito indicare a quale
  • 00:06:41
    relazione applico questa operazione
  • 00:06:44
    applico questa operazione alla relazione
  • 00:06:47
    impiegato e ciò che manca è indicare
  • 00:06:55
    quali sono le colonne che voglio
  • 00:06:57
    mantenere quali sono le colonne che
  • 00:07:00
    devono formare il risultato la relazione
  • 00:07:02
    che risulta da questa espressione molto
  • 00:07:08
    semplicemente qui così indichiamo
  • 00:07:13
    esattamente i nomi delle colonne in cui
  • 00:07:17
    sono contenuti i nomi i cognomi
  • 00:07:19
    indirizzi degli impiegati che erano
  • 00:07:22
    quindi nomi bat cognome e indirizzo
  • 00:07:27
    separiamo ciascuna colonna con una
  • 00:07:30
    virgola e abbiamo terminato questa è
  • 00:07:34
    l'operazione della proiezione applicata
  • 00:07:37
    sulla relazione impiegato in cui
  • 00:07:40
    estraiamo solo tre colonne dalla tabella
  • 00:07:46
    ora l'operazione che abbiamo appena
  • 00:07:48
    scritto è la soluzione nel linguaggio
  • 00:07:52
    della lebbra relazionale per risolvere
  • 00:07:56
    la nostra richiesta
  • 00:07:57
    tuttavia come abbiamo detto prima
  • 00:07:59
    dobbiamo ricordarci che ogni operazione
  • 00:08:03
    dell'algebra relazionale restituisce
  • 00:08:06
    come risultato una nuova relazione
  • 00:08:09
    quindi praticamente il risultato di
  • 00:08:12
    questa operazione è una nuova relazione
  • 00:08:15
    una nuova tabella e questa tabella è
  • 00:08:18
    formata solamente dalle colonne del nome
  • 00:08:22
    del cognome dell'indirizzo ma mantiene
  • 00:08:27
    tutte le righe della tabella di partenza
  • 00:08:31
    quindi questa operazione la proiezione
  • 00:08:34
    ci permette di estrarre alcune colonne
  • 00:08:37
    che ci interessano
  • 00:08:39
    mantenendo però tutte le righe della
  • 00:08:42
    tabella quindi abbiamo mantenuto i dati
  • 00:08:45
    dei
  • 00:08:47
    tutti impiegati ma estraendo solo quelli
  • 00:08:52
    che ci interessavano non abbiamo escluso
  • 00:08:55
    nessun impiegato ma abbiamo ottenuto
  • 00:08:58
    solo i dati interessanti
  • 00:09:03
    la selezione è invece un'operazione un
  • 00:09:09
    po opposta alla proiezione perché la
  • 00:09:12
    selezione ci permette a partire da una
  • 00:09:16
    relazione di mantenere tutte le colonne
  • 00:09:19
    di questa relazione
  • 00:09:22
    ma di estrarre solo alcune righe ad
  • 00:09:27
    esempio
  • 00:09:28
    poniamo che tra tutti i progetti
  • 00:09:31
    noi vogliamo avere i dati solo di quei
  • 00:09:37
    progetti che sono stati sviluppati nella
  • 00:09:39
    sede di huston quindi a partire dalla
  • 00:09:42
    tabella progetto
  • 00:09:44
    noi non vogliamo veri dati di tutti
  • 00:09:46
    questi progetti ma solamente di quelli
  • 00:09:49
    sviluppati nella sede di huston quindi
  • 00:09:52
    il progetto numero 3 e il progetto
  • 00:09:55
    numero 20
  • 00:09:58
    a questo serve la selezione la nostra
  • 00:10:03
    richiesta quindi è quella di trovare i
  • 00:10:05
    progetti sviluppati nella sede di hughes
  • 00:10:08
    a questo proposito dobbiamo utilizzare
  • 00:10:12
    come abbiamo detto la selezione che
  • 00:10:15
    viene indicata con la lettera greca
  • 00:10:17
    sigma minuscola come prima lascio un
  • 00:10:23
    pochino di spazio e dopo vedremo la
  • 00:10:28
    condizione di selezione che dobbiamo
  • 00:10:30
    scrivere ma penso sia
  • 00:10:33
    molto più semplice scrivere innanzitutto
  • 00:10:36
    la relazione su cui applichiamo la
  • 00:10:41
    selezione quindi dobbiamo scrivere
  • 00:10:44
    semplicemente il nome d'arte bella nello
  • 00:10:53
    spazio lasciato dobbiamo invece indicare
  • 00:10:56
    la condizione di selezione
  • 00:10:59
    torniamo quindi un attimo la base di
  • 00:11:00
    dati la condizione di selezione si
  • 00:11:05
    esprime scrivendo il nome della colonna
  • 00:11:08
    che contiene i dati che ci permettono di
  • 00:11:15
    trovare le righe che ci interessano ad
  • 00:11:19
    esempio noi volevamo trovare i progetti
  • 00:11:23
    che venivano sviluppati solo nella sede
  • 00:11:26
    di huston quindi naturalmente quello che
  • 00:11:31
    faremo noi è andare a consultare la
  • 00:11:33
    colonna sede p e mantenere solo quelle
  • 00:11:39
    righe in cui il valore di questa colonna
  • 00:11:43
    e huston la condizione di selezione
  • 00:11:48
    quindi si scrive molto semplicemente
  • 00:11:50
    scrivendo sede p quale houston
  • 00:11:54
    il significato è la cella della colonna
  • 00:12:00
    sede p deve contenere il valore giusto
  • 00:12:04
    se questo è vero allora la riga viene
  • 00:12:08
    mantenuta nel risultato dell'operazione
  • 00:12:11
    altrimenti in tutti gli altri casi ad
  • 00:12:13
    esempio se il valore di questa cella e
  • 00:12:16
    belair sugarland
  • 00:12:18
    stafford nel caso in cui non sia huston
  • 00:12:21
    l'intera lega viene scartata quindi la
  • 00:12:27
    condizione di selezione sdp dei houston
  • 00:12:30
    e abbiamo terminato di scrivere
  • 00:12:35
    l'operazione di selezione e quindi
  • 00:12:37
    l'intera espressione
  • 00:12:42
    questo è il risultato pratico la
  • 00:12:46
    relazione risultante dall'operazione di
  • 00:12:49
    selezione come vedete vengono mantenute
  • 00:12:52
    tutte le colonne della relazione
  • 00:12:56
    progetto ma vengono selezionati solo
  • 00:13:00
    alcune righe quelle in cui il valore
  • 00:13:03
    disse de pin e huston prima di passare
  • 00:13:10
    al join l'operazione che ci permetterà
  • 00:13:14
    di unire i dati di più tabelle vediamo
  • 00:13:18
    come possiamo combinare le due
  • 00:13:19
    operazioni appena viste la proiezione e
  • 00:13:21
    la selezione in un'unica espressione ad
  • 00:13:26
    esempio per mantenere una delle
  • 00:13:29
    richieste che abbiamo appena visto
  • 00:13:36
    vorremmo poter trovare i progetti che
  • 00:13:41
    vengono sviluppati nella sede di huston
  • 00:13:43
    ma di questi progetti vorranno mantenere
  • 00:13:46
    solamente il nome e il numero del
  • 00:13:51
    dipartimento in cui vengono sviluppati
  • 00:13:55
    quindi non ci interessa la colonna che
  • 00:13:57
    riguarda la sede
  • 00:13:59
    sappiamo già che il suo valore sull
  • 00:14:00
    aiuto e non ci interessa nemmeno il
  • 00:14:02
    numero del progetto che è un dato utile
  • 00:14:05
    solamente per l'indicizzazione dei
  • 00:14:08
    progetti una richiesta è quindi quella
  • 00:14:12
    di trovare il nome dei progetti il
  • 00:14:14
    numero di dipartimento di tutti quei
  • 00:14:17
    progetti sviluppati nella sede di huston
  • 00:14:19
    per fare questo vediamo adesso come
  • 00:14:21
    combinare le operazioni di selezione
  • 00:14:24
    proiezione quindi poniamo di partire
  • 00:14:32
    dall'operazione di proiezione
  • 00:14:37
    indichiamo conti recco
  • 00:14:40
    vogliamo mantenere solo il nome dei
  • 00:14:43
    progetti quindi la colonna nome e il
  • 00:14:49
    numero dei dipartimenti che è la colonna
  • 00:14:51
    nudi ora se dovessimo usare solamente
  • 00:14:56
    l'operazione di proiezione qui così
  • 00:14:58
    scriveremmo la relazione su cui
  • 00:15:02
    applichiamo questa operazione
  • 00:15:06
    tuttavia visto che dobbiamo applicare
  • 00:15:10
    anche un'altra operazione scriviamo in
  • 00:15:15
    questo modo selezione in cui sede p sede
  • 00:15:24
    del progetto e huston e solo qui
  • 00:15:29
    indichiamo la relazione su e applichiamo
  • 00:15:33
    le operazioni
  • 00:15:37
    questo è corretto perché dobbiamo sempre
  • 00:15:42
    ricordarci che il risultato di
  • 00:15:45
    un'operazione è una relazione proviamo a
  • 00:15:49
    leggere questa espressione a partire da
  • 00:15:53
    l'operazione più interna cioè la
  • 00:15:55
    selezione a partire dalla tabella
  • 00:15:58
    progetto selezioniamo solo quelle righe
  • 00:16:00
    per cui il valore della colonna sede pie
  • 00:16:02
    huston
  • 00:16:04
    quindi stiamo semplicemente partendo
  • 00:16:07
    dalla tabella vista durante la selezione
  • 00:16:12
    di questa tabella poi non manteniamo
  • 00:16:15
    tutte le colonne ma manteniamo solo le
  • 00:16:19
    colonie del nome e del numero
  • 00:16:21
    dipartimento il risultato sarà quindi
  • 00:16:25
    questa relazione
  • 00:16:28
    abbiamo le stesse righe che venivano
  • 00:16:32
    mantenute dalla selezione ma ora abbiamo
  • 00:16:34
    meno colonne perché la proiezione ha
  • 00:16:39
    mantenuto solo le colonne indicate
  • 00:16:43
    quindi ogni volta che vogliamo
  • 00:16:44
    [Musica]
  • 00:16:46
    applicare più operazioni quindi ridurre
  • 00:16:49
    sia il numero delle colonne sia il
  • 00:16:50
    numero delle righe di una tabella
  • 00:16:53
    dobbiamo scrivere una cosa del genere
  • 00:16:56
    con catenarie le operazioni in questo
  • 00:17:01
    modo
  • 00:17:05
    vediamo ora il joint in questa
  • 00:17:07
    operazione come abbiamo detto serve per
  • 00:17:10
    unire i dati di più da pelle
  • 00:17:13
    ad esempio se volessimo rispondere alla
  • 00:17:15
    richiesta quali impiegati hanno lavorato
  • 00:17:18
    al progetto numero uno e se di questi
  • 00:17:26
    impiegati volessimo conoscere il nome e
  • 00:17:28
    il cognome e dovremo utilizzare i dati
  • 00:17:31
    della tabella impiegato che conte che
  • 00:17:33
    contiene il nome il cognome degli anni
  • 00:17:35
    di questi impiegati e la tabella lavora
  • 00:17:38
    su che associa ad un impiegato il
  • 00:17:42
    progetto i progetti a cui ha lavorato in
  • 00:17:46
    realtà forse la richiesta sarebbe più
  • 00:17:48
    naturale se fosse espressa come quali
  • 00:17:51
    impiegati hanno lavorato al progetto
  • 00:17:53
    prodotto hicks visto che di solito si
  • 00:17:57
    usano i nomi rispetto gli indici
  • 00:18:00
    tuttavia per adesso limitiamoci a questo
  • 00:18:04
    per semplificare il giovane che vogliamo
  • 00:18:07
    fare quindi per adesso
  • 00:18:11
    limitiamoci a fare il joint della
  • 00:18:14
    tabella impiegato con la tabella lavoro
  • 00:18:17
    show
  • 00:18:20
    l'operazione di joint difficilmente fine
  • 00:18:24
    a se stessa si esegue il joint per poi
  • 00:18:27
    eseguire selezione e proiezione per cui
  • 00:18:30
    adesso che vediamo
  • 00:18:32
    il joint singolarmente la richiesta
  • 00:18:36
    possiamo esprimerla in questo modo
  • 00:18:39
    eseguire il joint tra il tabelle
  • 00:18:41
    impiegato e le la tabella alla base il
  • 00:18:45
    john si esprime in maniera tutto sommato
  • 00:18:48
    semplice perché bisogna scrivere i nomi
  • 00:18:54
    di v delle relazioni impiegato da una
  • 00:18:59
    parte e lavora su dall'altra il simbolo
  • 00:19:07
    del joint e questo ho lasciato dello
  • 00:19:13
    spazio perché qui va scritta la
  • 00:19:14
    condizione di joint la condizione di
  • 00:19:19
    joint è espressa solitamente
  • 00:19:23
    dall'uguaglianza di due colonne
  • 00:19:28
    in questo caso per sapere ad esempio a
  • 00:19:33
    quali progetti all'abate john's smith
  • 00:19:35
    come possiamo fare
  • 00:19:37
    sappiamo che questo codice rappresenta
  • 00:19:39
    un impiegato e qui troviamo i codici di
  • 00:19:42
    impiegati
  • 00:19:44
    quindi basta vedere qual è il codice di
  • 00:19:45
    john smith 123456789 cercare questo
  • 00:19:51
    codice in questa tabella e troviamo le
  • 00:19:54
    prime due righe e quindi sappiamo che
  • 00:19:57
    jones unità lavorato al progetto numero
  • 00:19:58
    uno per 32 ore e mezzo al progetto
  • 00:20:01
    numero due
  • 00:20:01
    tra sette ore e mezzo quindi questo
  • 00:20:04
    ragionamento che abbiamo fatto adesso a
  • 00:20:06
    parole viene espresso dal joint dicendo
  • 00:20:12
    che se vogliamo unire queste due tabelle
  • 00:20:14
    dobbiamo far sì che la colonna ssn sia
  • 00:20:19
    uguale alla colonna ssn i o meglio
  • 00:20:25
    uniamo le righe di queste due tabelle
  • 00:20:28
    solo quando il valore contenuto nella
  • 00:20:33
    colonna ssn è uguale al valore contenuto
  • 00:20:36
    nella colonna ssn cioè sappiamo
  • 00:20:40
    benissimo che ad esempio la terza riga
  • 00:20:41
    di questa tabella
  • 00:20:43
    non coinvolge john smith perché nella
  • 00:20:48
    colonna ssn non è riportato il suo
  • 00:20:52
    codice la condizione di joint diventa
  • 00:20:59
    quindi ssn che è la colonna di impiegato
  • 00:21:06
    uguale a ssn che la colonna di lavora su
  • 00:21:13
    ssn la chiave primaria di impiegato ssn
  • 00:21:17
    e chiave esterna contenuta nella tabella
  • 00:21:20
    lavoro su riferita alla chiave primaria
  • 00:21:25
    di impiegato quindi tutti i giorni si
  • 00:21:28
    eseguiranno in questo modo ci deve
  • 00:21:30
    essere un l'uguaglianza tra una chiave
  • 00:21:34
    esterna in una chiave primaria di solito
  • 00:21:37
    ci potrebbero essere dei casi in cui si
  • 00:21:40
    fanno uguaglianze tra chiavi esterne
  • 00:21:44
    se le basi dei dati sono abbastanza
  • 00:21:47
    grandi
  • 00:21:49
    tuttavia dobbiamo uguagliare 22 colonne
  • 00:21:53
    che contengono gli stessi dati
  • 00:21:57
    questo è il risultato dell'operazione di
  • 00:22:00
    joint non lo indicato in maniera
  • 00:22:03
    completa perché i dati sono davvero
  • 00:22:06
    molti ma ho indicato quelli fondamentali
  • 00:22:08
    innanzitutto da una parte abbiamo tutte
  • 00:22:14
    le colonne della tabella impiegato
  • 00:22:19
    io ho indicato solo le ssn in maniera
  • 00:22:21
    esplicita
  • 00:22:22
    dall'altra parte abbiamo tutte le
  • 00:22:24
    colonne della tabella lavora su in
  • 00:22:28
    questo caso indicato in maniera
  • 00:22:29
    esplicita solo il codice degli impiegati
  • 00:22:31
    e il nome il numero dei progetti
  • 00:22:37
    quindi abbiamo le colonne di tutte le
  • 00:22:39
    due tabelle riunite in un'unica grande
  • 00:22:42
    tabella come vengono accoppiate le righe
  • 00:22:46
    secondo la condizione di joint come
  • 00:22:50
    vedete il codice 123456789 che era
  • 00:22:56
    quello di john è rappresentato nella
  • 00:22:59
    prima riga e il proseguimento della
  • 00:23:01
    prima riga per quanto riguarda i dati
  • 00:23:03
    della tabella lavora su contengono
  • 00:23:06
    devono contenere solo quelle righe della
  • 00:23:10
    tabella lavora su in cui compariva il
  • 00:23:12
    codice di john quindi in questa tabella
  • 00:23:18
    di joint compaiono due righe riferite a
  • 00:23:24
    john la prima riga perché ha lavorato
  • 00:23:26
    sul progetto numero uno la seconda riga
  • 00:23:29
    perché ha lavorato sul progetto numero
  • 00:23:32
    due
  • 00:23:32
    quindi possono comparire dei doppioni di
  • 00:23:39
    righe perché ci possono essere più
  • 00:23:42
    abbinamenti se lo stesso impiegato può
  • 00:23:45
    aver lavorato su più progetti dalla
  • 00:23:48
    parte della tabella impiegato ci
  • 00:23:51
    potranno essere dei valori identici ma
  • 00:23:54
    perché
  • 00:23:56
    dobbiamo immaginare che la riga della
  • 00:23:59
    tabella continua su comprendendo i dati
  • 00:24:04
    di entrambe le tabelle e un impiegato
  • 00:24:07
    può essere associato a più progetti in
  • 00:24:11
    progetti a cui ha lavorato quindi il
  • 00:24:15
    risultato dell'operazione di joint è una
  • 00:24:18
    grande tabella che comprende tutte le
  • 00:24:20
    colonne delle due tabelle e
  • 00:24:23
    l'accoppiamento delle righe viene fatto
  • 00:24:25
    seguendo la condizione di giugno da
  • 00:24:29
    ultimo vediamo di rispondere a un
  • 00:24:32
    quesito che ci richiede di utilizzare
  • 00:24:36
    tutte e tre le operazioni che abbiamo
  • 00:24:38
    visto ad esempio potremmo voler
  • 00:24:42
    rispondere a questa domanda chi sono gli
  • 00:24:47
    impiegati di cui vogliamo sapere solo il
  • 00:24:50
    nome il cognome che hanno lavorato al
  • 00:24:53
    progetto numero uno a questa domanda
  • 00:25:02
    dobbiamo rispondere facendo ricorso al
  • 00:25:05
    jogging
  • 00:25:06
    perché il nome e il cognome degli
  • 00:25:08
    impiegati si trovano nella tabella
  • 00:25:10
    impiegato mentre come abbiamo visto il
  • 00:25:16
    riferimento al numero del progetto e
  • 00:25:18
    all'impiegato che ci ha lavorato sono
  • 00:25:21
    contenute nella tabella lavora su poi
  • 00:25:24
    dobbiamo far ricorso alla proiezione
  • 00:25:27
    perché nella tabella che non vogliamo
  • 00:25:30
    ottenere
  • 00:25:31
    vogliamo avere solamente il nome e il
  • 00:25:33
    cognome degli impiegati
  • 00:25:35
    quindi non tutte le colonne di impiegato
  • 00:25:37
    nei tutte le colonne anzi nessuna delle
  • 00:25:40
    colonne di lavora su e dobbiamo
  • 00:25:43
    applicare la selezione perché non
  • 00:25:46
    vogliamo mantenere tutte le righe cioè
  • 00:25:49
    tutti gli impiegati tutti i nomi cognomi
  • 00:25:52
    degli impiegati ma vogliamo mantenere
  • 00:25:55
    solo i nomi e cognomi di quelli che
  • 00:25:57
    verranno accoppiati dal joint al numero
  • 00:26:01
    del progetto 1
  • 00:26:05
    la richiesta può essere espresso in
  • 00:26:07
    termini tutto sommato semplici quindi
  • 00:26:10
    trovare nome e cognome degli impiegati
  • 00:26:12
    che hanno lavorato al progetto 1 visto
  • 00:26:17
    che però questa richiesta comporta
  • 00:26:23
    l'utilizzo di tutte e tre le operazioni
  • 00:26:26
    per rispondere dovremmo ragionare un
  • 00:26:29
    attimo con calma e possiamo partire
  • 00:26:32
    dall'operazione che ci viene più comoda
  • 00:26:35
    io partirei direttamente dal jogging
  • 00:26:39
    dobbiamo ricordarci una cosa importante
  • 00:26:42
    però se utilizziamo in un'espressione il
  • 00:26:46
    joint il gioco in dell'essere
  • 00:26:50
    l'operazione più interna cioè quella
  • 00:26:52
    scritta più a destra
  • 00:26:54
    ora io non penso di riuscire a scrivere
  • 00:26:56
    in un'unica riga la soluzione a questa
  • 00:27:01
    domanda quindi magari il joint lo
  • 00:27:03
    scriverò in cui così è il giovane
  • 00:27:09
    esattamente quello che abbiamo visto
  • 00:27:14
    prima
  • 00:27:15
    abbiamo già fatto il gioco entro la
  • 00:27:16
    travel tra la tabella impiegate latrobe
  • 00:27:18
    e la tabella lavora su quindi ssm uguale
  • 00:27:23
    ssn
  • 00:27:28
    e poi la tabella lavora su
  • 00:27:34
    e il risultato di questo giovane è una
  • 00:27:37
    grande tabella che contiene le colonne
  • 00:27:39
    di impiegate di lavoro su a questa
  • 00:27:43
    tabella a questa relazione e vorremmo
  • 00:27:47
    magari applicare una selezione la
  • 00:27:50
    selezione sigma minuscolo deve contenere
  • 00:27:58
    una condizione e la condizione è quella
  • 00:28:00
    che il numero dei progetti indicata
  • 00:28:04
    nella colonna np sia uguale a 1 e la
  • 00:28:09
    proiezione poi ci aiuta a mantenere nel
  • 00:28:14
    risultato solo le colonne richieste
  • 00:28:17
    quindi la colonna del nome e la colonna
  • 00:28:24
    del cognome
  • 00:28:27
    ora proverò a scrivere tutta questa
  • 00:28:32
    espressione in un'unica rica ecco
  • 00:28:37
    l'espressione che contiene le tre
  • 00:28:41
    operazioni ora perché ho detto che il
  • 00:28:44
    joint dev'essere l'operazione più
  • 00:28:46
    interno quindi deve essere scritta nella
  • 00:28:49
    parentesi più interna più a destra
  • 00:28:51
    perché dobbiamo sempre immaginare che il
  • 00:28:54
    risultato delle operazioni è una
  • 00:28:56
    relazione una taverna noi non possiamo
  • 00:29:03
    ad esempio applicare la selezione n più
  • 00:29:07
    uguale ubu se non esiste una colonna che
  • 00:29:11
    si chiama np non possiamo applicare la
  • 00:29:15
    proiezione di nome bat e cognome
  • 00:29:18
    se non esistono nella relazione tra cui
  • 00:29:23
    applichiamo questa proiezione queste
  • 00:29:26
    colonne quindi innanzitutto bisogna fare
  • 00:29:29
    il joint quindi vogliamo avere a
  • 00:29:34
    disposizione tutte le colonne di
  • 00:29:36
    impiegate tutte le colonne di lavora su
  • 00:29:38
    solo a questo punto noi possiamo fare
  • 00:29:42
    una selezione o una proiezione
  • 00:29:45
    sarebbe anche meglio quindi lasciare la
  • 00:29:50
    proiezione come operazione più esterna
  • 00:29:55
    perché se noi mettessimo la proiezione
  • 00:29:59
    ad esempio al secondo posto al posto
  • 00:30:02
    della selezione noi innanzitutto faremmo
  • 00:30:08
    il joint delle due tabelle
  • 00:30:11
    poi però estrarremo subito due colonne
  • 00:30:15
    quindi avremo come risultato le colonne
  • 00:30:18
    del nome del cognome
  • 00:30:20
    a quel punto però risulterebbe strano
  • 00:30:25
    fare una selezione su una colonna che
  • 00:30:28
    non esiste
  • 00:30:32
    sebbene questo ragionamento abbiano
  • 00:30:35
    valenza specialmente in casi pratici
  • 00:30:38
    sarebbe meglio che anche noi lo
  • 00:30:40
    seguissimo quindi lasceremmo gli o in
  • 00:30:44
    come operazione più interna la selezione
  • 00:30:46
    come seconda operazione è la proiezione
  • 00:30:49
    come operazione più esterno quale sarà
  • 00:30:54
    il risultato dell espressione che
  • 00:30:57
    abbiamo appena scritto e possiamo
  • 00:30:59
    provare a vedere al progetto numero uno
  • 00:31:04
    lavora il nostro caro john di poi il
  • 00:31:07
    lavoro anche l'impiegato il cui ssn
  • 00:31:13
    questo joyce english quindi il risultato
  • 00:31:22
    sarà una tabella formata da solo due
  • 00:31:25
    colonne
  • 00:31:26
    il nome e cognome che contiene i dati di
  • 00:31:29
    john e di jobs
  • 00:31:31
    ecco qui il risultato quindi nonostante
  • 00:31:36
    l'espressione possa essere complicata e
  • 00:31:42
    posso includere tutte e tre le
  • 00:31:43
    operazioni che abbiamo visto il
  • 00:31:45
    risultato in realtà può essere anche
  • 00:31:48
    molto semplice e spesso dipende da quali
  • 00:31:52
    colonne vengono selezionate oppure da
  • 00:31:55
    con le righe vengono mantenute anche se
  • 00:32:00
    nell'espressione può capitarmi joint che
  • 00:32:03
    di per sé unisce le colonne di più
  • 00:32:05
    tabelle
  • 00:32:08
    il risultato tuttavia dipende da tutte
  • 00:32:13
    le operazioni che compaiono nell
  • 00:32:14
    espressione da riassumere in questo
  • 00:32:18
    video abbiamo visto come è possibile
  • 00:32:20
    partire da una base di dati e estrarre e
  • 00:32:25
    da questa base di dati e dalle sue
  • 00:32:27
    tabelle o correlazioni solo le
  • 00:32:30
    informazioni importanti e grazie a tre
  • 00:32:34
    operazioni dell'algebra relazionale cioè
  • 00:32:36
    la selezione che a partire da una
  • 00:32:39
    tabella mantiene solo alcune righe la
  • 00:32:42
    proiezione che mantiene invece solo
  • 00:32:45
    alcune colonne e il joint che di per sé
  • 00:32:48
    cioè impiegato da solo non è utile ma
  • 00:32:52
    serve per applicare selezione e
  • 00:32:55
    proiezione tabelle diverse unendo
  • 00:33:02
    tabelle diverse come abbiamo appena
  • 00:33:05
    visto
  • 00:33:06
    se vogliamo fare la selezione sui dati
  • 00:33:10
    di una tabella ma proiettare invece le
  • 00:33:14
    colonne di una tabella diversa allora
  • 00:33:18
    dobbiamo avere un modo per far per
  • 00:33:21
    combinare i dati e le righe di queste
  • 00:33:25
    tabelle attraverso i giochi bene per
  • 00:33:30
    oggi è tutto
  • 00:33:31
    alla prossima
Tags
  • algebra relazionale
  • selezione
  • proiezione
  • join
  • basi di dati
  • tabelle
  • impiegati
  • progetti
  • operazioni
  • manipolazione dati