User Tools

Site Tools


struttura_database

Differences

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

Link to this comparison view

struttura_database [2017/06/28 03:28] (current)
marco created
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 03:28 by marco