Mit dem Kopf durch die Wand

Heute war dann das erste Tuning angesagt, der kleine hat seine Augen bekommen. Genau genommen sind es ja Ohren, da es ein Ultraschallsensor ist.
Damit habe ich ihn dann losgeschickt..


Leider ist der Erfassungsradius nicht so groß, wie er sein sollte und somit ging es an den nächsten Umbau. Habe den Sensor auf einen Servo montiert und somit sind seine Augen aeh Ohren, jetzt beweglich.

Wenn ich nun noch etwas mehr Gehirnschmalz in die Steuerung investieren würde, dann sehe das sicherlich besser aus.

Never never ever ….

so oder ähnlich würde der Satz anfangen, wenn Tom Kyte die Datenbank gesehen hätte, die ich am Donnerstag abfragen durfte.
Ich durfte für eine „Behörde“ eine Datenbank-Abfrage entwerfen, damit eine Teilmenge der Daten zu einem TAPI-Server kopiert werden können.
Der Auftrag schien mehr als Trivial: Seitens des Software-Herstellers (welcher für die besagte Datenbank zuständig ist), gab es eine fertige SQL-Abfrage mit auf dem Weg. Im Idealfall wäre diese nur anzupassen.
Tja was soll ich sagen, es kam natürlich anders: Selbst der Hersteller scheint keine wirkliche Ahnung von seiner Datenbank (bzw. dessen Schema) zu haben.
Es fing schon mal damit an, dass der zu nutzende SQL-User keine Select-Rechte auf die entsprechenden Tabellen hatte …..
Aber was ich dann zu sehen bekam, war dann der Hammer:
– In der Datenbank gibt es keine Beziehungen zwischen den Tabellen, diese kennt nur die Anwendung.
– Leere Felder sich nicht mit „null“ belegt, sondern mit einem „Leerstring“; sind aber in der Datenbank „nullable“.
– Nachschlagefelder sind mit fixen Konstanten belegt (1=Herr, 2 =Frau..)
– Unique-Constraints wurden auch keine verwendet.
– Und die Dokumentation der Tabellen (vom Hersteller zur Verfügung gestellt) ist auch fehlerhaft.

Wie gesagt, der Hersteller hatte wohl auch keine Ahnung von dem Schema – anders war es nicht zu erklären, dass er auch „Unique“ ausging – wo diese nicht gegeben war … und mit „is not null“ gearbeitet hat – wo doch len(isnull(feld,“)) > 0 besser geeignet ist.

Hätte nie gedacht, so eine Datenbank bei einem Kunden dieser Größenordnung vorzufinden. Zumal diese Datenbank noch eine gewisse Größe hatte. Und dann noch der Hersteller der Software: Keine kleine Krauterfirma ….

Hier lautet meine Empfehlung: Diese Buch lesen und anwenden.