Algebra relazionale

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

摘要

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.

心得

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

时间轴

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

显示更多

思维导图

视频问答

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

查看更多视频摘要

即时访问由人工智能支持的免费 YouTube 视频摘要!
字幕
it
自动滚动:
  • 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
标签
  • algebra relazionale
  • selezione
  • proiezione
  • join
  • basi di dati
  • tabelle
  • impiegati
  • progetti
  • operazioni
  • manipolazione dati