Anonymisierung UPDATE, gleicher anonymisierter Wert abhängig von Key

miwu_260585

Neuer Benutzer
Beiträge
3
Hallo zusammen,

ich muss mehrere Tabellen innerhalb einer DB anonymisieren. Dabei stoße ich gerade auf folgende Herausforderung:
Beispiel: Anonymisierung der Spalte "Büroleiter Name"
Ergebnis der Anonymisierung: Name XY (z.B "Name 30")
Problem: mehrere Datensätze zu einer Person, Eindeutigkeit über ID "Büroleiter"

-> Es sollen jetzt alle Datensätze mit der gleichen Büroleiter-ID auf den gleichen Zufallswert anonymisiert werden -> rot markiert!


upload_2015-11-13_10-57-25.png

Wie bekomme ich das am Besten hin?
Danke schon mal!
 
Werbung:
Woher kommt denn der Wert, also das "Ergebnis der Anonymisierung"? Ist das einfach nur nach Name sortiert und zählt das hoch oder wie bist du bisher vorgegangen?
 
mal als Richtung...

Code:
test=# select * from namen ;
 name
-------
 hans
 lisa
 frank
 lisa
 hans
(5 rows)

Zwischenschritt:

Code:
test=*# select name, row_number() over() as nr from (select distinct (name) from namen) tmp; name  | nr
-------+----
frank |  1
hans  |  2
lisa  |  3
(3 rows)

Und nun zusammen:

Code:
test=*# update namen set name = 'person ' || nr from ((select name, row_number() over() as nr from (select distinct (name) from namen) foo)) tmp where namen.name=tmp.name;
UPDATE 5
test=*# select * from namen ;
  name
----------
person 2
person 3
person 1
person 3
person 2
(5 rows)
 
Es gibt auch noch andere Möglichkeiten.

Wenn du bisher string + Zufallszahl verwendet hast müsstest du ja unter MSSQL auch eine Schleife im Einsatz gehabt haben oder irre ich? Auch da könnte man es einbauen.

Im übrigen ist dein Tabellendesign natürlich nicht sonderlich toll weil nicht normalisiert. Daraus resultiert das Problem überhaupt erst.
 
Werbung:
Zurück
Oben