Query db postato il 26/05/2012 12:11:49 nel forum programmazione, gdrcd e open source
Ciao a tutti!
Ho un problema con delle Query del DB
nel gdr che sto creando vorrei imporre i valori caratteristica nella scheda, sarebbero valori che vanno in base alla razza e che non si assegnano all'iscrizione.
Il problema però è che non riesco a cambiarli né dal pannello gestione all'interno della land né dalla tabella Razze nel DB e riesco a cambiarli solo dalla tabella personaggio del db.
Forse ho sbagliato a creare le stringhe nel db ? Ho mancato qualche valore fondamentale ? e come si fa a riparare la cosa ?
Vi ringrazio anticipatamente, purtroppo non sono una programmatrice e non ne ho trovati per la mia land e piano piano sto facendolo da sola ma quando incappo in questi errori non so proprio come uscirmene!
Pagine → 1
26/05/2012 14:39:22
Usi un OS o stai programmando da zero?
Perché a livello di logica se le caratteristiche sono nella tabella personaggio anziché in quella di razza vuol dire che sono legate al singolo personaggio anziché alla razza.
Mi spiego meglio. Se le caratteristiche sono fisse in base alla razza (e non vengono modificate nel tempo per il singolo personaggio) non ha senso che esse si trovino nella tabella personaggio.
Mettiamo due caratteristiche A e B e due razze alfa e beta.
Inoltre la razza Alfa avra (A = 10 e B = 5) mentre la razza Beta avrà (A = 7 e B = 8). Se si usa metterle nella tabella personaggio anziché in quella razza viene una tabella cosi composta
personaggio | caratteristica A | caratteristica B | razza
Tizio | 10 | 5 | alfa
Caio | 10 | 5 | alfa
Sempronio | 7 | 8 | beta
e cosi via. Noterai che ci sono delle tuple che si ripetono identiche e che hanno una relazione fissa. Sussiste la necessità di una normalizzazione per evitare ridondanza di informazioni che occupano solo spazio e nell'eventualità di un aggiornamento delle caratteristiche di razza potrebbero portare via molte risorse
Per questo poi costituire due tabelle
Quella personaggio
personaggio | razza
Tizio | alfa
Caio | alfa
Sempronio | beta
E quella razza
razza | caratteristica A | caratteristica B
alfa | 10 | 5
beta | 7 | 8
Per trovare le caratteristiche di Tizio basta fare un match tra personaggio.razza e razza.razza. In questo modo se devi aggiornare le caratteristiche di una razza (o aggiungere una nuova caratteristica) non dovrai più aggiornare le n righe della tabella personaggio ma una sola riga della tabella razza (che sono molto meno rispetto a quelle della tabella personaggio).
L'unico motivo per il quale dovresti mantenere la prima struttura e se nel tempo un singolo personaggio possa decidere, o abbia l'opportunità, di aumentare le proprie caratteristiche (per esempio attraverso punti bonus o cose simili).
Spero di esser stato d'aiuto
27/05/2012 10:58:27 e modificato da coralyne il 27/05/2012 10:58:47
Grazie mille per la spiegazione !
ma come faccio a far funzionare la cosa ?
come faccio a fare in modo che le caratteristiche che voglio cambiare dal pannello gestione appaiano nelle schede ?
28/05/2012 00:38:54
è così infatti ma solo per 2 valori che erano gia preimpostati
ne ho aggiunti altri due a mano, inserendo due stringhe nel Db ma questi ultimi non fungono.
Può dipendere dal fatto che non ho inserito la stringa per i valori massimi ?
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Port Royal: Cappe, Gorgiere e Tricorni