Heute geht es in meiner Blogreihe um das automatisierte Testen von referenzieller Integrität in Datenbanken, welche aus unterschiedlichen Gründen keine Einschränkungen (Constraints) eingestellt haben. Wieder kommt das Testframework von Ceteris mit NBi zum Einsatz.
Ein Kriterium für eine gut funktionierende Datenbank ist die referentielle Integrität. Meistens wird sie mit Hilfe von sogenannten Constraints sichergestellt, das heißt in der Datenbank ist beschrieben, dass es keinen Fremdschlüsseleintrag ohne zugehörigen Primärschlüsseleintrag geben darf.
In Datawarehouse-Datenbanken kann es aufgrund von Datenprozessen mit riesigen Datenmengen im Sinne der Performance von Vorteil sein, auf Constraints zu verzichten. Im massiv parallelen Datenbankmanagementsystem APS sind solche Constraints gar nicht möglich. Es kann also passieren, dass sich Fehler in der referentiellen Integrität einschleichen. Das können wir leicht automatisch mit dem Testframework von Ceteris mit NBi überprüfen.
Für die Testdefinitionen werden nur die verbundenen Felder und Tabellen angegeben.
Ganz einfach, oder? Das schöne ist: Einmal eingerichtet, merken Sie auch in 2 Monaten sofort, falls Daten einmal nicht zusammenpassen sollten.
Im Falle eines Fehlers bekommen Sie eine Meldung, welche Werte die Integrität verletzen.
Mit dieser Prüfung stellen Sie in Systemen ohne vorhandene Constraints sicher, dass keine Daten in der Analyse verloren gehen bzw. dass keine Fehler in den Folgesystemen auftreten.
Weitere Teile der Blogserie:
Automatisiertes Testen von BI-Projekten Teil 1: Warum testen?
Automatisiertes Testen von BI-Projekten Teil 2: Kleine aber feine Fehler
Automatisiertes Testen von BI-Projekten Teil 3: Testframework mit NBi
Automatisiertes Testen von BI-Projekten Teil 4: Sinnvolle Tests erstellen
Automatisiertes Testen von BI-Projekten Teil 5: Ergebnisse zweier Abfragen müssen gleich sein
Automatisiertes Testen von BI-Projekten Teil 6: Ergebnisse zweier Abfragen dürfen innerhalb bestimmter Toleranzen abweichen
Automatisiertes Testen von BI-Projekten Teil 7: Performancetests
Automatisiertes Testen von BI-Projekten Teil 8: Felder sollen nicht mehr als einen bestimmten Anteil eines Werts enthalten
Automatisiertes Testen von BI-Projekten Teil 10: Namenskonventionen prüfen