Newsgroup: it.comp.software.database
Titolo: Applicazione Agenda

Ciao a tutti,
devo organizzare un database che mi gestisca le attivitï¿œ di un'agenda e 
non so come andare a memorizzare i dati che vengono selezionati 
dall'operatore.
Vi spiego in dettaglio:
L'utente si troverï¿œ davanti a queste richieste comuni:
- Nome Attivitï¿œ
- Gestione Temporale
Per quanto riguarda la gestione temporale, volevo prevedere la varie 
casistiche in funzione delle esigenze dell'utente.
     Scelta 1 : Per Giorni             Data di Inizio 
                        				      Data di Fine
                                       Esegui ogni  2 giorni
                                              ogni  3 giorni
                                              ..............
                                              ogni N giorni
     Scelta 2: Per Mese     A :Seleziona i mesi di interesse
                            B :Elenca le date di interesse
                            C :			Ogni 1ï¿œ del mese
                                                      2ï¿œ del mese
                                                      3ï¿œ del mese
                                                      4ï¿œ del mese
                                                      ultimo del mese
      Scelta 3 : Per Anno         Data di Inizio
                                          Esegui ogni 2 Anni
                                                 ogni 3 Anni
                                                 ...........
                                                 ogni N Anni
Non so se, in questo modo, ho esaurito tutte le possibili casistiche ma 
giï¿œ siamo a buon punto.
Ebbene: Di fronte a tutte queste possibiltï¿œ non so come andare a 
strutturare il database, anche perchï¿œ voglio prevedere, anche, la il 
salvataggio, la modifica e la cancellazione di quanto inserisce l'utente  .
Mi spiego con un esempio:
Supponiamo che l'utente inserisca la seguente:
Nome Attivitï¿œ : pagamento canone palestra
Gestione Temporale     Scelta 1  Data di inizio : 01/01/2009
                                  Data di FIne   : 31/12/2009
                                  Esegui ogni 30 gg.
Non so se ï¿œ il modo corretto di ragionare quindi per tutti coloro che 
hanno affrontato questo tipo di problematica scusate le imperfezioni nel 
ragionamento.
Thanks

 ragionamento.
Io semplicemente da codice andrei a creare in una tabella eventi una cosa
del genere
ATTIVITA:
CODICE, DESCRIZIONE
PALC, pagamento canone palestra
DENTISTA, dentista
EVENTI:
CODATTIVITA (FK), DATA
PALC, 01/01/2009
PALC, 01/02/2009
...
E in questo caso creerei da codice 12 di questi record.
Cos� poi ti estrai i dati per tiologia di attivit� o per periodo.
Gi� che ci siamo usiamo anche un OraInizio OraFine che � pi� consona a un
applicativo di appuntamenti, anzi userei due campi Date_Time direttamente
(una trasferta di 3gg)
CODATTIVITA (FK), Inizio, Fine
PALC, 01/01/2009 0.00.00, 01/01/2009 0.00.00
PALC, 01/02/2009 0.00.00, 01/02/2009 0.00.00
DENTISTA, 01/02/2009 14.30.00, 01/02/2009 17.30.00
Questo a spanne, e non ho letto neanche tutto il post.
Magari poi ti servier� mettere una nota al singolo evento di
quell'attivit�.
Poi se vuoi far vedere il planning all'utente avrai bisogno di grafici
gantt o simile.

 gantt o simile.
Lineare, come ragionamento.
Il problema ï¿œ nell'eventuale modifica o cancellazioe dell'attivitï¿œ.
Supponiamo che l'utente abbia inserito l'attivitï¿œ PALC per 2 anni:
es. dal 01/01/2009 al 31/12/2010
Se lo volesse cancellare, in visualizzazione vedrebbe 24 voci di PALC 1 
per ogni mese e dovrebbe cancellare una per una le voci:
Un pï¿œ scomodo, no ?

 Un p� scomodo, no ?
Non se fai un pannello di controllo che fa cancellare tutte la attivit�
associate.
Insomma basta che all'update di un'attivita chiedi se ripianificare tutti
gli eventi o meno, avvertendo che perdono le note. Oppure se vuoi fare le
cose fatte meglio fai vedere le differenze di pianificazione rispetto a
come sono schedulati e chiedi che fare ed eventualmente quali record
aggiornare o da quale data (*).
Anche perch� altrimenti l'abbonamento uno ad esempio ad agosto se mensile
non lo paga solitamente, ma non sempre.
(*) E comunque poi magari uno si scoccia e lo fa trimestrale, dovrai avere
che da gennaio a giugno l'ha pagato ogni mese, e da giugno lo paga ogni 3
mesi.
Di questo devi tenerne conto se � un agenda che viene guardata non solo per
presente/futuro ma per vedere anche cos'ho fatto, quante volte ho pagato
ecc.