[FLUG-Tech] aiutino db

alessio chemeri alessio.chemeri@gmail.com
Mer 17 Ott 2012 10:41:00 CEST


Il 17 ottobre 2012 10:20, Leonardo Boselli <leo@dicea.unifi.it> ha scritto:
> On 10/16/2012 06:03 PM, alessio chemeri wrote:
>>
>> allora,
>>
>>>> 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.
>
>
> IL PROBLEMA È PROPIO QUESTO: nel caso di più veicoli nella stessa
> famiglia/comunità il molti-molti è tassativo.
>
>
>> 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..
>
>
> il problema delle prenotazioni è irrilevante, in quanto viene gestito dai
> proprietari, che quando lo danno provvedono a attivare il flag nascosto per
> quella offerta.
>
>
>>>> - idproprietario (* punta alla tabella dei proprietari)
>>>
>>> non posso, potrei avere più proprietari per lo stesso veicolo.
>>> è questo che mi frega ....
>
>
> vedi ...
>
>
>>> 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 cosa è sperimentata, capiterebbe lo stesso, come detto più avanti un
> sistema
> c'è già, quindi tutte queste  criticità sono già state sperimentate.
> quella che manca è la implementazione del molti possessori per lo stesso
> mezzo.
>
ok tagliamo via questo .

>
>
>>>> 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..
>
>
> c'è già .... in effetti un sistema è già in uso, ma funziona 1:1
> Il problema è venuto quando è saltata fuori una famiglia di 5 con 4 mezzi
> ...

allora hai una buona chance di risolverlo con l'idparcoauto.

mi spiego.. metti un altra parte della chiave nelle persone e nelle auto.
IDparcoauto.
questo ti comporterà che avrai:
nella tabella utenti
idutente--------\
idparcoauto --/ chiave prim. composta.


nella tabella auto
idauto-----------\
idparcoauto--/    chiave prim. composta

con la condizione che un utente non puo' far parte di piu' "parchiauto".

quando attivi un "ticket" di disponibilità devi avere l'ok di tutti i
membri di quel parco auto.
quando cerchi piu' persone per il solito trasporto cerchi quelli che
hanno idparcoauto uguale..

ovviamente attivare i ticket comporterà un passo in piu', perche' te
membro1 dell' idparcoauto dici che l'auto1 è libera mercoledi e prima
che venga data veramente libera
dovrà passare la eventuale validazione degli altri membri del
parcoauto, magari con
una tabella di disponibilità "preparata prima" eviti di dover spaccare
i maroni a tutti i membri..





>
>
>>>>> 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)
>
>
> io aspetterei a dire questo. è "istituzionalmente" previsto un invito a cena
> o a pranzo per chi aiuta.
>
>
>>> 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.
>
>
> per questo sono due tabelle separate, chiaro che cercare prima un mezzo con
> due possessori diposti ad aiutare aiuta molto perché sei quasi sicuro che li
> trovi tutti assieme nello stesso posto (di solito si tratta di familiari o
> conviventi).
>
>
>> e devi includere assolutamente la posizione di prelievo di entrambi..
>> gps o fai te
>> ma senza vai nel ginepraio :D
>
>
> il luogo è nella tabella "persone" ... per questo la ricerca deve
> comprendere anche quella tabella.
>
>
>>> 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 ?
>
>
> --
> Leonardo Boselli
>
> _______________________________________________
> 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