Problemi algebra relazionale

di il
45 risposte

Problemi algebra relazionale

Ciao a tutti, leggndo un po sul forum ho nottato che non sono io l'unico ad avere problemi nella compressione dell'argomento.

Ho capito cosa e come si usano le varie cose ma sto avendo probemi nella logica.

Faccio un esempio: ho questo schema: 

Film(CodiceFilm, Titolo, Regista, Anno, CostoNoleggio) 
Artisti(CodiceAttore,Cognome, Nome, Sesso, DataNascita, Nazionalità) 
Interpretazioni(CodiceFilm,CodiceAttore, Personaggio)

I punti sono: 

  1. i titoli dei film nei quali Henry Fonda sia stato interprete;  qui devo selezionare gli artisti che hanno quel nome (?)

45 Risposte

  • Re: Problemi algebra relazionale

    SE la richiesta e' 

    titoli dei film …

    PERCHE' devi selezionare gli artistiche hanno quel nome?

    1. NON CI SONO TANTI artisti con quel nome, C'E' SOLO UN artista con quel nome ;-)
    2. la selezione NON E' di quelle ‘banalotte’ ma richiede di comporre DIVERSE selezioni in modo opportuno e che vanno OPPORTUNAMENTE combinate

    .

    SENZA conoscere l'algebra relazionale, fare la query risulterebbe decisamente ‘oscuro’.

    AVENDO STUDIATO, la soluzione e' banalissima.

    Ma tanto per non essere troppo ‘oscuro’: si chiame JOIN, l'operazione che ti serve.

    Sia chiaro: NON DEVI studiare 1200 pagine di testo. 
    Saranno si e no un paio di paginette.

  • Re: Problemi algebra relazionale

    Allora conosco le proprietà di ogni "funzione". So che il join si usa per rendere unica la tabella (non è proprio così ma non mi venivano altri termini). Detto ciò sono proprio gli step che mi sono ancora ignoti

  • Re: Problemi algebra relazionale

    Diciamo che ‘no’, non conosci le proprietà di ogni ‘funzione’, visto che NON E' la JOIN che serve per rendere ‘unica' una tabella (sempre, se Interpretiiamo ENTRAMBI il termine ‘unico’ nello stesso modo, ma non e' detto)

    MA…. rullo di tamburi…. 

    SELECT DISTINCT…

    Va, da sé che le cose, per impararle, bisogna STUDIARLE. 

  • Re: Problemi algebra relazionale

    Scusa ma in algebra relazionale è no in sql… 

    Con la join (in base alla join) io creo una tabella dove in base al join utilizzato, viene creata la tabella  per esempio con il join, theta join  ecc

  • Re: Problemi algebra relazionale

    C'e' un mapping 1:1 tra algebra relazionale e SQL. 

    E visto che specifichi ‘algebra relazionale e non SQL’ allora devi parlare di RELAZIONI E NON di tabelle ;-) 

    Devi stare attento a queste sottigliezze ;-) 

    E' solo una questione di formalism, NON di concetto.

    Con la JOIN 

    NON CREI una tabella ma una relazione che e' “composizione” di due o piu' relazioni secondo una regola di “composizione”. Il JOIN classico e' un EQUIJOIN, cioe' un JOIN basato sull'equaglianza dei valori negli attributi selezionati. MA esistono diversi modi di di per fare la composizione. 

  • Re: Problemi algebra relazionale

    Si, su quello hai ragione. 

    Ecco xk ti ho detto, conosco questi ingredienti ma non riesco a fare una semplice espressione… PiuPiù che altro non riesco a navigare nelle tabelle… e a  pensare che quella la è la più semplice 

  • Re: Problemi algebra relazionale

    Up

  • Re: Problemi algebra relazionale

    27/10/2024 - palladino.al ha scritto:


    Film(CodiceFilm, Titolo, Regista, Anno, CostoNoleggio) 
    Artisti(CodiceAttore,Cognome, Nome, Sesso, DataNascita, Nazionalità) 
    Interpretazioni(CodiceFilm,CodiceAttore, Personaggio)

    Hai creato le relazioni:
    Film.CodiceFilm uno-a-molti Interpretazioni.CodiceFilm
    Artisti.CodiceArtista uno-a-molti Interpretazioni.CodiceAttore ?

    Hai messo un campo Film.Regista…non sarebbe sbagliato, ma meglio sarebbe scrivere il Regista nella tabella Ruoli (ex Interpretazioni) con i campi…considera che ci sono (sia pur raramente) film con più registi.
    IDRuolo
    CodiceArtista
    Ruolo (qui nel caso di “regia” scrivi “regia”, in caso di personaggio scrivi il personaggio.

    Fin qui si parla di “progettazione database”, argomento coerente con la sezione del forum. Dopo di che..quale sarebbe il problema relativo a Henry Fonda? In quest'ultimo caso consiglio di aprire una nuova discussione nella relativa sezione dell'applicazione relativa (immagino Access).

  • Re: Problemi algebra relazionale

    30/10/2024 - OsvaldoLaviosa ha scritto:


    27/10/2024 - palladino.al ha scritto:


    Film(CodiceFilm, Titolo, Regista, Anno, CostoNoleggio) 
    Artisti(CodiceAttore,Cognome, Nome, Sesso, DataNascita, Nazionalità) 
    Interpretazioni(CodiceFilm,CodiceAttore, Personaggio)

    Hai creato le relazioni:
    Film.CodiceFilm uno-a-molti Interpretazioni.CodiceFilm
    Artisti.CodiceArtista uno-a-molti Interpretazioni.CodiceAttore ?

    Hai messo un campo Film.Regista…non sarebbe sbagliato, ma meglio sarebbe scrivere il Regista nella tabella Ruoli (ex Interpretazioni) con i campi…considera che ci sono (sia pur raramente) film con più registi.
    IDRuolo
    CodiceArtista
    Ruolo (qui nel caso di “regia” scrivi “regia”, in caso di personaggio scrivi il personaggio.

    Fin qui si parla di “progettazione database”, argomento coerente con la sezione del forum. Dopo di che..quale sarebbe il problema relativo a Henry Fonda? In quest'ultimo caso consiglio di aprire una nuova discussione nella relativa sezione dell'applicazione relativa (immagino Access).

    Ma non è una query di sql ma di algebra relazionale

  • Re: Problemi algebra relazionale

    @palladino, lo so che non ci credi, ma algebra relazionale e SQL, 

    SONO (quasi) LA STESSA COSA. 

    ‘quasi’ perche' l'SQL fa qualcosa di PIU', NON di diverso, DI PIU'.

    Se uno senza il braccio destro ti tira un ‘ceffone’, tu ricevi ‘un ceffone’. Se te lo tira uno con entrambe le braccia, tu comunque ricevi un 'ceffone', l'unica differenza e' che quello con entrambe le braccia puo' fare DI PIU'! 

    Lo so, e' un esempio super-scemo ;-) 

  • Re: Problemi algebra relazionale

    E come faccio tradurre da sql in algebra relazionale? 

  • Re: Problemi algebra relazionale

    Che applicazione stai usando per il tuo database?

  • Re: Problemi algebra relazionale

    31/10/2024 - OsvaldoLaviosa ha scritto:


    Che applicazione stai usando per il tuo database?

    per ora niente perché siamo facendo teoria.

    Ho trovato un tool che online mi fa da calcolatore di algebra relazionale

  • Re: Problemi algebra relazionale

    Sono corrette queste traduzioni? 

    R1(A1,A2) R2(A3,A4) ? 

    SELECT R1.A1, R2.A4 FROM R1, R2 WHERE R1.A2 = R2.A3

    PROJ A1,A4 (SELA2=A3 (R1 JOIN R2))

Devi accedere o registrarti per scrivere nel forum
45 risposte