Die Suchfunktionen sind wirklich vielseitig,
     das Verschlagworten von vielen Bildern geht sehr schnell.

pixafe bietet höchste Sicherheit

Oberstes Ziel bei der Entwicklung von pixafe ist die Datensicherheit. Es wurden diverse Vorkehrungen getroffen, um den Verlust oder die ungewollte Zerstörung von Bildern zu vermeiden. Durch verschiedene Techniken der Fehlerbehandlung bzw. Fehlervermeidung werden Verluste eingeschränkt. Ein wesentlicher Beitrag hierzu wird dadurch erreicht, dass kein neues Datenbankmanagementsystem entwickelt, sondern auf ein etabliertes System (IBM DB2). zurückgegriffen wurde.

Datensicherheit

Bildverzeichnis

Alle Bilder, die in der Bilderdatenbank abgelegt sind, werden in einem speziellen Bildverzeichnis (Datenbankverzeichnis) abgelegt. Während der Anzeige oder Bearbeitung mit einem Bildverarbeitungsprogramm wird auf einer Kopie des Bildes im Arbeitsverzeichnis gearbeitet. Nach der Änderung eines Bildes mittels Bildverarbeitungsprogramm muss dieses explizit erneut in der Datenbank gespeichert werden. Hiermit wird sichergestellt, dass bei einem Absturz eines Fremdsystems (Bildverarbeitungsprogramm) keine Bilder in der Datenbank beschädigt werden.

Löschverzeichnis

Beim Löschen eines Bildes aus der Bilderdatenbank wird das zu löschende Bild nicht sofort aus dem System entfernt, sondern zuvor in den Papierkorb (Löschverzeichnis) verschoben. Erst dann, wenn der Benutzer das Löschverzeichnis explizit leert, werden die gelöschten Bilder aus dem System entfernt. Hiermit wird sichergestellt, dass keine Bilder verloren gehen, die aus Versehen gelöscht wurden, oder die bei einem Systemversagen entfernt worden wären.

Backupverzeichnis

Um den Zustand der Datenbank zu einem beliebigen Zeitpunkt sichern zu können existiert das Backupverzeichnis. In diesem Verzeichnis werden die Inhalte der Datenbank abgespeichert, um sie auf einen anderen Rechner transportieren zu können, bzw. um nach einem Systemausfall die Datenbank rekonstruieren zu können.

Transaktionen

Transaktionen stellen die Daten-Konsistenz bei allen Zugriffen auf das Datenbanksystem sicher. Sie haben die folgenden Eigenschaften, die auch unter der Abkürzung ACID bekannt sind:

  • Atomarität (Atomicity) bedeutet, dass entweder alle Operationen der Transaktion ausgeführt werden oder keine.
  • Die Konsistenz (Consistency) des Datenbestandes ist zu Beginn einer Transaktion und auf jeden Fall am Ende gewährleistet.
  • Die Eigenschaft Isolation stellt sicher, dass Transaktionen isoliert bzw. unabhängig voneinander ablaufen, d.h. eine Transaktion sieht nicht die möglicherweise inkonsistenten Interna einer anderen Transaktion.
  • Die Dauerhaftigkeit (Durability) der Änderungen der Transaktion ist an deren Ende gegeben. Wenn also eine Transaktion erfolgreich abgeschlossen ist, können die Änderungen nur durch eine eigenständige, kompensierende Transaktion rückgängig gemacht werden.

Die Transaktion-Technik wird bei pixafe dazu genutzt sicherzustellen, dass keine inkonsistenten Daten in die Datenbank gelangen können. Vor einem Datenbankzugriff wird eine Transaktion gestartet. Wenn es dann bei deren Ausführung zu einem Fehler kommen sollte, werden alle Aktionen innerhalb der gestarteten Transaktion von der Datenbank zurückgenommen und somit deren Konsistenz sichergestellt.

Datenintegrität

Beziehungen

Die in der Datenbank abgelegten Informationen stehen in Beziehungen zueinander. Wie diese Beziehungen aussehen, wurde im Datenbankschema definert. Das DB2-Datenbanksystem achtet beim Ändern von Daten in der Datenbank (Einfügen, Löschen, Ändern) ganz genau darauf, dass die festgelegten Beziehungen eingehalten werden. Eine der Beziehungen ist, dass keine Person gelöscht werden darf, wenn sie noch auf einem Bild abgebildet ist und zu dessen Anzeige benötigt wird.

Primärschlüssel

Ein Primärschlüssel ist ein Datenbankkontrukt, das sicherstellt, dass eindeutige Datensätze nur einmal innerhalb einer Tabelle abgelegt werden dürfen. Bei der Festlegung des Datenbankschemas wird angegeben, bei welchen Tabellenattributen es sich um Primärschlüssel handelt. Dass diese Schlüsselbedingung nicht verletzt wird ist Sache des Datenbanksystems.

Fremdschlüssel

Fremdschlüssel garantieren, dass auf verwiesene Daten stets verfügbar sind. So wird in der Bilderdatenbank zu einem Bild eine Liste aller abgebildeter Personen in Form von Verweisen gespeichert. Hiermit ist sichergestellt, dass keine Person gelöscht werden kann, die auf einem Bild abgebildet ist, das sich noch in der Datenbank befindet.

Ein weiteres Beispiel ist die Verwaltung von Schlagwörtern in der Datenbank. Sobald ein neues Schlagwort bei der Beschriftung eines Bildes in die Datenbank aufgenommen wird, wird festgestellt, dass es sich um ein neues Schlagwort handelt. Der Benutzer wird gefragt, ob er das Schlagwort in die Datenbank einfügen möchte oder ob er sich eventuell verschrieben hat und darum das Schlagwort noch nicht in der Datenbank vorliegt. Die Schlagwörter werden in einer speziellen Tabelle abgelegt, die Verknüpfungen zu Bildern erfolgen mittels Verweisen oder Fremdschlüsseln.

Constraints

Neben den Beziehungen zwischen verschiedenen Daten gibt es auch Festlegungen für die Struktur einzelner Datenfelder, die die Datenbank überwacht. Über bestimmte Regeln wurde festgelegt, dass nur gültige Datumswerte in die Datenbank eingetragen werden können. Es wird zum Beispiel sichergestellt, dass das Datum 29.Februar 2001 nicht eingegeben werden kann.

Der folgende Constraint dient dazu, ein Datum nur in korrekter Form in die Datenbank zu lassen:

constraint c_dat check((( madeday is null and mademon is not null and madeyear is not null) or( madeday is null and mademon is null and madeyear is not null ) or( madeday is null and mademon is null and madeyear is null ) or( madeday is not null and mademon is not null and madeyear is not null )) and((mademon in (1,3,5,7,8,10,12) and madeday < 32 ) or(mademon in (4,6,9,11) and madeday < 31 ) or(mademon = 2 and madeday < 29 ) or(mademon = 2 and mod( madeyear, 4) = 0 and madeday < 30 ))-- alle Hunderter sind kein Schaltjahr (mod 100)-- alle tausender sind wieder Schaltjahre (mod 400))

Ihre Vorteile

  • Umfangreicher kostenloser Support
  • Gezielte Unterstützung durch Fernwartung
  • Alle Anfragen werden für Sie individuell in geordneter Liste verwaltet
  • Über Meine Tickets haben Sie einfachen Zugriff auf Ihre Anfragen

Tipps