.dsy:it. Pages (2): [1] 2 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- dubbio su esercizio E-R (http://www.dsy.it/forum/showthread.php?threadid=39756)


Posted by Spr1gg4N on 15-01-2010 11:18:

dubbio su esercizio E-R

Ciao ragazzi, spero che qualcuno possa essermi di aiuto...sto guardando un po di esercizi nei temi d'esame passati e non mi è chiara una cosa: nell'esercizio sottostante, per esempio, come faccio a determinare che tipo di cardinalità ha l'associazione R1 al lato destro?



E, un'altra cosa, per l'associazione R2 come faccio a scegliere quale delle due opzioni preferire:
1) mettere A11 come chiave esterna in E2
2) mettere A21 e A22 come chiave esterna in E1

grazie in anticipo per le risposte :D


Posted by dieguito on 15-01-2010 17:42:

sembra più una dimenticanza nel testo dell'esrcizio, ma da qualche parte avevo letto che la cardinalità di default è 0,N..

e poi io metterei in E1 come fk A21 e A22, perchè la relazione R2 è 1 a N e quindi la chiave esterna va aggiunta alla relazione con cardinalità max = 1..
Però non sono sicurissimo.. :D

Se ti può interessare, qua la traduzione da ER a relazionale è spiegata abbastanza bene:
http://www.di.unito.it/~damiani/DID...nfoApp66-78.pdf

E cmq aspetto conferma da qualcuno con le idee più chiare :D ...


Posted by carlo88 on 15-01-2010 18:18:

confermo che sia una dimenticanza....


Posted by Spr1gg4N on 15-01-2010 19:31:

ah bene quindi il primo dubbio è andato :D
Si, cmq dieguito anche io avevo pensato la stessa cosa riguardante il punto 2...inoltre io mettere la fk (A21,A22) con l'asterisco (*) che sta ad indicare che puo' essere nulla dato che la cardinalità minima è = 0
Voi che dite?


Posted by dieguito on 15-01-2010 20:45:

credo di sì.. io l'* per indicare che un attributo può essere nullo nel relazionale l'ho scoperto 10 minuti fa .:D ..
come avete risolto gli esercizi di algebra relazionale dello stesso tema d'esame?
magari possiamo confrontare le soluzioni.. questi sono gli esercizi che mi preoccupano di più...


Posted by Spr1gg4N on 15-01-2010 20:53:

guarda altri esercizi di quel tema d'esame non li ho fatti e ora sono abbastanza cotto...
ma domani mi becco online con altri per fare un po di esercizi, volendo ci si puo beccare su una chat oppure fare un wave....oppure scriviamo man mano le soluzioni qui sopra :D
Domani dalle 10.30 circa iniziamo a farne un po :D


Posted by dieguito on 16-01-2010 14:11:

Come avete risolto il primo esercizio di algebra relazionale del tema del 10/4/2006? io fatto l'intersezione tra l'insieme dei numeri di telefono di quelli che avevano ordinato pizza margherita e l'insieme di quelli che avevano ordinato pizza marinara.. Secondo voi può andare?


Posted by morbido007 on 16-01-2010 21:30:

Originally posted by Spr1gg4N
ah bene quindi il primo dubbio è andato :D
Si, cmq dieguito anche io avevo pensato la stessa cosa riguardante il punto 2...inoltre io mettere la fk (A21,A22) con l'asterisco (*) che sta ad indicare che puo' essere nulla dato che la cardinalità minima è = 0
Voi che dite?


Ma gli attributi A21 e A22 vanno messi in E1 due volte?? cioè una per la traduzione di R1 e un'altra per la traduzione di R2?:pensa:

__________________
...e la mia giustizia calerà sopra di loro con grandissima vendetta e furiosissimo sdegno su coloro che si proveranno ad ammorbare ed infine a distruggere i miei fratelli. E tu saprai che il mio nome è quello del Signore quando farò calare la mia vendetta sopra di te (Ezechiele 25.17)


Posted by Spr1gg4N on 17-01-2010 08:37:

Originally posted by dieguito
Come avete risolto il primo esercizio di algebra relazionale del tema del 10/4/2006? io fatto l'intersezione tra l'insieme dei numeri di telefono di quelli che avevano ordinato pizza margherita e l'insieme di quelli che avevano ordinato pizza marinara.. Secondo voi può andare?

ieri alla fine abbiamo fatto altri esercizi...oggi magari mi metto a fare quel tema di esame e ti faccio sapere.


Ma gli attributi A21 e A22 vanno messi in E1 due volte?? cioè una per la traduzione di R1 e un'altra per la traduzione di R2?

Io penso di sì: per R1 metterei fk (A21,A22) e per R2 fk(A21,A22)*


Posted by morbido007 on 17-01-2010 09:39:

si...anch'io l'ho pensata cosi :approved:

__________________
...e la mia giustizia calerà sopra di loro con grandissima vendetta e furiosissimo sdegno su coloro che si proveranno ad ammorbare ed infine a distruggere i miei fratelli. E tu saprai che il mio nome è quello del Signore quando farò calare la mia vendetta sopra di te (Ezechiele 25.17)


Posted by Spr1gg4N on 17-01-2010 15:37:

Originally posted by dieguito
Come avete risolto il primo esercizio di algebra relazionale del tema del 10/4/2006? io fatto l'intersezione tra l'insieme dei numeri di telefono di quelli che avevano ordinato pizza margherita e l'insieme di quelli che avevano ordinato pizza marinara.. Secondo voi può andare?


anche io ho fatto così:

1)

code:
∏ Nr.Telefono(∏ Nr.Telefono( ∏ Codice-Pizza( σ nome = 'margherita' PIZZA ) * (∏ Nr.Telefono, Codice-Pizza ORDINE)) ∩ ∏ Nr.Telefono(∏ Nr.Telefono( ∏ Codice-Pizza( σ nome = 'marinara' PIZZA ) * (∏ Nr.Telefono, Codice-Pizza ORDINE)))


2)
code:
((∏ Nr.Telefono ORDINE) - (∏ Nr.Telefono ( σ data = 'gennaio 2006' ORDINE))) * (∏ Nr.Telefono, Nome CLIENTE)


Posted by Spr1gg4N on 17-01-2010 15:54:

Per quanto riguarda le SELECT dello stesso testo di esame come avete fatto? Io così ma nn sono tanto convinto della seconda:

1)

code:
SELECT Codice-Pizza, Codice-Operatore, SUM(Costo) FROM Ordine GROUP BY Codice-Pizza, Codice-Operatore;


2)
code:
SELECT Nome FROM Cliente WHERE Nr.Telefono IN ( SELECT Nr.Telefono, COUNT DISTINCT(Codice-Operatore) FROM Ordine GROUP BY Nr.Telefono HAVING COUNT DISTINCT(Codice-Operatore) >= 2);


Posted by number15 on 17-01-2010 18:24:

Nella seconda devi levare la count nella select della subquery, perché oltre a non servirti, fa fallire la query, perché vuole ci dev'essere un solo campo nella select.

Ps: la sintassi della count distinct è: COUNT(DISTINCT campo)

__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com


Posted by Spr1gg4N on 17-01-2010 18:38:

si hai ragione infatti avevo il dubbio che desse errore "too many columns".... ma togliendo il count dalla select e, ovviamente, mettendo la count distinct con la sintassi corretta (:D) va bene la la query?


Posted by number15 on 17-01-2010 21:01:

Non ho il testo davanti, ma deduco tu voglia estrarre i nomi delle persone che hanno effettuato 2 o più ordini... in tal caso è corretta.

__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com


All times are GMT. The time now is 04:07. Pages (2): [1] 2 »
Show all 28 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.