[FLUG-Tech] aiutino db

alessio chemeri alessio.chemeri@gmail.com
Mar 16 Ott 2012 18:03:50 CEST


allora,


Il 16 ottobre 2012 14:00, Leonardo Boselli <leo@dicea.unifi.it> ha scritto:
> On 10/15/2012 06:19 PM, alessio chemeri wrote:
>>>
>>> Occorre un DB con funzioni di ricerca.
>>
>>
>> occorre che tu ci mandi uno schema approssimativo.. :D
>
>
> tab1 (possessore): *PID-Nome-disponibilita-localita-recapito
> (disponibilità significa "nessuna" "a guidare" "a caricare" "a caricare e
> guiidare")
> tab2 (diponibile): *ID-VID-PID-Datainizio-datafine-titolo-condizioni
> (titolo significa prestito/scambio/locazione, condizioni possono essere
> annotazione del tipo "non riportare tra le 20 e le 22" oppure "in questo
> periodo ho tolto il portabagagli dal tetto")
> tab3 (veicolo): *VID-descrizione-dimensioni(....)-caratteristiche(....)
>
senza uno schema davanti io ho sempre durato un po' di fatica.. :D
non ho tempofisico.. appena lo trovo me la scrivo. tanto con LibreO



>
>> comunque, da quello che ho capito, hai :
>>
>> -dei proprietari di veicoli
>> -degli eventuali autisti del veicolo stesso (proprietari o no)
>
>
> sono lo stessa tabella, non ha senso distinguere. un veicolo può avere più
> possessori, un possessore può possedere più veicoli.

questa che stai definendo è una molti-molti... quindi ti vai a incasinare..
secondo me devi sbrigliare questa ..in qualche modo.

In due possono fissare gli stessi automezzi? o hanno automezzi diversi
che possono "intersecare"?

nel primo caso è piu' facile.. crei un id-parcoauto e lo metti uguale
ad entrambi
e usi l'id-parcoauto insieme all'id utente..




>
>
>> -dei veicoli che hanno delle disponibilità varie nel tempo e
>> particolarità differenti..
>> (trasporto cose, trasporto persone)
>> forse, ti converrebbe scorporare i veicoli in due gruppi.. perche' una
>> cosa è il trasporto
>> persone, l'altra e' il trasporto cose..
>
>
> Non è un problema, sotto dimensioni ci sono parecchi campi. lo scopo
> principale però è di trovare vicoli per trasposto grossi oggetti, e magari
> chi ta da una mano.
>
>
>> Ai veicoli credo tu debba dare valori quali:
>> - idveicolo (ch1 , ti converrebbe usare la targa.. niente è piu'
>> univoco della targa :D (a parte clonazioni))
>
>
> lascia fuori il carretto a mano e il rimorchio per bicicletta, ma una
> soluzione [targa virtuale] si può trovare anche per questi due casi, è la
> cosa che preoccupa di meno
>
>
>> - idproprietario (* punta alla tabella dei proprietari)
>
>
> non posso, potrei avere più proprietari per lo stesso veicolo.
> è questo che mi frega ....

vedi sopra (scusa sto scrivendo da lavoro.. se scrivo cazzate perdonami,
generalmente sono un ottimo analizzatore di queste situazioni anzi mi
permetto di dire che era un mio punto forte (ruggine a parte).. ma nello
specifico ho veramente dei peni ad altezza deretano spaziali..
>
>
>> sulla tabella tempo-prestito... ti occorre
>> -idveicolo
>> -inizio data disponibilita (data unica + orario.. quindi datetime..
>> perche' potresti poterlo prestare magari solo per 3 ore del
>> pomeriggio)
>
>
> quello è chiaro !
>
>
>> -tipologia disponibilita (prestito, oppure scambio.. credo che per
>> scambio intendi, "ti do il mio fiorino, ma dammi un mezzo per
>> muovermi...?")
>
>
> esatto ....
>
>
>> -fine data disponibilita
>> -idprenotazione (qui ci metti chi se lo prenota..)
>
>
> questa non è prevista. la contrattazione è diretta tra le parti. sta al
> prossessore di ritirare la disponibilità, fra l'altro non è detto che il
> periodo per il quale il mezzo è offerto serva tutto_

pero' senza la prenotazione del "ticket" potresti trovarti con gente che
assilla qualche "prestatore" per avere il solito mezzo nel solito momento
(perche' non vede che è gia stato occupato lo "slot" e quindi a lui risulta
libero..rischi quindi di accavallarli se chi lo presta si dimentica di
averlo gia
"assegnato" a qualcun altro.. e potrebbe capitare con prenotazioni a lungo
termine)


>
>
>> la palla in questo caso è che chi presta il mezzo deve tutte le volte
>> rinnovare i "ticket" di prestito..
>> quindi o lo fai periodico (tipo "tutti i lunedi dalle 15 alle 18") o
>> fai un qualche script che ogni settimana / mese / periodo deciso da te
>> rinnova i ticket..
>
>
> credi a me, meglio chiedere di rinnovarlo a mano. chi è interessato
> aggiorna, chi non lo è più c'è il rischio che lasci una disponibilità per
> ciò che non è disponibile, che è peggio.
vero.. ma magari potresti creare dei reminder postali periodici,(detti
anche spam), o simili che ricordano al "prestatore" la sua
situazione..
>
>
>>> per ogni veicolo ci sarebbero più record di questo tipo (in quanto potrei
>>> essere disposto a prestarlo senza condizioni il giovedì, mentre solo se
>>> me
>>> ne danno uno in cambio il mercoledì mentre al lunedì e martedì lo
>>> condivido
>>> con la moglie alla quale potete pure chiederlo ... ma non la settimana di
>>> pasqua) La idea era di avere [un vincolo esterno è di usare mysql nella
>>> versione di debian stable] tre tabelle: una dei possessori, una dei
>>> veicoli
>>> e una con le disponibilità, con due record addizionali: uno che punta al
>>> possessore e uno che punta al veicolo.
>>> C'è da dire che normalmente le richieste verrebbero fatte indicando le
>>> caratteristiche del veicolo (quindi cercando sulla tabella veicoli); la
>>> data
>>> in cui si vuole il mezzo, e ritornerebbero la lista di mezzi e
>>> possessori;
>>> ma anche con la possibilità di fare una contemporanea ricerca sul campo
>>> possessore ("disposto a aiutare a caricare e/o guidare")
>>>
>>> Esiste un modo più efficiente per organizzare il DB ?

questo esiste sempre. :D ed esistono molteplici modi di incasinarlo
sempre di piu' eeheheh

cut

> no, quello fa cose in più ma non ha tutta la flessibilita dei quello che
> serve in questo caso.
> quello che mi lascia dubbi è come fare la query chiedendo
> "cercami veicoli con lunghezza di carico almeno 220 cm" e fin qui facile
> (tabella veicoli)

fin qui facile

> il cui proprietario (cioè chi ti da le chiavi) sia a Firenze [e
> probabilmente il veicolo sarà lì, ma non è una caratteristica in carico la
> veicolo che in quanto veicolo è soggetto a spostamenti] e qui cerchi sulla
> tablella proprietari

sono due query separate che poi unisci per trovare eventuali risultati..



> e che sia disponibile il giorno x dalle y alle z
>
> quindi estrarre quei record in cui il campo PID e VID sono stati estratti
> entrambi nelle prime due ricerche.
> non mi è chiaro come fare la query ...

cerchi il mezzo specifico, AND filtri via quelli che non hanno il
"facchino" incluso
(e vedrai ottieni un bel nulla :D)


>
> più difficile: voglio due persone che mi aiutino !

beh.. due persone da quello che hai come dati non le trovi mai, perche'
hai gli autisti al max.. non avrai mai nelle tue info il "supporto"
:D
devi fare una tabella a parte con i facchini secondo me..
a quel punto hai la loro disponibilita e diventano due query fatte a parte..
cerchi un mezzo e cerchi un facchino.. nel datetime scelto.. contatti entrambi
ed è fatta..

il facchino dovrebbe essere slegato dal mezzo.

e devi includere assolutamente la posizione di prelievo di entrambi..
gps o fai te
ma senza vai nel ginepraio :D

> quindi cerco quei record dalla tabella disponibilità i cui lo stesso veicolo
> VID nella stessa data appare con due PID diversi con flag disponibilità a
> caricare attivo su entrambi (ossia ci sono almeno 2 possessori, a cui posso
> chiedere di aiutarmi a caricare)
> come si fa senza tabelle ausiliarie ?
>
>
> _______________________________________________
> FLUG - Discussioni tecniche - flug-tech@lists.linux.it
> URL: http://lists.linux.it/listinfo/flug-tech
> Archivio: http://lists.linux.it/pipermail/tech


Maggiori informazioni sulla lista flug-tech