.dsy:it. Pages (5): « 1 [2] 3 4 5 »
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)
-- Soluzione Appelli Castano (http://www.dsy.it/forum/showthread.php?threadid=37060)


Posted by Gimmy on 13-01-2009 16:23:

Mi scuso, ammetto di aver parlato per niente, non avevo letto correttamente quando scritto in precedenza :(


no problem ;)

Oggi ho rifatto tutte le query in sql degli appelli, posto qui il file, fatemi sapere se sono corrette o meno, anche se su mysql non ho avuto errori...


Posted by Counter65 on 14-01-2009 20:18:

esercizio 2, aprile 2006

E2(a21,a22 ,a23,a11(chiave esterna),ar1) di questo non sono sicuro...
r2(a11(chiave esterna),a21,a22(insieme fanno chiave esterna) )
r3(a11(chiave esterna),a21,a22 ,ar3)
e1(a11 ,12)

Qualcuno lo puo fare e dirmi se c'è qualcosa di sbagliato?


Posted by R1cky` on 14-01-2009 21:33:

Per quanto riguarda E2 secondo me va bene così come l'hai fatta.
Volendo minimizzare il numero di relazioni, l'associazione R3 si potrebbe evitare di trasformarla in relazione e scrivere la relazione nel seguente modo:

E1(a11,a12, a21,a22,ar3)

Ovviamente facendo le dovute considerazioni sui valori che a21, a22 e ar3 possono assumere all'interno di E1 poichè se la partecipazione è rara (percui si avrebbero molti valori nulli) è conveniente la soluzione che hai proposto te :)

Aspetto un tuo parere.

Ciao


Posted by Gimmy on 14-01-2009 21:39:

io l'ho risolto così (chiavi primarie sottolineate e chiavi esterne in grassetto):

E1(A11,A12,A21,A22,AR3)
E2(A21,A22,A23,A11,AR1)
R2(A11,A21,A22)

doivrebbe essere = a quello di counter65 con la modifica che ha detto r1cky...

mentre l'esercizio 2 del 14 giugno 2006 l'ho risolto cosi:

E1(A11,A12,A13,A14,AR1,A21,A22)
E2(A21,A22,A23)
E3(A11,A31)

è giusto?


Posted by Counter65 on 15-01-2009 08:00:

avete ragione vanno minimizzate le relazioni.

per quello di giugno, non ho capito perchè non è scritta la partecipazione di E2 in R1 e ho solo un dubbio su E3, ci va la chiave esterna su A11?

il 2 del gennaio 06:

1,N - 3,N
0,N - 0,6
1,10- 2,N

non sono sicuro ovviamente... :)


Posted by Gimmy on 15-01-2009 15:31:

si l'ho fatto uguale a te, solo che nell'ultimo ho messo (2,2) invece che (2,n), perchè nel testo dice "ogni articolo deve avere due esperti revisori", senza specificare altro... pero bo, non so se sia giusto o meno...


Posted by Counter65 on 15-01-2009 17:47:

potresti dirmi se nell'ultimo esercizio che hai fatto va messo A11 come chiave secondaria di E3? e se no perchè?

grazie


Posted by Gimmy on 15-01-2009 18:59:

si hai ragione, A11 va messo anche come chiave esterna, perchè la relazione è 1-N, quindi copi la chiave primaria di E1 in E3 che diventa chiave esterna


Posted by Pennywise on 16-01-2009 08:57:

Originally posted by Gimmy
io l'ho risolto così (chiavi primarie sottolineate e chiavi esterne in grassetto):

E1(A11,A12,A21,A22,AR3)
E2(A21,A22,A23,A11,AR1)
R2(A11,A21,A22)

doivrebbe essere = a quello di counter65 con la modifica che ha detto r1cky...

mentre l'esercizio 2 del 14 giugno 2006 l'ho risolto cosi:

E1(A11,A12,A13,A14,AR1,A21,A22)
E2(A21,A22,A23)
E3(A11,A31)

è giusto?


Non ne sono sicuro.
Io credo che così hai risolto R1 ma non R2.
Siccome su E2 verso E1 passando per R1 la cardinalità non è specificata assumiamo sia 1,1
Quindi possiamo spostare in E2 la chiave di E1, e anche l'attributo AR1
In E1 manteniamo si la chiave di E2 (non AR1) ma per risolvere la relazione R2, in funzione di quella cardinalità 0,1 su E1.


Posted by Gimmy on 16-01-2009 16:25:

quindi la cardinalità non è specificata di proposito?
Io ho assunto che sia 0,1 e quindi ho agito di conseguenza...
Cmq se non è specificata si assume sempre che sia 1,1 ?


Posted by morte2097 on 17-01-2009 10:50:

io l'esercizio del 14 l'ho fatto così
E1(A11,A12,A13*,A14,A21*,A22*) A11 C.P A21,A22 C.E R2 assorbita
E2(A21,A22,A23,A11,AR1) A21,A22 C.P A11 C.E R1 assorbita
E3(A31,A11) entrambe C.P


Posted by R1cky` on 17-01-2009 11:41:

Io l'ho fatto in un altro modo ( ChiavePrimaria ChiaveEsterna )

E1(A11,A31,A12,A13*,A14)
La combinazione della chiave primaria A11 e di A31 a formare la chiave esterna riguardano la relazione R3
E2(A21,A22,A23,A11*, A11,AR1)
La chiave sterna A11 opzionale riguarda la relazione R2, che prevede appunto una partecipazione opzionale, mentre A11 chiave esterna obbligatoria e AR1 riguardano la relazione R1
E3(A31,A11)

Scusate ma quando la cardinalità non è specificata cos'è di default?
E' lecito che la chiave esterna di E3 in E1 possa essere scritta in quel modo?
Che ne pensate della mia soluzione?

PS: Ho dato un occhio veloce alle query che hai postato, io la query 1 del 18/1/06 l'ho fatta in questo modo: http://pastebin.com/m7d01f7d2


Posted by Gimmy on 17-01-2009 12:04:


Io l'ho fatto in un altro modo ( ChiavePrimaria ChiaveEsterna )

E1(A11,A11,A12,A13*,A14)
E2(A21,A22,A23,A11*, A11,AR1)
La chiave sterna A11 opzionale riguarda la relazione R2, che prevede appunto una partecipazione opzionale, mentre A11 chiave esterna obbligatoria e AR1 riguardano la relazione R1
E3(A31,A11)

Scusate ma quando la cardinalità non è specificata cos'è di default?
E' lecito che la chiave esterna di E3 in E1 possa essere scritta in quel modo?
Che ne pensate della mia soluzione?


Allora secondo me...
E1 deve avere per forza A21 e A22 come chiavi esterne, assorbite tramite l'associazione R2.
Perche in E2 hai scritto 2 volte A11? Basta scriverlo una volta sola quando risolvi R1.
Per la chiave esterna di E3 non so, di sicuro A11 è chiave primaria di E3 con A31, pero non so se A11 sia anche chiave esterna, in teoria dovrebbe esserlo...


Secondo me, assumendo che quando la cardinalità non è espressa sia di default (1,1), la soluzione dovrebbe essere la seguente(chiave primaria, chiave esterna):

E1(A11,A12,A13,A14*,(A21,A22)*)
E2(A21,A22,A23,AR1,A11*)
E3(A11,A31)

R1 viene assorbita da E2, R2 viene assorbita da E1 ed R3 viene assorbita da E3.
Non sono sicuro pero se A11 in E3 debba essere anche chiave esterna oltre che chiave primaria, visto che la cardinalità è (1,1) dovrei copiare la chiave primaria di E1 in E3...

Per il resto volevo chiedere: se avessi accorpato R1 in E1 invece che in E2, avrei dovuto riscrivere le chiavi A21 e A22 in E1 oltre che a AR1?


Posted by R1cky` on 17-01-2009 12:19:

Originally posted by Gimmy
Allora secondo me...
E1 deve avere per forza A21 e A22 come chiavi esterne, assorbite tramite l'associazione R2.
Perche in E2 hai scritto 2 volte A11? Basta scriverlo una volta sola quando risolvi R1.


No è vero, hai ragione, ho avuto una defaiance sulla risoluzione delle 1:N, spero di non fare ste cazzate durante l'esame :oops:
In definitiva lo schema verrebbe fuori come quello che hai scritto, solo che se presumi che la cardinalità non specificata sia (1,1), a quel punto la chiave esterna di E2 in E1 non è opzionale. O sbaglio?


Per il resto volevo chiedere: se avessi accorpato R1 in E1 invece che in E2, avrei dovuto riscrivere le chiavi A21 e A22 in E1 oltre che a AR1?


Eh sì, per forza perchè per definizione devi mettere l'insieme di attributi che è identificatore dell'entità.


Posted by Gimmy on 17-01-2009 13:02:

In definitiva lo schema verrebbe fuori come quello che hai scritto, solo che se presumi che la cardinalità non specificata sia (1,1), a quel punto la chiave esterna di E2 in E1 non è opzionale. O sbaglio?


mmm non ho capito cosa intendi dire... :?


All times are GMT. The time now is 10:03. Pages (5): « 1 [2] 3 4 5 »
Show all 64 posts from this thread on one page

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