Ciao a tutti!
Qualche giorno fa ho fatto l'esame di basi di dati dove però ho trovato un pò di difficoltà nello svolgere un'interrogazione in algebra relazionale...
Lo schema era questo:
AGENZIA(Piva,CodiceAgenzia,Nome,Indirizzo,Città,DirettoreAgenzia,TourOperatorID) alias AG
NEGOZIDIRETTI(Piva,CodiceNegozio,Nome,Indirizzo,Città,Responsabile,DataApertura, TourOperatorID) alias ND
DIPENDENTI(CF,Cognome, Nome, email, cellulare,DataAssunzione,Tipo,RiferimentoPuntoVendita) alias DI
TOUROPERATOR(Piva,RagioneSociale,Nome,Città) alias TO
VIAGGIO(Codice,Nome,TourOperatorID,Paese) alias VI
TAPPAVIAGGIO(CodiceViaggio,Progressivo,Località,KM) alias TA
EDIZIONIVIAGGIO(CodiceViaggio,Datainizio, Durata, Costo, Anno, Accompagnatore) alias ED
VENDITE(Agenzia,CodiceViaggio,Datainizio,Cliente) alias VE
CLIENTI(CF,Cognome, Nome, email, cellulare) alias CL
ACCOMPAGNATORI(CF,Cognome,Nome,email,cellulare,IDProfessionale,DataRilascioPatenteProfessionale) alias AC
L'espressione richiesta era questa:
->identificare, per ogni viaggio, la sua tappa più lunga e quella più corta (in termini di KM), elencare il codice del viaggio, il nome, il progressivo della tappa, i KM, e, per quella più lunga, la stringa “max”, per quella più corta, la stringa “min”;
Io mi sono mosso creando delle viste contenenti solo le tappe più brevi e l'altra solo quelle lunghe con tutti i dati richiesti e poi facendone l'unione.
L'unica cosa che non sono riuscito a fare è aggiungere ad ogni tupla delle due viste la stringa "min" e "max". Inizialmente ho pensato di fare un prodotto cartesiano tra ogni vista e una relazione contenente la sola stringa però non posso creare relazioni dal nulla, o sbaglio ?
Mi dareste una mano ?
Grazie in anticipo!