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 ~ informatica triennale > Algebra Relazionale
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
mark
.grande:maestro.

User info:
Registered: Oct 2003
Posts: 783 (0.10 al dì)
Location:
Corso: F49
Anno: finito!
Time Online: 8 Days, 18:34:33 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Algebra Relazionale

mi è venuto un dubbio

VENDITA(CodVend,CodCli,CodProd,Qta)
VENDITORE(Codice,Nome, Città)
CLIENTE(CodiceCli,NomeCli,CittàCli)

determinare codice dei venditori che hanno venduto solo a clienti della propria città


Mi è venuto in mente di suare l'equijoin


PCodice (VENDITORE) |\| Città=CittàCli (CLIENTE)

dove il simbolo |\| è l'equi-join

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....

Last edited by mark on 23-02-2007 at 21:46

23-02-2007 16:27
Click Here to See the Profile for mark Click here to Send mark a Private Message Find more posts by mark Add mark to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
mostrielo
boolean

User info:
Registered: Sep 2004
Posts: 47 (0.01 al dì)
Location: Milano
Corso: Informatica (F49)
Anno: c++
Time Online: 2 Days, 15:14:46 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

VENDITA(CodVend,CodCli,CodProd,Qta)
VENDITORE(Codice,Nome, Città)
CLIENTE(CodiceCli,NomeCli,CittàCli)


Devi prima trovare l'insieme dei venditori che hanno venduto a clienti della propria città; poi devi trovare l'insieme dei venditori che non hanno venduto a clienti della propria città; infine devi sottrarre dal primo insieme il secondo: il risultato è l'insieme di quelli che hanno venduto SOLO a clienti della propria città

23-02-2007 17:46
Click Here to See the Profile for mostrielo Click Here to See the Blog of mostrielo Click here to Send mostrielo a Private Message Find more posts by mostrielo Add mostrielo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
mark
.grande:maestro.

User info:
Registered: Oct 2003
Posts: 783 (0.10 al dì)
Location:
Corso: F49
Anno: finito!
Time Online: 8 Days, 18:34:33 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

mi chiedo perchè non dovrebbe funzionare l'equi-join

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....

23-02-2007 21:17
Click Here to See the Profile for mark Click here to Send mark a Private Message Find more posts by mark Add mark to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Gusher
Splinter fun club

User info:
Registered: Jan 2003
Posts: 475 (0.06 al dì)
Location: Ovunque
Corso: Informatica
Anno: Done
Time Online: 15 Days, 22:06:15 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by mark
mi chiedo perchè non dovrebbe funzionare l'equi-join


Non funziona perchè in quel modo proietti tutti i venditori che abitano nella stessa citta dei clienti; ciò non implica che quel venditore ha venduto a un solo cliente della stessa città e nemmeno che esita una vendita che metta appunto in relazione Venditore e Cliente. Senza contare il fatto che potresti avere anche tuple doppie (n volte lo stesso venditore perchè esistono n clienti nella stessa città...).
Potresti avere venditori che non hanno venduto un cazzo ma che compaiono in quanto esite un cliente della stessa città oppure venditori che hanno venduto si a un cliente della medesima città ma hanno venduto anche ad altri clienti NON della stessa città.

24-02-2007 01:05
Click Here to See the Profile for Gusher Click Here to See the Blog of Gusher Click here to Send Gusher a Private Message Find more posts by Gusher Add Gusher to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
mark
.grande:maestro.

User info:
Registered: Oct 2003
Posts: 783 (0.10 al dì)
Location:
Corso: F49
Anno: finito!
Time Online: 8 Days, 18:34:33 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by mostrielo
VENDITA(CodVend,CodCli,CodProd,Qta)
VENDITORE(Codice,Nome, Città)
CLIENTE(CodiceCli,NomeCli,CittàCli)


Devi prima trovare l'insieme dei venditori che hanno venduto a clienti della propria città; poi devi trovare l'insieme dei venditori che non hanno venduto a clienti della propria città; infine devi sottrarre dal primo insieme il secondo: il risultato è l'insieme di quelli che hanno venduto SOLO a clienti della propria città


è quel solo che trae in inganno. Signfica che se trovo venditori che hanno venduto sia a clienti della stessa città che a clienti un una città differente non devono essere considerati ?

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....

24-02-2007 11:35
Click Here to See the Profile for mark Click here to Send mark a Private Message Find more posts by mark Add mark to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Gusher
Splinter fun club

User info:
Registered: Jan 2003
Posts: 475 (0.06 al dì)
Location: Ovunque
Corso: Informatica
Anno: Done
Time Online: 15 Days, 22:06:15 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by mark
è quel solo che trae in inganno. Signfica che se trovo venditori che hanno venduto sia a clienti della stessa città che a clienti un una città differente non devono essere considerati ?


Esatto.

24-02-2007 12:12
Click Here to See the Profile for Gusher Click Here to See the Blog of Gusher Click here to Send Gusher a Private Message Find more posts by Gusher Add Gusher to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
mark
.grande:maestro.

User info:
Registered: Oct 2003
Posts: 783 (0.10 al dì)
Location:
Corso: F49
Anno: finito!
Time Online: 8 Days, 18:34:33 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

vediamo se ho capito qualcosa
(
(P codice(VENDITORE) |\| codvend=codice (P codvend (VENDITA)))
=
(P cittàcli(CLIENTE) |\| codcli=codicecli (P codicli(VENDITA)))
)
-
(
(P codice(VENDITORE) |\| codvend=codice (P codvend (VENDITA)))
<>
(P cittàcli(CLIENTE) |\| codcli=codicecli (P codicli(VENDITA)))
)

mancano un pò di parentesi

spiego:
partendo dall'ultima linea; proietto da VENDITA il codcli e faccio equi-join con codice di CLIENTE per estrarne la citta.
Stessa cosa per venditore e creo una relazione che contiene venditori che hanno venduto a clienti della stessa città

Le prime due righe invece creo relazione di venditori che non hanno venduto a clienti della stessa città quindi sottraggo...:oops:

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....

Last edited by mark on 24-02-2007 at 12:36

24-02-2007 12:30
Click Here to See the Profile for mark Click here to Send mark a Private Message Find more posts by mark Add mark to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
rancidox
.novellino.

User info:
Registered: May 2007
Posts: 1 (0.00 al dì)
Location: La Coruna/Reggio Calabria
Corso: Informatica
Anno: 4
Time Online: 0:06:17 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ciao a tutti,
avrei un problemino nel risolvere questo esercizio di algebra relazionale:
Praticamente ho questo:

uomini(nome_uomo,età);
donne(nome_donna,età);
uomo_piace(nome_donna,nome_uomo);
donna_piace(nome_uomo,nome_donna);
matrimonio(nome_donna,nome_uomo);

Vorrei sapere la seguente:

donne sposate a le quali piaccciono tutti gli uomini sposati tranne suo marito..
è un pò un casino legato a quel TUTTI qualcuno saprebbe aiutarmi!?!?

Credo che in SQL è una cosa del genere

select d.nome_donna,d.età from donne d
where d.nome_donna in (select nome_donna from matrimonio)
and (select count(*) as a from matrimonio) = ( (select count(*) as b from donna_piace dp where dp.nome_donna=d.nome_donna) - 1)
and (select nome_uomo from matrimonio m where m.nome_donna=d.nome_donna) not in (select ddp.nome_uomo as dpnu from donna_piace ddp where ddp.nome_donna=d.nome_donna)


GRAZIE IN ANTICIPO!

23-05-2007 17:23
Click Here to See the Profile for rancidox Click here to Send rancidox a Private Message Visit rancidox's homepage! Find more posts by rancidox Add rancidox to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 09:21.    Post New Thread    Post A Reply
  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.074 seconds (73.69% PHP - 26.31% MySQL) con 23 query.