Newsgroup: it.comp.software.database
Titolo: Progettazione database

Mi trovo a dover modificare un database disegnato per la gestione di
un portale web.
il database contiene una colonna che identifica utente (cliente) con
un campo numerico chiave primaria e altri campi .. fra cui nome_utente
e la relativa password .
ora io devo modificare tale database e aggiungere :
lo stato dei lavori che l'azienda per cui lo sto facendo sta
compiendo per tale cliente (stato di avanzamento del progetto) e altri
dati che riguardano la rendicontazione di questi lavori sempre per
ogni cliente.
Premetto che io non sono esperto di progettazione database sebbene sia
vagamente a conoscenza di problematiche quali la ridondanza dei dati e
di problemi di consistenza.
detto cio' vorrei chiedere  funzionerebbe un database organizzato
cosi':
Tabella 1 (gia' esistente )
1            nome_cliente1         password_c_1 
2            nome_cliente2         password_c_2
3            nome_cliente3         password_c_3
Ora i dati che dovrei aggiungere ... (ogni utente ha un solo progetto)
Tabella 2 (mantiene per ogni cliente ident da chiave numerica lo stato
del progetto )
1  dati1_stato_avanzamento_progetto     dati2_bla_bla   dati3_bla_bla
2  dati1_stato_avanzamento_progetto     dati2_bla_bla   dati3_bla_bla
3  dati1_stato_avanzamento_progetto     dati2_bla_bla   dati3_bla_bla
La rendicontazione sarebbe composta poi da 5 parti che suddividerei in
tabelle
Tabella 3 [mantiene per ogni cliente i primi dati necessari per il
primo elemento di rendicontazione )
1 primi_dati_rendicontazione_primo_cliente 
2 primi_dati_rendicontazione_secondo_cliente
3 primi_dati_rendicontazione_terzo_cliente
............
Tabella 4 
1 secondi_dati_rendicontazione_primo_cliente 
2 secondi_dati_rendicontazione_secondo_cliente
3 secondi_dati_rendicontazione_terzo_cliente
.....
Tabella 5
1 terzi_dati_rendicontazione_primo_cliente 
2 terzi_dati_rendicontazione_secondo_cliente
3 terzi_dati_rendicontazione_terzo_cliente
....
Tabella 6
1 quarti_dati_rendicontazione_primo_cliente 
2 quarti_dati_rendicontazione_secondo_cliente
3 quarti_dati_rendicontazione_terzo_cliente
.....
Tabella 7 
1 quinti_dati_rendicontazione_primo_cliente 
2 quinti_dati_rendicontazione_secondo_cliente
3 quintii_dati_rendicontazione_terzo_cliente 
il DBMS usato e' MySQL 
ci sarebbe una "corrispondenza " tra i campi numerici di ogni tabella
che identificherebbe univocamente un cliente.
potrebbe funzionare una simile struttura ?
gli inserimenti nelle tabelle dalla 3 alla 7 dovrebbero essere
contemporanei ed eliminato o creato un utente i dati nelle rispettive
tabelle dovrebbero seguire la stessa sorte .
il campo numerico dovrebbe bastare per questo no ?
non ci dovrebbero essere ridondanze cosi' ?
se qualcuno conosce un testo che insegni velocente almeno le basi
della progettazione e normalizzazione di un DBMS gli sarei molto
grato.
Grazie e cordiali saluti Michele
PS mi scuso per la prolissita' e la scarsa chiarezza (dovuta prob .
alla scarsa conoscenza)


Fammi sapere se vuoi altri chiarimenti
Massimo
----------------------------------------------------------
Il vero problema non è tanto sapere se le macchine pensano
bensì se gli uomini pensano. B.F. SKINNER (1904-90)
----------------------------------------------------------