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 > Progetto Basi 2011/2012 Thread Rating: 1 votes, 4.00 average.
Pages (12): « 1 2 3 4 [5] 6 7 8 9 » ... Last »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
number15
.grande:maestro.

User info:
Registered: Nov 2005
Posts: 652 (0.09 al dì)
Location:
Corso:
Anno:
Time Online: 121 Days, 13:57:11 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Si, ovviamente si complica il tutto, ma è strutturalmente molto più corretto. Per le funzioni da implementare in questo progetto probabilmente non ti serve nè ti porta alcun vantaggio, però se progetti pensando a futuri sviluppi non si può tralasciare questo aspetto.

Dato che non è richiesto dalle specifiche, puoi tranquillamente non farlo, così eviti di incasinarti troppo se non hai troppa padronanza con la materia.

Nel caso lo facessi ovviamente in fase di inserimento devi inserire nelle due tabelle, associando ad annuncio la chiave dell'immobile inserito.
Se l'immobile è già presente invece devi solamente inserire in annuncio.

Con una semplice join arrivi allo stesso punto di avere un'unica tabella, quindi per le funzioni di ricerca ti cambia relativamente.
Tra l'altro leggo che richiede viste materializzate, quindi a maggior ragione cambia nulla.

Mi dite cosa intende per clustering? Oltre che concettualmente, proprio tecnicamente vorrei sapere come andrebbero implementati questi raggruppamenti.
Perché se è quello che intendo io, va fatto con tecniche di partizionamento che mi sembra tutt'altro che semplice.

Per quanto riguarda la tua soluzione per me è 'scorretta' per due motivi:
1) come vedi avrebbe più senso legarla ad immobile e non ad annuncio (è l'appartamento ad avere la portineria, non l'annuncio: lo stesso appartamento avrà la portineria in tutti gli annunci che gli associ)
2) non c'è motivo di dividere in due tabelle quegli attributi che saranno sempre da esplicare per ogni annuncio, dato che non splitti in base alla categoria di immobile.

Guarda qualche post sopra che se ne è discusso. Direi che ad occhio quelle son le uniche due opzioni valutabili.

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

Last edited by number15 on 06-01-2012 at 11:30

06-01-2012 11:24
Click Here to See the Profile for number15 Click here to Send number15 a Private Message Find more posts by number15 Add number15 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
SanJuanWolf89
.consigliere.

User info:
Registered: Jun 2010
Posts: 100 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 7:05:10 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Raggruppamento per similarita. Gli annunci possono essere raggruppati in cluster sulla
base di criteri di similarita. Un cluster e un gruppo di annunci che risultano simili rispetto
a un dato criterio. Ad esempio, utilizzando la vicinanza geogra ca come criterio di simila-
rita, si otterranno cluster che raggruppano annunci di immobili collocati in aree vicine. Il
1Lo studente decide a priori e documenta le tipologie disponibili.
2
criterio di similarita puo essere dotato di parametri che ne in
uenzano il comportamento2.
Un esempio di parametro e la tolleranza che stabilisce la soglia entro la quale considerare
simili due annunci. Ad esempio, utilizzando la vicinanza geogra ca come criterio, la tolle-
ranza puo essere di 10km per fare in modo che gli annunci di immobili nel raggio di 10km
vengano raggruppati nel medesimo cluster. Il sistema deve supportare ALMENO 2 criteri
di similarita di erenti. Il criterio per vicinanza geogra ca deve essere obbligatoriamente
supportato dalla base di dati. Gli utenti registrati e non registrati possono visualizzare gli
annunci raggruppati in cluster secondo un criterio di similarita prede nito scelto dall'am-
ministratore dell'applicazione. L'amministratore puo cambiare la visualizzazione in cluster
selezionando un diverso criterio di similarita tra quelli supportati dall'applicazione. Nella
realizzazione del progetto, si consideri che l'inserimento, la modi ca e la cancellazione di
annunci richiede l'aggiornamento dei cluster.

io l'ho implementato cn le viste materializzate con opportuni trigger :)

06-01-2012 11:32
Click Here to See the Profile for SanJuanWolf89 Click here to Send SanJuanWolf89 a Private Message Find more posts by SanJuanWolf89 Add SanJuanWolf89 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
number15
.grande:maestro.

User info:
Registered: Nov 2005
Posts: 652 (0.09 al dì)
Location:
Corso:
Anno:
Time Online: 121 Days, 13:57:11 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Si, avevo capito a cosa servissero, ma non mi era ben chiaro come volesse che fosse realizzato il tutto.

Spero vivamente che dobbiate farlo con le viste materializzate, ma il dubbio mi era sorto perché sopra parla chiaramente di viste materializzate

E’ pertanto necessario realizzare gli opportuni trigger che mantengano aggiornate tali viste in relazione all’inserimento
o alla modifica di annunci.

mentre qua altrettanto chiaramente parla di cluster
Nella realizzazione del progetto, si consideri che l'inserimento, la modi ca e la cancellazione di annunci richiede l'aggiornamento dei cluster.

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

06-01-2012 11:36
Click Here to See the Profile for number15 Click here to Send number15 a Private Message Find more posts by number15 Add number15 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
SanJuanWolf89
.consigliere.

User info:
Registered: Jun 2010
Posts: 100 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 7:05:10 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Gia ma dato k alle lezioni ci siamo concentrati soprattutto sullòe viste m. e dato che il partizionamento in laboratoriomanco l abbiamo fatto io l'hoimplementato cosi :) e x questo per nn rendere troppo complesso il tutto ho usato una sola tabella annuncio..cmq è un ottima soluzione anke la tua

06-01-2012 11:40
Click Here to See the Profile for SanJuanWolf89 Click here to Send SanJuanWolf89 a Private Message Find more posts by SanJuanWolf89 Add SanJuanWolf89 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
number15
.grande:maestro.

User info:
Registered: Nov 2005
Posts: 652 (0.09 al dì)
Location:
Corso:
Anno:
Time Online: 121 Days, 13:57:11 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Come ti ho detto credo e spero che voglia viste materializzate :D

Usare solo la tabella annuncio rispetta le specifiche quindi è senz'altro corretto.

Quando diedi io l'esame era espressamente richiesto che fosse tutto in terza forma normale.
Ora nel testo non lo vedo scritto, ma dateci un occhio comunque che potrebbero chiedervelo in fase di discussione del progetto.

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

06-01-2012 11:51
Click Here to See the Profile for number15 Click here to Send number15 a Private Message Find more posts by number15 Add number15 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
SanJuanWolf89
.consigliere.

User info:
Registered: Jun 2010
Posts: 100 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 7:05:10 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

sISI poi cmq il prof ha dtt k c possono essere diverse soluzioni quindi io l ho implementato cosi..inoltre a me ha dtt espressamente che vogliono vedere cm facciamo i trigger quindi penso si concentrino su quello sopratutto:)

06-01-2012 11:53
Click Here to See the Profile for SanJuanWolf89 Click here to Send SanJuanWolf89 a Private Message Find more posts by SanJuanWolf89 Add SanJuanWolf89 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
number15
.grande:maestro.

User info:
Registered: Nov 2005
Posts: 652 (0.09 al dì)
Location:
Corso:
Anno:
Time Online: 121 Days, 13:57:11 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Se ti vengono i trigger sei già a buon punto, dato che spesso è la cosa più ostica da gestire, o meglio, si sbaglia sempre qualcosa nella sintassi agli inizi.

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

06-01-2012 11:57
Click Here to See the Profile for number15 Click here to Send number15 a Private Message Find more posts by number15 Add number15 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
spikey
.amico.

User info:
Registered: Oct 2010
Posts: 34 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno:
Time Online: 1 Day, 20:29:12 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ragazzi ma per quanto riguarda il raggruppamento di similarità della vicinanza geografica, io ho trovato questa formula:

Siano x1, y1, x2, y2 la latitudine (x) e la longitudine (y) rispettivamente dei punti A e B; sia DELTA1 la differenza tra le due longitudini e DELTA2 la distanza angolare tra i due punti considerati (A,B).
La distanza angolare tra A e B è data dalla formula:

DELTA1 = y1 - y2
DELTA2 = arccos(sin(x1)*sin(x2) + cos(x1)*cos(x2)*cos(DELTA1))

Sia R il raggio della terra arrotondato e D la distanza in Km tra A e B.
La distanza in Km tra A e B è data dalla formula:

R = 6360
D = DELTA2*R

Qualcuno ha fatto così?
Inoltre usando questa formula, dovrei basarmi su una coppia di coordinate "prestabilite" per verificare la vicinanza con tutte le altre coppie. Quale coppia di coordinate "prestabilite" scegliere?

Fatemi sapere, grazie!

Last edited by spikey on 08-01-2012 at 15:24

08-01-2012 15:11
Click Here to See the Profile for spikey Click here to Send spikey a Private Message Find more posts by spikey Add spikey to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Shaper
.consigliere.

User info:
Registered: Sep 2007
Posts: 147 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Secondo anno
Time Online: 1 Day, 11:23:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by spikey

Inoltre usando questa formula, dovrei basarmi su una coppia di coordinate "prestabilite" per verificare la vicinanza con tutte le altre coppie. Quale coppia di coordinate "prestabilite" scegliere?

Fatemi sapere, grazie!


Io pensavo di implementare in PHP questo algoritmo qua: Dbscan
A prima vista non mi sembra complicato e fa tutto quello che serve e gli unici parametri che gli devi dare sono la soglia e il numero minimo di elementi in un cluster (che può tranquillamente essere 1), quindi non hai nessun problema di scelta delle coordinate "prestabilite"

Ovviamente se qualcuno ha già trovato in rete un'implementazione già fatta ben venga! :P

__________________
Eidolon64|Blog

08-01-2012 16:02
Click Here to See the Profile for Shaper Click here to Send Shaper a Private Message Visit Shaper's homepage! Find more posts by Shaper Add Shaper to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
number15
.grande:maestro.

User info:
Registered: Nov 2005
Posts: 652 (0.09 al dì)
Location:
Corso:
Anno:
Time Online: 121 Days, 13:57:11 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

@Spikey
Io in altri progetti utilizzo questa formula:
SELECT ROUND(((ACOS(SIN($lat * PI() / 180) * SIN(t.lat * PI() / 180) + COS($lat * PI() / 180) * COS(t.lat * PI() / 180) *
COS(($lon - t.lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515 $unit), 2) AS distance
FROM table t
$unit = '*1.609344' per i km
$lat e $lon sono le coordinate dell'oggetto che si prende come riferimento.

Questo però non fa quello richiesto dal progetto, perché i raggruppamenti vanno fatti a monte e soprattutto non rispetto ad un punto sulla mappa, ma rispetto ai vari punti sulla mappa.

@Shaper
Credo possa essere una buona soluzione: l'unico dubbio è che solitamente non sono richieste particolari algoritmi a livello di programmazione, e in questo caso non mi pare proprio semplicissimo.

Onestamente non saprei proprio aiutarvi su sta cosa.
Tra l'altro è una funzione di cui non capisco l'utilità.

Boh boh, mi vien da pensare però che ci voglia per forza un punto di riferimento.

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

Last edited by number15 on 09-01-2012 at 19:51

08-01-2012 19:46
Click Here to See the Profile for number15 Click here to Send number15 a Private Message Find more posts by number15 Add number15 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
pintu
.illuminato.

User info:
Registered: Jul 2010
Posts: 248 (0.04 al dì)
Location: Novara
Corso: informatica
Anno:
Time Online: 2 Days, 0:46:30 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Scusate una cosa che non centra niente..qualcuno sa se per lo scritto di basi c'è il salto appello?

09-01-2012 18:16
Click Here to See the Profile for pintu Click here to Send pintu a Private Message Find more posts by pintu Add pintu to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Shaper
.consigliere.

User info:
Registered: Sep 2007
Posts: 147 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Secondo anno
Time Online: 1 Day, 11:23:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by pintu
Scusate una cosa che non centra niente..qualcuno sa se per lo scritto di basi c'è il salto appello?


Per quello di settembre c'era, presumo anche per questo.. :(

__________________
Eidolon64|Blog

09-01-2012 19:26
Click Here to See the Profile for Shaper Click here to Send Shaper a Private Message Visit Shaper's homepage! Find more posts by Shaper Add Shaper to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
basettoni
.novellino.

User info:
Registered: Jan 2010
Posts: 6 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: 2
Time Online: 3:35:19 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ciao a tutti.
Anche io sono in procinto di consegnare il progetto ma ancora non ho trovato un modo logico di risolvere la questione della divisione in cluster... Ho pensato di "farla sporca" e implementare una funzione che ritorni, usando la funzione distanza, tutti gli annunci entro un raggio di N Km da un dato annuncio. Funzione che poi andrei ad usare nella visualizzazione del singolo annuncio dove visualizzerei tutti gli annunci che distano al massimo N Km dall'annuncio visualizzato.

Questa cosa però non mi convince perchè sembra dal testo che la divisione in cluster vada fatta quando si inserisce un nuovo annuncio e tutto vada salvato nel db. Ma come si può suddividere gli annunci in distanza senza avere un punto da cui calcolare le distanze?

Quanlcuno di voi ha avuto qualche idea in merito?

15-01-2012 10:39
Click Here to See the Profile for basettoni Click here to Send basettoni a Private Message Find more posts by basettoni Add basettoni to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Shaper
.consigliere.

User info:
Registered: Sep 2007
Posts: 147 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Secondo anno
Time Online: 1 Day, 11:23:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by basettoni
Ciao a tutti.
Anche io sono in procinto di consegnare il progetto ma ancora non ho trovato un modo logico di risolvere la questione della divisione in cluster... Ho pensato di "farla sporca" e implementare una funzione che ritorni, usando la funzione distanza, tutti gli annunci entro un raggio di N Km da un dato annuncio. Funzione che poi andrei ad usare nella visualizzazione del singolo annuncio dove visualizzerei tutti gli annunci che distano al massimo N Km dall'annuncio visualizzato.

Questa cosa però non mi convince perchè sembra dal testo che la divisione in cluster vada fatta quando si inserisce un nuovo annuncio e tutto vada salvato nel db. Ma come si può suddividere gli annunci in distanza senza avere un punto da cui calcolare le distanze?

Quanlcuno di voi ha avuto qualche idea in merito?


Come ho detto qualche post fa, l'algoritmo Dbscan fa proprio questo: divide un insieme di punti in cluster, senza la necessità di fornirgli nessun parametro a parte il numero minimo di punti che deve avere un cluster per essere considerato tale e la soglia.
Io lo sto implementando e credo di avere quasi finito: è un po' una rottura, ma è fattibile, con un po' di manipolazione di array.

Più che altro, ma poi il risultato dev'essere memorizzato nel database? Se faccio in modo che venga eseguito l'algoritmo ogni volta che si vogliono visualizzare i cluster non va bene lo stesso? Ok, come efficienza non sarà il massimo, ma non stiamo parlando di algoritmi poi così eterni..

__________________
Eidolon64|Blog

15-01-2012 10:45
Click Here to See the Profile for Shaper Click here to Send Shaper a Private Message Visit Shaper's homepage! Find more posts by Shaper Add Shaper to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
basettoni
.novellino.

User info:
Registered: Jan 2010
Posts: 6 (0.00 al dì)
Location: Milano
Corso: Informatica
Anno: 2
Time Online: 3:35:19 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by Shaper
Come ho detto qualche post fa, l'algoritmo Dbscan fa proprio questo: divide un insieme di punti in cluster, senza la necessità di fornirgli nessun parametro a parte il numero minimo di punti che deve avere un cluster per essere considerato tale e la soglia.
Io lo sto implementando e credo di avere quasi finito: è un po' una rottura, ma è fattibile, con un po' di manipolazione di array.

Più che altro, ma poi il risultato dev'essere memorizzato nel database? Se faccio in modo che venga eseguito l'algoritmo ogni volta che si vogliono visualizzare i cluster non va bene lo stesso? Ok, come efficienza non sarà il massimo, ma non stiamo parlando di algoritmi poi così eterni..


A pagina 3 dice:
"... si consideri consideri che l'inserimento, la modifica e la cancellazione di annunci richiede l'aggiornamento dei cluster."

Comunque se ho capito bene questo algoritmo in sostanza aggiunge un punto a un dato cluster se la distanza tra lui e un punto del cluster è minore di una data soglia imposta giusto?

Last edited by basettoni on 15-01-2012 at 11:01

15-01-2012 10:56
Click Here to See the Profile for basettoni Click here to Send basettoni a Private Message Find more posts by basettoni Add basettoni to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 20:13.    Post New Thread    Post A Reply
Pages (12): « 1 2 3 4 [5] 6 7 8 9 » ... Last »   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.082 seconds (72.85% PHP - 27.15% MySQL) con 23 query.