PDA

View Full Version : [DBMS/MySQL] progettazione tabelle


packllama
23-02-2009, 11:50
Ciao a tutti,
Per esigenze di lavoro sto progettando un DB che deve gestire x utenti e relative password; ogni utente inserirà un numero y di prenotazioni, composte da z parametri e deve poter visualizzare lo storico.

Il dubbio che ho è relativo alle tabelle. Meglio creare x tabelle (una per ogni utente) le cui righe saranno le y prenotazioni oppure creare una tabella per gli utenti ed una tabella per le prenotazioni?

ho cercato di valutare vantaggi e svantaggi (pur non sapendone molto di DB). La prima ipotesi mi consente dei tempi di accesso più rapidi ai record, di contro ho la necessaria creazione di x tabelle.

La seconda ipotesi mi consente di creare solamente due tabelle grandi, però le select sarebbero più laboriose (sempre se non dico fesserie).

Che mi consigliate?:mc:

Grazie in anticipo

gugoXX
23-02-2009, 12:27
Una tabella utenti e una tabella prenotazioni.

L'altra alternativa non e' presente come ipotesi nella progettazione di basi di dati, per diversi motivi.
Diventa ingestibile a livello di codice e incosistente a livello di relazione (A che tabella puntare una eventuale le foreign key verso una specifica prenotazione?).
Occorrebbe inoltre creare e cancellare tabelle a seconda del numero degli utenti, e per rispondere a domande globali (ES: Statistiche o sommatorie) le query sarebbero ingestibili.

Le select sulle 2 tabelle non sono cosi' laboriose. Per partitzionare le query esattamente come nel caso precedente e' sufficiente mettere una clausola "WHERE codiceutente=xyz".

packllama
23-02-2009, 13:44
si esatto, la seconda mi sembrava più elegante e funzionale.
Ottimo!

come ti ho detto non è che ci capisco molto di DB :)


grazie ancora

packllama