User Tools

Site Tools


struttura_database
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


struttura_database [2017/06/28 01:28] (current) – created marco
Line 1: Line 1:
 +<file>
  
 +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
 +
 +
 +</file>
struttura_database.txt · Last modified: 2017/06/28 01:28 by marco