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