Datenbank verifizieren?

Hallo zusammen,

wie kann man eine Datenbank verifizieren? gibt es irgendwelche bekannten „Prüfschritte“ oder ein Vorgehen dazu? Was muss alles geprüft werden? Wie wird geprüft?

vielen Dank

Babel

Moin, Babel,

die Integrität wird vom DBMS gewährleistet, das sind aber nur die technischen Aspekte. Aussagen zur Semantik liefert das Datenmodell. Oder anders gesagt, wenn das Datenmodell Mängel aufweist, kann beliebig viel Quark in der Datenbank stehen.

Ich habe 30 Jahre mit Datenbanken gearbeitet, die Forderung, eine DB zu verifizieren, ist mir dabei aber nicht untergekommen. Was soll denn damit erreicht werden?

Gruß Ralf

Hallo Ralf,

naja ich soll ein Konzept zur Verifizierung einer Datenbank erstellen. Ich hatte zwar mal in der Uni Datenbanksysteme gehört, aber das wars dann auch mit meiner Ahnung. Ich kann davon ausgehen, dass die Daten die kommen korrekt sind (muss wer anders prüfen) und nun brauch ich ein Konzept um sicherzustellen, das diese Datenbank die Daten richtig ablegt, wiederfindet und auswertet. Der Teil mit Auswertung ist nur Mathe und kein problem, aber beim Rest bin ich ziemlich blank. Ich dachte halt, das es da ein Verfahren dazu gibt, oder mir jemand Literatur dazu empfehlen kann.

Es gibt doch soviele sicherheitsrelevante Datenbanken (Medizin, sensible Technik?) die muss doch irgendwer mal überprüft haben. Oder glauben die Leute einfach so dass da alles passt, und Programierer unfehlbar sind??

Ich hoffe ich konnte mein Problem genauer darstellen

MfG
Babel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, Babel,

Es gibt doch soviele sicherheitsrelevante Datenbanken
(Medizin, sensible Technik?)

DBMS (Datenbankmanagementsystem) sorgen für die technische
Sicherheit und unterstützen die Abbildung der Semantik. Die
Semantik steht und fällt mit der Qualität des Datenmodells,
wird also bereits beim Entwurf festgelegt. Mir ist keine
Methodik bekannt, die im Nachhinein prüfen könnte, ob Daten
korrekt sind - eben weil es hier um Semantik geht.

Heißt das wenn eine Firma ein Datenbanksystem von einer andern kauft, und vorher gesagt hat was rein und raus kommen soll, kann sie wenn sie die Datenbank dann hat nicht feststellen ob alles richtig funktioniert??

In Spektrum der Wissenschaft 1/2007 ist eine Methode
beschrieben erwähnt, mit der die Fehlerfreiheit von
Software (nicht von Datenbanken) geprüft werden können soll.
Der Artikel ist nicht online verfügbar, hier die Quelle:
http://alloy.mit.edu.

Mit KIV system für beweisbar korrekte Software habe ich schon gearbeitet, dass man Software relativ einfach zertifizieren kann war mir klar. Um so mehr überrascht es mich, dass man da bei ner Datenbank nix machen kann.

Naja wenns nicht geht dann eben nicht. Dann bleibts eben bei Test Datensätzen und Abfragen. Totzdem Danke!

Babel

Moin, Babel,

Heißt das wenn eine Firma ein Datenbanksystem von einer andern
kauft, und vorher gesagt hat was rein und raus kommen soll,

mir scheint, hier tut Begriffsbestimmung not: Ein Datenbank(management)system stellt nur sicher, dass der Betrieb ordnungsgemäß läuft, also das Befüllen und der Änderungsdienst.

kann sie wenn sie die Datenbank dann hat nicht feststellen ob
alles richtig funktioniert??

Zu den Inhalten, die der Betreiber einstellt, wird der Hersteller des DBMS wohlweislich keine Aussage treffen. Kann er auch nicht, weil die Inhalte und die Zusammenhänge zwischen den Tabellen vom Betreiber festgelegt werden.

dass man Software relativ einfach zertifizieren
kann war mir klar.

Das wiederum ist mir völlig neu, müssten wir gelegentlich an anderer Stelle vertiefen. Die ISO 9001/2/… sagt ja nur, das der Hersteller weiß, wie es geht, nicht, ob er auch danach handelt.

Um so mehr überrascht es mich, dass man da
bei ner Datenbank nix machen kann.

Wenn, ja wenn eine Spezifikation in Form eines Datenmodells vorliegt, dann kann geprüft werden, ob das Modell richtig implementiert wurde. Ob das Modell dem Informationsbedarf des Kunden entspricht, ist eine andere Frage. Und wie der Betreiber seine Daten pflegt, also aktuell und vollständig hält, ist noch eine ganz andere.

Wie man leicht sieht, ist eine Datenbank nicht einfach eine Datenbank…

Gruß Ralf

Hi nochmal,

mir scheint, hier tut Begriffsbestimmung not: Ein
Datenbank(management)system stellt nur sicher, dass der
Betrieb ordnungsgemäß läuft, also das Befüllen und der
Änderungsdienst.

Ich hoffe ich nerv dich noch nicht zu sehr, aber von diesem ganzen Datenbank zeugs hab ich echt zu wenig Ahnung.

Also nochmal ganz langsam und von vorne:
Es gibt da eine Datenbank. in die werden daten eingegeben, von denen ich annehmen kann das sie korrekt eingegeben werden.

Diese Datenbank hat auch noch ein Auswerte system, mit dem aus diesen Daten welche gewählt werden um mit diesen etwas zu berechnen.

Der Teil der rechnet ist mir klar. Nun will Chef aber wissen, ob die Daten auch richtig abgelegt werden (also wieder angenommen, dass sie bereits richtig eingetippt wurden) und auch richtig wieder gefunden.

Zu den Inhalten, die der Betreiber einstellt, wird der
Hersteller des DBMS wohlweislich keine Aussage treffen. Kann
er auch nicht, weil die Inhalte und die Zusammenhänge zwischen
den Tabellen vom Betreiber festgelegt werden.

soweit klar.

dass man Software relativ einfach zertifizieren
kann war mir klar.

Das wiederum ist mir völlig neu, müssten wir gelegentlich an
anderer Stelle vertiefen. Die ISO 9001/2/… sagt ja nur, das
der Hersteller weiß, wie es geht, nicht, ob er auch danach
handelt.

anderes Thema.

Um so mehr überrascht es mich, dass man da
bei ner Datenbank nix machen kann.

Wenn, ja wenn eine Spezifikation in Form eines
Datenmodells vorliegt, dann kann geprüft werden, ob das Modell
richtig implementiert wurde.

Sehr schön. Und wie??

Ob das Modell dem
Informationsbedarf des Kunden entspricht, ist eine andere
Frage. Und wie der Betreiber seine Daten pflegt, also aktuell
und vollständig hält, ist noch eine ganz andere.

Die ist mir jetzt wieder wurscht, weils wer anders machen „darf“ :wink:

Wie man leicht sieht, ist eine Datenbank nicht einfach eine
Datenbank…

Ja langsam dämmerts mir.

Vielen Dank
Babel

Hi Babel,

Re^7 ist mein absolutes Maximum, was darüber hinausgeht, interressirrt (außer uns) keine Sssau märr, deshalb nur noch ganz kurz:

Wenn das Datenbankmanagementsystem irgend etwas wie SQL im Namen trägt, dann sollte es kaum noch Zweifel an der Betriebssicherheit geben, bei selbstgestrickten DBMS ist allergrößte Skepsis geboten.

Etablierte DBMS haben ein Tool im Lieferumfang, das ein grafisches Modell der Datenstrukturen liefert. Anhand dieser Strukturdiagramme lässt sich beurteilen, welche Daten wie verhackstückt werden.

Falls es weiterer Diskussionen bedarf, gerne per Mail.

Gruß Ralf