Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale > esami perlasca 06/07
Pages (8): « 1 2 3 4 [5] 6 7 8 »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
ARIEL
.grande:maestro.

User info:
Registered: Jul 2005
Posts: 636 (0.08 al dì)
Location: milano
Corso: Comunicazione digitale
Anno: Dottoressa!!!
Time Online: 12 Days, 7:36:22 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

io personalmente prima ho controllato se lo schema è minimale (ovvero se non ci sono ridondanze...i passaggi da fare li trovi sulle slide nuove sul sito di perlasca) poi ho diviso in relazioni in base alle dipendenze che avevo tipo: ho AB-->E quindi R1(ABE) e così via e poi controlli se è in 3nf.

20-02-2008 12:12
Click Here to See the Profile for ARIEL Click here to Send ARIEL a Private Message Find more posts by ARIEL Add ARIEL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
roberto85
.simpatizzante.

User info:
Registered: Nov 2004
Posts: 18 (0.00 al dì)
Location: Novara
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 17:48:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by ARIEL
io personalmente prima ho controllato se lo schema è minimale (ovvero se non ci sono ridondanze...i passaggi da fare li trovi sulle slide nuove sul sito di perlasca) poi ho diviso in relazioni in base alle dipendenze che avevo tipo: ho AB-->E quindi R1(ABE) e così via e poi controlli se è in 3nf.


Ah ok perfetto! Andrò a vedere le slide! Grazie mille per le spiegazioni!

Per quanto riguardano le query 2 e 3 le sapete fare? io le ho fatte ma non sono sicuro che sono giuste!!

20-02-2008 13:33
Click Here to See the Profile for roberto85 Click here to Send roberto85 a Private Message Find more posts by roberto85 Add roberto85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
roberto85
.simpatizzante.

User info:
Registered: Nov 2004
Posts: 18 (0.00 al dì)
Location: Novara
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 17:48:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Io la query 3 l'ho provata a farla così:

3)trovare il nome e la matricola dei responsabili che possiedono almeno 5 competenze

select impiegati.matr, impiegati.nome
from impiegati, competenze
where impiegati.matr = competenze.matr

group by impiegati.matr, impiegati.nome
having count(competenze) >= 5

Non so cmq se è giusta!!!!

Secondo voi??????

20-02-2008 14:31
Click Here to See the Profile for roberto85 Click here to Send roberto85 a Private Message Find more posts by roberto85 Add roberto85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
tolarian
Il Mezzorco Druido

User info:
Registered: Oct 2004
Posts: 144 (0.02 al dì)
Location: Biella
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 13:36:52 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ho provato a risolvere le prime 3 query...

1)SELECT p.codp,COUNT(a.data),SUM(numore)
FROM impiegati i, assegnamento a,progetti p
WHERE i.matr=a.matr AND p.codp=a.codp AND i.matr=1234
GROUP BY p.codp

2)SELECT i.matr,c.competenza
FROM competenze c, impiegato i,
WHERE i.matr=c.matr AND
(SELECT COUNT(c.matr)
FROM competenze c, impiegati i
WHERE i.matr=c.matr)=1

3)SELECT i.nome,i.matr
FROM impiegati i,competenze c, progetti p
WHERE i.matr=p.matrResponsabile AND c.matr=p.matrResponsabile AND
(SELECT COUNT(c.matr)
FROM competenze c, impiegati i
WHERE i.matr=c.matr)>4

secondo voi sono giuste?

grazie

20-02-2008 14:57
Click Here to See the Profile for tolarian Click here to Send tolarian a Private Message Find more posts by tolarian Add tolarian to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Kardo
.consigliere.

User info:
Registered: Oct 2003
Posts: 113 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: Nella speranza di finire
Time Online: 1 Day, 4:47:26 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Nella 1 penso bastasse usare un natural join, no?

Posto come sono venute a me le prime due:

1) SELECT a.CodP, sum (a.numore) as TOTore, count (a.data) as
TOTgiorni
FROM impiegati i NATURAL JOIN assegnamento a
WHERE i.matr = '1234'
GROUP BY a.CodP

2) SELECT competenza, matr
FROM competenze
GROUP BY competenza, matr
HAVING COUNT(*) = 1

Last edited by Kardo on 20-02-2008 at 19:56

20-02-2008 17:32
Click Here to See the Profile for Kardo Click here to Send Kardo a Private Message Find more posts by Kardo Add Kardo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Melodiaz
Mr. Blonde

User info:
Registered: Sep 2004
Posts: 223 (0.03 al dì)
Location:
Corso: Comunicazione digitale
Anno: 3
Time Online: 2 Days, 17:06:45 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

scusate qualcuno potrebbe postare lo schema er corretto dell'appello di gennaio? ho ancora qualche dubbio a proposito...

THX

20-02-2008 18:08
Click Here to See the Profile for Melodiaz Click here to Send Melodiaz a Private Message Find more posts by Melodiaz Add Melodiaz to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
tolarian
Il Mezzorco Druido

User info:
Registered: Oct 2004
Posts: 144 (0.02 al dì)
Location: Biella
Corso: Comunicazione Digitale
Anno:
Time Online: 1 Day, 13:36:52 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by Kardo
Nella 1 penso bastasse usare un natural join, no?

Posto come sono venute a me le prime due:

1) SELECT a.CodP, sum (a.numore) as TOTore, count (a.data) as
TOTgiorni
FROM impiegati i NATURAL JOIN assegnamento a
WHERE i.matr = '1234'
GROUP BY a.CodP

2) SELECT competenza, matr
FROM competenze
GROUP BY competenza, matr
HAVING COUNT(*) = 1


Sì hai ragione sul natural join ... e anche sull'uso dell'having...dato che mi confondo sempre, dato che dopo il where non si possono usare i COUNT o i SUM, mentre dopo l'having sì...

tnx

20-02-2008 20:21
Click Here to See the Profile for tolarian Click here to Send tolarian a Private Message Find more posts by tolarian Add tolarian to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
roberto85
.simpatizzante.

User info:
Registered: Nov 2004
Posts: 18 (0.00 al dì)
Location: Novara
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 17:48:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Scusate ma count (a.data) as Totgiorni non è sbagliato?

l'attributo data semmai per rivacare i giorni bisogna utilizzare DAY xò bisogna capire se quella data è la data di fine o è la data di inizio....boh secondo me fare il count di una data è un errore, ma non vorrei sbagliare....

20-02-2008 20:40
Click Here to See the Profile for roberto85 Click here to Send roberto85 a Private Message Find more posts by roberto85 Add roberto85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Kardo
.consigliere.

User info:
Registered: Oct 2003
Posts: 113 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: Nella speranza di finire
Time Online: 1 Day, 4:47:26 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Non so io l'ho inteso, vista la richiesta, come se lui mi contasse tutte le date in cui un impiegato lavora, però non escludo che sia da usare day magari con l'interval; se qualcuno ha idee in proposito ben venga.

20-02-2008 21:42
Click Here to See the Profile for Kardo Click here to Send Kardo a Private Message Find more posts by Kardo Add Kardo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
roberto85
.simpatizzante.

User info:
Registered: Nov 2004
Posts: 18 (0.00 al dì)
Location: Novara
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 17:48:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Dal testo purtroppo non si capisce se quella è la data di inizio e qual è la data di fine e se i progetti non sono ancora finiti, se on sono ancora finiti per sapere il numero di giorni totali per quel determinato progetto bisognerebbe fare (current date () - data) DAY così ritrovi soltanto i giorni che sono stati impiegati, oppure io visto che non sapevo a che cosa si riferiva l'attributo data se inizio oppure fine e se sono già finiti nel compito avevo scritto sum(ore) / 24 per trovare il numero di giorni, xò non credo che sia giusto, bohhh

20-02-2008 22:31
Click Here to See the Profile for roberto85 Click here to Send roberto85 a Private Message Find more posts by roberto85 Add roberto85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
roberto85
.simpatizzante.

User info:
Registered: Nov 2004
Posts: 18 (0.00 al dì)
Location: Novara
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 17:48:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Per quanto riguarda il trigger pochi minuti fa ho provato a scriverlo così:

create trigger NumMaxBiglietti
after insert on Persona
for each row
when ( select New.NumBiglietti
from persona ) > 3

ROLLBACK;

Secondo voi può essere giusto?

20-02-2008 22:33
Click Here to See the Profile for roberto85 Click here to Send roberto85 a Private Message Find more posts by roberto85 Add roberto85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Kardo
.consigliere.

User info:
Registered: Oct 2003
Posts: 113 (0.01 al dì)
Location:
Corso: Comunicazione Digitale
Anno: Nella speranza di finire
Time Online: 1 Day, 4:47:26 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Il trigger mi sembra giusto.
Per la query :

bisognerebbe fare (current date () - data) DAY


Intendevo proprio quello, penso sia giusto così.

La query 3 a me viene:

Select i.nome, p.matrResponsabile, c.competenza
From impiegati i,competenze c,progetti p
where i.matr = p.matrResponsabile and i.matr = c.matr
group by c.competenza, i.nome, p.matrResponsabile
(non mi ricordo se devono andare tutti e tre nel group by)
having count (competenza) >= 5

20-02-2008 23:14
Click Here to See the Profile for Kardo Click here to Send Kardo a Private Message Find more posts by Kardo Add Kardo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
ARIEL
.grande:maestro.

User info:
Registered: Jul 2005
Posts: 636 (0.08 al dì)
Location: milano
Corso: Comunicazione digitale
Anno: Dottoressa!!!
Time Online: 12 Days, 7:36:22 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Allora a ricevimento dal prof. mi ha spiegato che in Assegnamento Data indica i giorni in cui si è lavorato al progetto. Siccome la chiave primaria è codP, Matr, Data ci saranno tuple fatte così:

0001, 1234, 12/03/2007
0001, 1234, 17/03/2007
0001, 1234, 24/03/2007
etc.

quindi facendo un count di Data si riescono a trovare i giorni totali di lavoro effettuati sul progetto.

21-02-2008 08:31
Click Here to See the Profile for ARIEL Click here to Send ARIEL a Private Message Find more posts by ARIEL Add ARIEL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
ARIEL
.grande:maestro.

User info:
Registered: Jul 2005
Posts: 636 (0.08 al dì)
Location: milano
Corso: Comunicazione digitale
Anno: Dottoressa!!!
Time Online: 12 Days, 7:36:22 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ho dei dubbi su alcune cose:

Select i.nome, p.matrResponsabile, c.competenza
From impiegati i,competenze c,progetti p
where i.matr = p.matrResponsabile and i.matr = c.matr
group by c.competenza, i.nome, p.matrResponsabile
(non mi ricordo se devono andare tutti e tre nel group by)
having count (competenza) >= 5

non basta mettere nel group by solo c. competenza, i.nome?

Seconda cosa quando nell'having count si mette l'attributo (come nel caso prima competenze) e quando no (come nella query degli impiegati con una sola competenza)?

Nell'esame c'era anche la query:
Determinare gli impiegati assegnati a tutti i progetti Microsoft avente budget di almeno 50000 euro.

SELECT i.Matr, i.Nome
FROM Impiegati i, Progetti p, Assegnamento a
WHERE a.Matr=i.Matr AND a.codP=p.CodP AND budget>='50000' AND p.Nome='Microsoft' AND NOT EXIST (SELECT i.Nome, p.CodP
FROM Impiegati i, Progetti p, Assegnamento a
WHERE a.Matr=i.Matr AND a.codP=p.CodP AND p.Nome<>'Microsoft');

Qualche idea? penso che la mia sia sbagliata in qualche pezzo!
Grazie

21-02-2008 09:19
Click Here to See the Profile for ARIEL Click here to Send ARIEL a Private Message Find more posts by ARIEL Add ARIEL to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
roberto85
.simpatizzante.

User info:
Registered: Nov 2004
Posts: 18 (0.00 al dì)
Location: Novara
Corso: Comunicazione Digitale
Anno: terzo
Time Online: 17:48:35 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by ARIEL
Allora a ricevimento dal prof. mi ha spiegato che in Assegnamento Data indica i giorni in cui si è lavorato al progetto. Siccome la chiave primaria è codP, Matr, Data ci saranno tuple fatte così:

0001, 1234, 12/03/2007
0001, 1234, 17/03/2007
0001, 1234, 24/03/2007
etc.

quindi facendo un count di Data si riescono a trovare i giorni totali di lavoro effettuati sul progetto.


ah ora ho capito, allora si se per ogni giorno viene fatta una tupla di assegnamento allora basta il count per tenere traccia dei giorni per ogni progetto

21-02-2008 09:24
Click Here to See the Profile for roberto85 Click here to Send roberto85 a Private Message Find more posts by roberto85 Add roberto85 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 02:51.    Post New Thread    Post A Reply
Pages (8): « 1 2 3 4 [5] 6 7 8 »   Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.118 seconds (65.72% PHP - 34.28% MySQL) con 24 query.