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

    Algebra relazionale.. ahiaiai..

    Salve a tutti!
    Speravo di trovare un pò di aiuto!

    Oggi a lezione la professoressa ci ha lasciato questo esercizio di algebra relazionale:


    Dato il seguente schema relazionale:

    AUTOSALONE(codice, indirizzo, città, regione, anno_apertura)
    IMPIEGATO(codice, nome, cognome, data_nascita, qualifica, stipendio, id_autosalone)
    AUTOMEZZO(targa, modello, casa produttrice, prezzo)
    DISPONIBILITA’(autosalone,automezzo)
    VENDITE(idimpiegato, idautomezzo, datadivendita, prezzovendita)

    Rispondere alle seguenti query in Algebra:

    1. Selezionare gli autosaloni che non hanno venduto nessuna auto fiat nel 2006
    2. Selezionare tutte le auto vendute dall'autosalone con minor numero di venditori


    La prima parte dell'esercizio l'ho saputa svolgere, ma sulla seconda sto sbattendo la testa da una giornata ma non riesco a capire come fare..

    Spero mi possiate aiutare!Grazie!

  2. #2
    beh, direi che come prima cosa devi conteggiare gli impiegati per autosalone tramite una subquery e poi joinare il valore con la tabella delle vendite joinata a quella delle auto
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Innanzitutto grazie per la solerte risposta!

    Si infatti anche io ero arrivato a questo, solo che non so come fare il count in algebra relazionale..
    Non c'è un operatore adatto.. o perlomeno non c'è in quella che ci ha spiegato la professoressa per risolvere l'esercizio e non ho ancora capito come fare per conteggiare i venditori.

  4. #4
    non so che sia l'algebra relazione, ti butto giù una query (anche se non sapendo per quale database sarà sicuramente da ritoccare)

    codice:
    SELECT
      a.*
    
    FROM
      (
        SELECT
          id_autosalone, COUNT(*) AS numero_impiegati, 
        
        FROM
          IMPIEGATO
        
        ORDER BY
          numero_impiegati ASC
        
        LIMIT
          1
      ) AS sq1
      INNER JOIN IMPIEGATO AS i ON i.id_autosalone = sq1.id_autosalone
      INNER JOIN VENDITE AS v ON v.idimpiegato = i.codice
      INNER JOIN AUTOMEZZO AS a ON a.idautomezzo = v.idautomezzo
    
    GROUP BY
      a.idautomezzo
    se ho interpretato quello che voleva dire la domanda, questo dovrebbe (più o meno) fare quello che ti serve, però considerato l'orario non ci farei troppo affidamento
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Grazie davvero per l'aiuto, ma il problema è proprio perchè in sql lo so fare, ma non in algebra relazionale, in cui ho soltanto la possibilità di fare operazioni su insiemi, comprese selezione, proiezione, e ridenominazione.

    Ti ringrazio comunque ancora per il tempo che mi hai dato!

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.