.dsy:it.
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)
-- Divisione (http://www.dsy.it/forum/showthread.php?threadid=29582)


Posted by mark on 20-02-2007 12:28:

Divisione

code:
X A B Y B Z B ----------------- --------- --------- a 1 1 2 a 2 3 3 a 3 b 1 b 2 d 3 c 1 c 2 c 3 c 4 risultati di X/Y e X/Z X/Y A B --------- a c X/Z A B --------- a c


ma soon giusti ?

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


Posted by zonker on 20-02-2007 13:33:

Direi di no...
X/Y = {a,c}
X/Z = {a,c}
Del resto la cardinalità (numero di colonne) del risultato della divisione è uguale al numero di colonne del dividendo meno il numero di colonne del divisore, quindi in questo caso il risultato avrà una sola colonna.


Posted by mark on 20-02-2007 14:47:

Originally posted by zonker
Direi di no...
X/Y = {a,c}
X/Z = {a,c}
Del resto la cardinalità (numero di colonne) del risultato della divisione è uguale al numero di colonne del dividendo meno il numero di colonne del divisore, quindi in questo caso il risultato avrà una sola colonna.



scusa zonker, ho corretto in quanto ho fatto un copia e incolla sbagliato.

Praticamente il risultato lo si costruisce prendendo ogni elemento della colonna A di X del divideno e lo si unisce ad ogni elemento della colonna B di Y e si forma la tupla

a 1

code:
a 1 (esiste ed è un risultato) a 3 (esiste ma è già un risultato)


se la tupla così costruita esiste nel dividendo, 'a' è uno dei risultati
si continua così per tutti gli elementi riportando una volta sola i risultati

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


Posted by zonker on 20-02-2007 14:59:

Il procedimento per ottenere il risultato della divisione tramite sottrazioni è un po' più lungo e complesso.
Il concetto è che il risultato della divisione restituisce tutti gli elementi di X che per ogni valore della colonna A di X hanno tutti i valori elencati nella colonna B di Y (o di Z) se dividi per Z.
Per sottrazioni devi fare il cartesiano tra la colonna A di X e la colonna B di Y ottenendo:
a 1
a 3
b 1
b 3
c 1
c 3
d 1
d 3

da questo togli tutte le tuple di X
ottenendo
b 3
d 1
ora togli dalla proiezione della colonna A di X che è:
a
b
c
d
la proiezione di quest'ultimo risultato che è:
b
d
ottenendo il risultato della divisione:
a
c
Chiaro?


Posted by mark on 20-02-2007 15:22:

è il metodo che ho visto sulle videolezioni, solo che io l'ho spiegato in un modo peggiore

grazie, sei stato chiarissimo

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


Posted by zonker on 20-02-2007 15:59:

figurati


Posted by mark on 20-02-2007 18:54:

solo una verifica per vedere se ho capito il meccanismo

code:
r A B C D s C D --------------------------------- ------------------ a1 b1 c1 d1 c1 d1 a1 b1 c2 d2 c2 d2 a2 b2 c2 d2 a3 b3 c1 d1 a3 b3 c2 d2 a1 b1 c3 d3 fare r/s significa: (1) faccio cartesiano tra A B di r e CD di s a1 b1 c1 d1 a1 b1 c1 d1 a2 b2 c1 d1 a3 b3 c1 d1 a3 b3 c1 d1 a1 b1 c1 d1 a1 b1 c2 d2 a1 b1 c2 d2 a2 b2 c2 d2 a3 b3 c2 d2 a3 b3 c2 d2 a1 b1 c1 d1 (2) tolgo le tuple di X a1 b1 c1 d1 a1 b1 c1 d1 a2 b2 c1 d1 a3 b3 c1 d1 a3 b3 c1 d1 a1 b1 c1 d1 a1 b1 c2 d2 a1 b1 c2 d2 a2 b2 c2 d2 a3 b3 c2 d2 a3 b3 c2 d2 a1 b1 c1 d1 (3) tolgo proiezione colonne A B di r che è: a1 b1 a2 b2 a3 b3 (4) tolgo il risultato ottenendo il risultato finale che è: a1 b1 a3 b3

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


Posted by zonker on 20-02-2007 22:27:

perfetto, se vuoi fare meglio il cartesiano fallo tra la proiezione di A B su r così ti eviti le tuple duplicate nel cartesiano.


Posted by mark on 21-02-2007 06:02:

code:
r A B C D s C D --------------------------------- ------------------ a1 b1 c1 d1 c1 d1 a1 b1 c2 d2 c2 d2 a2 b2 c2 d2 a3 b3 c1 d1 a3 b3 c2 d2 a1 b1 c3 d3


quindi anticipi la proiezione sul dividendo giusto ?
E fai il cartesiano solo con quello che resta

code:
r A B C D s C D --------------------------------- ------------------ a1 b1 c1 d1 c1 d1 c2 d2 a2 b2 c2 d2 a3 b3 c1 d1

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


Posted by zonker on 21-02-2007 10:48:

proietto il dividendo ottenendo:
P(r) A B s C D
a1 b1 c1 d1
a2 b2 c2 d2
a3 b3

cartesiano ottenuto:
P(r) x s A B C D
a1 b1 c1 d1
a1 b1 c2 d2
a2 b2 c1 d1
a2 b2 c2 d2
a3 b3 c1 d1
a3 b3 c2 d2

Sottraendo r mi resta:

a2 b2 c1 d1

ora sottraggo questo risultato a2 b2
dalla proiezione di A e B da R
a1 b1
a2 b2
a3 c3

ottenedo il risultato della divisione che è:
a1 b1
a3 c3


Posted by mark on 23-02-2007 09:50:

chiarissimo zonker :)

Sai nulla sulla grant option ?

QUI

Al tempo 100, rossi revoca a verdi i privilegi concessi e sotto il grafico risultante.
Intuitivamente mi viene come nello schema in quanto ho fatto il seguente ragionamento:

Rossi ha concesso a Verdi un privilegio al tempo 35 e Verdi ha ricevuto il medesimo privilegio da Gialli al tempo 55; però, Verdi avendo concesso a Neri un privilegio al tempo 45 e cioè solo dopo essergli stato concesso da Rossi in quanto, 45 < 55; Neri perde anch'esso i privilegi e di conseguenza anche Marroni.

Sopravvivono Verdi in quanto ha avuto un privilegio da Gialli in un tempo molto successivo a quello di Rossi e Viola che ha avuto un privilegio da Verdi sempre in un tempo successivo a quello tra Rossi e Verdi.

Spero si capisca

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


Posted by zonker on 23-02-2007 12:35:

direi che sia giusto.


All times are GMT. The time now is 10:14.
Show all 12 posts from this thread on one page

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