Datenbank – blog.darin.ch

Der unbequeme Blog ● Sie haben das Recht auf meine Meinung

Schlagwort: Datenbank

Was ist ‚kein physisches Produkt‘?

Vor 25 Jahren war es noch üblich, Software auf einem Datenträger zu verkaufen. Anfangs als Stapel Disketten, später dann auf CD/DVD.

Mittlerweile ist man dazu übergegangen, Software online als ‚kein physisches Produkt‘ zu verkaufen. Das heisst, man bekommt einen Download-Link und den Lizenzschlüssel. In der Regel unmittelbar nach der Bezahlung per eMail.

Ich habe nun bei Apple eine neue Lizenz für FileMaker (Datenbank) gekauft. Auch hier steht im Shop: KEIN PHYSISCHES PRODUKT.

Allerdings warte ich seit 3 Tagen auf den Lizenzschlüssel und den Download-Link. Beides ist noch nicht zugestellt worden.

Warum?

Weil Apple ernsthaft einen Brief aus Mailand schickt. Dieser liegt nun seit 2 Tagen bei DHL in Basel rum.

Ist ein Brief kein ‚physisches Produkt‘?

Doubletten verhindern

Datenbanken sind meist sehr komplexe Gebilde, das weiss ich aus meiner eigenen Programmiertätigkeit. Dabei besteht eine Datenbank nicht nur aus gespeicherten Daten, sondern auch daraus, wie mit den Daten umgegangen wird.

So muss unter anderem sichergestellt werden, dass die Art der Inhalte korrekt sind. So kann z.B. geprüft werden, ob bei einer eMail die Syntax korrekt ist, ob bei einem numerischen Wert auch wirklich nur Ziffern enthalten sind, ob bei einer Postleitzahl nicht mehr als 4 Ziffern enthalten sind.

Eine heikle Angelegenheit sind Angaben, die jeweils nur in einem einzigen Datensatz vorhanden sein dürfen. Für eine DatensatzID, die man z.B. zum Verknüpfen von weiteren Daten verwenden kann, verwendet man einfach nur eine fortlaufende Nummer, die das System automatisch vergibt, ohne spezielle Programmierung.

Heikel wird es dann, wenn eine z.B. eine Nummer jeweils nur in einem einzigen Datensatz vorkommen darf. Wenn Doubletten (also die selbe Nummer in 2 Datensätzen) zu erheblichen Fehlern führt, und dies bei einer Datensatzmenge >1 Mio. täglich mehrfach vorkommen dürfte, dann verstehe ich einfach nicht, wenn man dies nicht mit technischen Mitteln verhindert. Studierte Informatiker sollten das doch auf die Reihe kriegen, oder programmiert die Putzfrau?

Das ganze ist doch simpel einfach. Wenn ich von Hand oder über einen automatischen Prozess in einem solchen Feld den Wert ändere (oder einen neuen Datensatz hinzu füge), dann muss ich nur mit einer einfachen Datenbankabfrage nach einem Datensatz suchen, der den einzutragenden Wert hat. Ergibt die Abfrage keinen Treffer, kann der Wert gespeichert werden. Bei einem Treffer muss der Vorgang abgebrochen werden und eine Fehlermeldung ausgegeben werden. Das ist jetzt wirklich nicht schwer.

Das mache ich auch dann, wenn ich den jeweiligen Wert zufällig generiere. Sicher ist sicher. Ich habe keine IT Ausbildung, aber ich kann das. Muss man einfach nur etwas logisch denken.

Präsentiert von WordPress & Theme erstellt von Anders Norén