Free Pascal programmieren lernen.
Firebird SQL Delete mit Freepascal
Einleitung
In diesem Artikel möchte ich mit dir besprechen, wie man eine Firebird SQL Delete erstellt. Die technische Umsetzung ist Simpel, daher möchte ich dir die Sichtweise einer Datenlöschung aus der Sicht eines Entwicklers oder Software Verantwortlichen Unternehmers vorstellen. Danach erhältst du auch noch die Sicht unserer Gesetzgebung also aus Sicht der DSGVO.
Teil 01: Die Firebird SQL Delete Prozedur
procedure TForm2.DSGVODeleteDBData;
var
strID : string;
begin
strID := Form1.EdtID.Text;
connectDB;
SQLQPeople.SQL.Text := 'DELETE FROM PERSONEN WHERE ID = '''+strID+''';';
Form1.LVPeople.selected.Delete;
closeDB;
end;
Die Delete Prozedur wird in der ersten Zeile eingeleitet und trägt den Namen DSGVODeleteDBData. In der zweiten Zeile leitest du die Variablen Deklaration mit dem Wort var ein. Für das Löschen eines Datensatzes benötigst du nur eine ID, daher legst du in der dritten Zeile die Variable strID als String an. In der vierten Zeile leitest du die eigentliche Prozedur ein. Jetzt folgt in Zeile fünf, die Abfrage der Daten aus dem Editfeld EdtID als Text und das Speichern in der Variablen strID. Nun folgt der Datenbankaufbau durch die Prozedur connectDB in Zeile sechs. Die eigentliche Zeile zum löschen der Daten befinden sich in der nun folgenden Zeile sieben. Die zu sehende SQL Anweisung ließt sich in etwa so: Lösche aus der Tabelle Personen den Eintrag mit der ID =strID. In Zeile acht beendest du die Datenbank Verbindung. In Zeile neun beenden wir die Prozedur.
Teil 02: Der Delete Button
procedure TForm1.BtnPeopleDeleteClick(Sender: TObject);
begin
//Procedure Delete ausführen.
Form2.DSGVODeleteDBData;
end;
Diese Prozedur führt nur die oben beschriebene Prozedur aus. Die leere Prozedur kannst du erstellen, indem du diese durch das Anklicken des Buttons aufrufst und im Objektinspektor ein OnClick Ereignis ausführst.
Teil 03: Datenlöschung aus Sicht eines Entwicklers oder Software Herstellers
Der Softwarehersteller ist in diesem Beispiel nur der Hersteller und nicht der Nutzer der Software. Der Kunde des Software Herstellers verwaltet die Daten in der von dem Hersteller erzeugten Software. Dieser Kunde verwaltet seine Kundendaten durch seine Mitarbeiter. Diese Mitarbeiter sind auf die Software geschult, aber sicherlich nicht fehlerfrei. Daher kann es vorkommen das falsche Daten gelöscht werden. Selbst eine Höhere Kontrollinstanz kann diesen Fehler sogar bestätigen. Jetzt ist die Frage sollte ein Software Hersteller hier einen Wiederherstellungsmöglichkeit durch seinen Support ermöglichen. Technisch ist dies sehr einfach ungesetzt. Anstelle eines Delete wird ein Update durchgeführt und der Kundenstatus von 1 aktiv auf 0 inaktiv gesetzt. Der Kunde des Software Herstellers kann diesen Datensatz damit nicht mehr sehen, aufrufen oder wiederherstellen. Eine Wiederherstellung der Daten durch den Software Hersteller als Retter in der Not, ist damit aber immer noch möglich. Diese Daten könnten sich automatisch nach 14 Tagen löschen, oder bei einer Wartung aus der Datenbank durch den Software Hersteller bereinigt werden. Ich kenne einige Software Firmen die vor der DSGVO so gearbeitet haben. Dies sollte nun rein rechtlich nicht mehr möglich sein.
Teil 04: Datenlöschung aus Sicht der DSGVO
Eine sehr einfache Darstellung ist das die DSGVO vorgibt alle Daten die nicht mehr benötigt werden, unverzüglich gelöscht werden müssen. Nicht mehr benötigt werden Daten, wenn Abrechnungen nicht mehr steuerlich relevant sind oder Daten erhoben wurden die für die Steuer usw. nicht benötigt werden. Die DSGVO sieht damit Teillöschungen und komplette Löschungen von Datensätzen auch über alle Datenbanken, Tabellen und vergangene Backups dieser Datenbanken vor.
Teil 05: Datenlöschung Kompromiss als Software Hersteller
Um hier einen Fehler eines oder auch mehrerer Angestellter zu vermeiden können Daten gelöscht werden und auf inaktiv gesetzt werden. Dies sollte von mehr als einer Instanz durchgeführt werden (Vieraugenprinzip). Als Hersteller sollte man hier einen Datensicherungsplan zusammen mit dem Kunden oder seiner Usergroup erarbeiten. Dies könnte so aussehen das alle gelöschten Daten nicht sofort, sondern am selben Tag oder in derselben Woche gelöscht werden. Vorher werden Datensicherungen erstellt und diese für 12 Werktage aufbewahrt. Nach 12 Werktagen werden diese Datensicherungen durch die automatische oder eine manuelle Sicherung überschieben und die gelöschten Daten sind wirklich gelöscht oder auch endgültig verloren.
Für einen Software Hersteller lohnt es sich hier immer, den eigenen Fach-Rechtsanwalt zu konsultieren und sich beraten zu lassen.
Die fertige Software können Sie in meinem Downloadbereich kostenlos und ohne Anmeldung herunterladen.