progettazione schema er

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
pgcor
Prode Principiante
Messaggi: 208
Iscrizione: mercoledì 11 novembre 2015, 18:11

Re: progettazione schema er

Messaggio da pgcor »

Ma quindi il professore ti ha detto di lasciar perdere i trigger, e che è semplicemente una regola aziendale?
La query dovrebbe (non sono mai stato un drago con le query) essere questa (che purtroppo restituisce lo stesso risultato due volte, nel senso che, per fare un esempio, la coppia di topic correlati 3-5, viene restituita sia come |3||5|, che come |5||3|.. :sisi:, domani chiedo a una persona più in gamba di me come si può ovviare :sisi:):

Codice: Seleziona tutto

SELECT t1.id AS "id topic 1", t2.id AS "id topic 2"
FROM topic t1, topic t2
WHERE ((SELECT COUNT(*)
        FROM utente) / 20) < (SELECT COUNT(*)
                              FROM utente u
                              WHERE t1.id IN (SELECT t.id
       										  FROM bacheca b, foto f, contenimento_foto_board cont, appartenenza_foto_topic app, topic t
      										  WHERE b.email_utente = u.email &&	 
      		 		  							    cont.id_bacheca = b.id &&
       		 		  							    cont.id_foto = f.id &&
       		 		  							    app.id_foto = f.id &&
       		 		  							    app.id_topic = t.id) &&
      							    t2.id IN (SELECT t.id
       										  FROM bacheca b, foto f, contenimento_foto_board cont, appartenenza_foto_topic app, topic t
      										  WHERE b.email_utente = u.email &&	 
      		 		  							    cont.id_bacheca = b.id &&
       		 		  							    cont.id_foto = f.id &&
       		 		  							    app.id_foto = f.id &&
       		 		  							    app.id_topic = t.id)) &&
      t1.id != t2.id
PS lasciamo perdere le statue :sisi: :lol:

PPS: mi sono appena accorto che nella definizione delle tabelle appartenenza_foto_topic e correlazione_topic ho fatto un erroraccio dovuto a copia-incolla (la maledizione dei programmatori :lol:): i vari campi id (foto e topic) non sono auto_increment Immagine

PPPS: sì in effetti, ora che ci penso, se un dato è calcolabile utilizzando i dati già presenti nel database, allora non andrebbe inserito nel database stesso.. anche se bisognerebbe vedere come va interpretato quel "per ogni topic vengono sengalati topic simili..." della consegna
Un ente intrinsecamente dipendente ne richiede uno assolutamente indipendente. A tutti quelli che hanno la vocazione di avere solo ragione... e di essere accecati dai propri vizi: prima o poi arriverete a Canossa. Prego per voi che avvenga prima. | Ubuntu Touch non è morto Gruppo Ubuntu Touch
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 9 ospiti