Tom: Datenbankentwurf

Beitrag lesen

Hello,

Garbage in - Garbage out.

Es handelt sich um eine fast alltägliche Anforderung in der Warenwirtschaft. Meistens wird die Lösung der Aufgabe aber unterlassen, weil den Programmierern das als zuviel Aufwand erscheint. Dabei muss man nur einmal zuende denken.

Wenn man solche Anforderungen hat, sollte man diese beim Designen berücksichtigen. Sortieren geht vermutlich gut, solange die Daten in Textform gespeichert sind. Allerdings ist dann auch 100 kleiner als 11.

Selbst das Problem lässt sich über eine passende Formatierung der Daten (bei der Eingabe) noch lösen. Zahlen werden einfach rechtsbündig (ggf. mit führenden Leerzeichen) abgespeichert.

Ich sehe keinen Sinn darin, gewürfelte Daten berechnen zu wollen.

Richtig. Das muss man dann im View über einen Gruppenwechsel lösen, der den Datentyp der Spalte berücksichtigt und nur für bestimmte "Eigenschaften" z.B. Summen bildet...
Dadurch wird das System aber schon spezialisiert.

Da hinter jedem Wert alle möglichen Bedeutungen stecken können, würden dann auch Äpfel mit Birnen zusammengezählt. Auch der Mensch braucht ein Unterscheidungsmerkmal, wenn er an Rechenoperationen mit nur bestimmten Werten interessiert ist, wofür eine Separierung oder zumindest Kennzeichnung erforderlich ist. Bei eienr Separierung kann man gleich den richtigen Typ nehmen, bei einer Kennzeichnung sollte man sich innerhalb eines Merkmals für eine bestimmte Ablageform entscheiden, bei der man dann weiß, wie die Daten zu behandeln sind.

Das ist alles soweit richtig. Nur löst dein Beitrag auch nicht das rudimentäre Problem des OP - sofern ich ihn richtig verstanden habe. So, wie ich es verstanden habe, ist mir das Problem schon sehr oft begegnet. Und irgendwo habe ich auch noch einen Funktionensatz rumfliegen, der dies mit MySQL 5.0 lösen sollte. Der müsste es jetzt unter 5.x (x>0) eigentlich auch bringen.

Ich suche mal.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de