Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    sql e algebra relazionale

    Buonasera,
    ho un problema con una query (mysql) e modello in algebra relazionale.
    CONDUTTORE (CF, nome,cittaNascita)
    TRASMISSIONE (CODICE, fasciaoraria, canale)
    CONDUCE ( CONDUTTORE, TRASMISSIONE, compenso, spese)

    CF, CODICE, CONDUTTORE & TRASMISSIONE sono le chiavi.

    la query è la seguente:
    Restituire l'elenco dei conduttori che hanno contribuito ad ogni canale con almeno una trasmissione.

    Detto in altra forma:
    restituire i conduttori che per ogni canale presente come record in DB essi vi abbiano condotto almeno una trasmissione.
    Ammettendo che ci siano in tutto due conduttori Mario e Luca.
    Mario ha condotto diverse trasmissioni su Rai e Mediaset.
    Luca ha lavorato su Rai Mediaset e pure Sky.
    A questo punto i canali presenti sono tre.
    Mario non lo restituisco perchè nn ha condotto neanche un programma su Sky.


    per quanto riguarda la query
    Visto che canale non è chiave, ho pensato di usare una vista e crearmi un tabella con i soli canali usando il SELECT DISTINCT oppure fare una query in questo modo



    SELECT cf
    FROM conduttore
    WHERE NOT EXISTS ( SELECT canale
    FROM trasmissione
    WHERE codice NOT IN ( SELECT trasmissione
    FROM conduce
    where conduttore=cf))

    avevo pensato una cosa del genere.
    per quanto riguarda l'algebra non ne ho idea.
    Spero che qualcuno possa essermi d'aiuto.


    Grazie C.

  2. #2
    devi fare una query relazionando le tabelle tramite JOIN

  3. #3
    in che modo secondo te??
    i valori di "canale" all'interno della "tabella trasmissione" sn ripetuti non essendo chiave e potendo assumere un valore qualsiasi.

  4. #4
    la join si fa sulle colonne correlate

    ad esempio, per la classica intestazione di una fattura

    SELECT elenco_colonne
    FROM fatture JOIN clienti ON fatture.id_cliente=clienti.id_cliente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.