eine große Tabelle vs. Einzeltabelle

eine große Tabelle vs. Einzeltabelle

am 02.11.2006 00:43:21 von Martin Fankhauser

Hallo NG!

Ich habe folgendes Problem:
verschiedene User können jeden Tag einige Messwerte eingeben, somit wird
für jeden user eine art persönliche History aufgebaut.

Ist es nun sinnvoll für jeden einzelnen User eine eigene solche Tabelle
anzulegen, oder sollte dies in einer einzigen Großen geschehen wo mit
ids die Einträge der verschiedenen User unterschieden werden?

Ich vermute Zweiteres, hab jedoch dieses Projekt halbfertig mit ersterer
Variante übernommen und möchte nun eine Änderung rechtfertigen.
Das Ganze soll Public werden und möglichst viele User handeln können,
geht also wirklich um Skalierbarkeit.

also, entweder

O 1. eine große Tabelle

O 2. für jeden user eine extra Tabelle



und Warum das so ist, wäre auch wichtig.

besten Dank, Martin

Re: eine große Tabelle vs. Einzeltabelle

am 02.11.2006 01:24:55 von Gregor Kofler

Martin Fankhauser meinte:
> Hallo NG!
>
> Ich habe folgendes Problem:
> verschiedene User können jeden Tag einige Messwerte eingeben, somit wird
> für jeden user eine art persönliche History aufgebaut.
>
> Ist es nun sinnvoll für jeden einzelnen User eine eigene solche Tabelle
> anzulegen, oder sollte dies in einer einzigen Großen geschehen wo mit
> ids die Einträge der verschiedenen User unterschieden werden?


Zweiteres. Bei 1000 Benutzern würdest du
a) mit 1000 Tabellen rumhampeln
b) hättest keine Möglichkeit sinnvolle Queries zu formulieren (etwa
Durchschnittswerte)
c) Änderungen der Tabellenstruktur müssten auf alle 1000 Tabellen...
d) ...Indizes?
e) Verknpüfung weiterer Tabellen... unmöglich.
f) ...referentielle Integrität... wie?
g) ...wurscht. Der erste Ansatz ist einfach sowas von daneben und hat
mit einer relationalen Datenbank nichts zu tun.

> Ich vermute Zweiteres, hab jedoch dieses Projekt halbfertig mit ersterer
> Variante übernommen und möchte nun eine Änderung rechtfertigen.
> Das Ganze soll Public werden und möglichst viele User handeln können,
> geht also wirklich um Skalierbarkeit.

Ersteres skaliert *nicht*. Zweiteres schon - so verwendet man RDBMS.

Gregor


--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Re: eine großeTabelle vs. Einzeltabelle

am 02.11.2006 08:06:28 von Kris

Martin Fankhauser wrote:
> Ist es nun sinnvoll für jeden einzelnen User eine eigene solche Tabelle
> anzulegen, oder sollte dies in einer einzigen Großen geschehen wo mit
> ids die Einträge der verschiedenen User unterschieden werden?

Die Antwort ist weder 1 noch 2, sondern 3 - in diesem Fall die dritte
Normalform einer Datenbank.

http://katze-mit-wut.azundris.com/archives/116-Nermalisierun g.html
http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)#Drit te_Normalform_.283NF.29

Kris