User Tools

Site Tools


struttura_database
le tabelle con $anno vengono create per ogni anno creato:

anni : contiene gli anni creati e il loro tipo di periodi (giornalieri o
settimanali: "g" o "s")

appartamenti: idappartamenti contiene il nome dell'appartamento (tipo
text) ed è la primary key, questo nome è usato per identificare gli
appartamenti anche nelle tabelle prenota$anno , regole$anno, ... , però
non vi è nessun constraint. Gli altri campi sono quelli che si cambiano 
da modifica_app.php ; app_vicini è inutilizzato (si doveva usare per 
prenotazioni di clienti che vogliono stare vicini, troppo complicato da 
realizzare per ora).

clienti : tabella con tutti i clienti di tutti gli anni. I nomi dei campi 
sono abbastanza chiari, idclienti è primary key.

ntariffe$anno : la riga 1 (idntariffe=1) serve per i nomi delle tariffe, 
nel campo nomecostoagg vi è il numero attuale di tariffe., nel campo 
regole vi è il numero del prossimo costo aggiuntivo da aggiungere. Le 
righe 2 e 3 servono rispettivamente per la percentuale e l'arrotondamento 
delle caparre nei campi delle rispettive tariffe.
Tutte le righe seguenti sono per i dati dei costi aggiuntivi: il nome sta 
sotto nomecostoagg; il tipo (costo settimanale, finale o percentuale) si 
determina in base al campo dove è inserito il prezzo; costop_arrotond è a 
quanto deve essere arrotondato il costo percentuale; nel campo regole 
ogni lettera rappresenta una regola: la prima se mostrare il costo nella 
pagina di inserzione: "s" per non mostrarlo o "r" per mostrarlo; se
bisogna chiedere per quanto deve essere moltiplicato("s" o "n"); se deve 
essere considerato come letto aggiuntivo("s" o "n"); per i costi 
settimanali vi è una lettera in più (la seconda) per il numero di 
settimane ("t" tutte, "m" tutte meno una o "c" chiedere). Se vi è un 1 
nel campo sotto una tariffa il costo viene applicato automaticamente a 
quella tariffa.

periodi$anno : contiene tutti i periodi e i valori delle tariffe per
ogni periodo. Quando viene inserita una data per le prenotazioni viene
trasformata in idperiodi con questa tabella e il valore di idperiodi
inserito in iddatainizio o iddatafine di prenota$anno (o regole$anno, 
ecc.).

personalizza : dati che vengono immessi da personalizza.php

prenota$anno : contiene tutte le prenotazioni che si inseriscono durante
l'anno. I primi campi sono già spiegati nelle tabelle precedenti. Nel 
campo assegnazioneapp vi può essere: "k" per prenotazioni con 
appartamento fisso; "c" per assegnazione condizionata
solo in alcuni appartamenti, quindi sarà presente anche il campo
app_assegnabili con la lista di appartamenti separati da virgole; v per
assegnazione variabile in tutti gli appartamenti. Il campo 
idprenota_compagna è inutilizzato per la stessa ragione di app_vicini in 
appartamenti. In tariffa vi sono sia il nome che il valore della tariffa 
(senza costi agg. e sconto) separati dai caratteri "#@&". Ugualmente in 
costiaggiuntivi si usa "#@&" per separare costi diversi e "#?&" per 
separare i dati di ogni costo: il primo dato è cf per costo finale, cs 
per costo settimanale o cp per costo percentuale; gli altri dati 
dipendono dal tipo di costo (nome, prezzo...). Il campo tariffa_tot si 
può ricavare dai campi precedenti ma c'è per comodità. Nel campo 
tariffesettimanali vi sono le tariffe per ogni periodo separate da virgole, 
sommate danno il valore in tariffa. Gli altri campi sono abbastanza chiari, 
data_modifica è inutilizzato per ora.

regole$anno : contiene sia le regole1 che 2 (a seconda se nella riga è
presente app_agenzia o tariffa_per_app). La lista di appartamenti per la
regola2 sta sotto motivazione.

costi$anno: sono i dati che si inseriscono da costi.php , sia le spese 
che le entrate (a seconda di tipo_costo: "s" o "e"). provenienza_costo 
serve per sapere se l'entrata deve essere sottratta dai pagamenti delle 
prenotazioni o no nelle tabella con tutte le prenotazioni. Alla riga 0 
c'è la somma totale che va sottratta dal totale delle prenotazioni.

soldi$anno : serve solo per storia_soldi.php e viene aggiornata ogni
volta che cambiano i soldi pagati di una prenotazione da
modifica_prenota.php . saldo_cassa serve per se si vorrà fare la storia
delle entrate-uscite in cassa. In motivazione ci sono i dati della
prenotazione: idclienti;iddatainizio;iddatafine . La riga 0 serve per
riportare nella tabella con tutte le prenotazioni. i soldi versati da
prenotazioni poi cancellate.

versioni : contiene la versione del programma e nella riga 2 un numero
che viene sempre aumentato per avere un nome unico per tabelle ausiliarie 
o altro.


Quando si deve fare il locking di più tabelle si segue sempre questo 
ordine:

-anni
-$tableprenota
-versioni
-$tablenometariffe
-$tableperiodi
-appartamenti
-clienti
-$tablecosti
-$tableregole
-$tablesoldi
-personalizza

struttura_database.txt · Last modified: 2017/06/28 01:28 by marco