Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Anonimizacja danych

675 views
Skip to first unread message

Krzysztof Wolny

unread,
Jun 9, 2010, 4:38:10 AM6/9/10
to
Hej

Moze nie do konca ta grupa ale...

Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
"wrazliwych", za pomoca SQL.

Pomyslalem wiec ze np. do adresu emial wystarczy dokleic jakis ciag
znakow do loginu (losowy). Ale z imieniem i nazwiskiem juz tak sie nie
da bo latwo to poznac. Z telefonami jest w miare prosto, mozna jakies
losowe cyfry powstawiac (zamienic).

Macie jakies pomysly, doswiadczenia w tym temacie?

--
Krzysztof Wolny

kkk....@gmail.com (replace 'kkk' with one 'k')

Tomasz Przybyła

unread,
Jun 9, 2010, 4:45:50 AM6/9/10
to
> kkk.wo...@gmail.com (replace 'kkk' with one 'k')

Może by tak jakiś skrót - SHA, MD5? Na pewno chcesz to robić z poziomu
SQL? Z tego co pamiętam to chyba w MySQL była możliwość wyznaczania
MD5, ale nie jestem pewny i nie wiem jak inne bazy..

Pozdrawiam, Tomek

Krzysztof Wolny

unread,
Jun 9, 2010, 4:51:55 AM6/9/10
to

To nie moze byc MD5 ani inny skrot bo mejl musi byc nadal poprawny i
przechodzic walidacje na formatce. Podobnie z telefonami i np. peselem.

Tak, chce z poziomu SQL bo baza jest spora i tak bedzie najprosciej to
zrobic.


--
Krzysztof Wolny

kkk....@gmail.com (replace 'kkk' with one 'k')

bo...@nano.pl

unread,
Jun 9, 2010, 6:20:46 AM6/9/10
to
On 09.06.2010 10:51, Krzysztof Wolny wrote:

> * Tomasz Przyby�a wrote, W dniu 2010-06-09 10:45:
>> On 9 Cze, 10:38, Krzysztof Wolny<kkk.wo...@gmail.com> wrote:
>>> Hej
>>>
>>> Moze nie do konca ta grupa ale...
>>>
>>> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
>>> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
>>> "wrazliwych", za pomoca SQL.
>>>
>>> Pomyslalem wiec ze np. do adresu emial wystarczy dokleic jakis ciag
>>> znakow do loginu (losowy). Ale z imieniem i nazwiskiem juz tak sie nie
>>> da bo latwo to poznac. Z telefonami jest w miare prosto, mozna jakies
>>> losowe cyfry powstawiac (zamienic).
>>>
>>> Macie jakies pomysly, doswiadczenia w tym temacie?
>>>
>>> --
>>> Krzysztof Wolny
>>>
>>> kkk.wo...@gmail.com (replace 'kkk' with one 'k')
>>
>> Mo�e by tak jaki� skr�t - SHA, MD5? Na pewno chcesz to robi� z poziomu
>> SQL? Z tego co pami�tam to chyba w MySQL by�a mo�liwo�� wyznaczania

>> MD5, ale nie jestem pewny i nie wiem jak inne bazy..
>>
>> Pozdrawiam, Tomek
>
> To nie moze byc MD5 ani inny skrot bo mejl musi byc nadal poprawny i
> przechodzic walidacje na formatce. Podobnie z telefonami i np. peselem.
>
> Tak, chce z poziomu SQL bo baza jest spora i tak bedzie najprosciej to
> zrobic.
>
>

Ale to nie jest anonimizacja danych, bo dane s� mo�liwe w �atwy spos�b
do odszyfrowania. jan.kowalskif...@wp.pl nadal b�dzie �atwo
rozpoznawalny.

--
wer <",,)~~
http://szumofob.eu

Krzysztof Wolny

unread,
Jun 9, 2010, 6:20:59 AM6/9/10
to
* bo...@nano.pl wrote, W dniu 2010-06-09 12:20:

>> To nie moze byc MD5 ani inny skrot bo mejl musi byc nadal poprawny i
>> przechodzic walidacje na formatce. Podobnie z telefonami i np. peselem.
>>
>> Tak, chce z poziomu SQL bo baza jest spora i tak bedzie najprosciej to
>> zrobic.

> Ale to nie jest anonimizacja danych, bo dane są możliwe w łatwy sposób
> do odszyfrowania. jan.kowalskif...@wp.pl nadal będzie łatwo
> rozpoznawalny.

W przypadku mejli chodzi bardziej o to by nie wyslac komus wiadomosci
pod podany adres.

Z drugiej strony fajnie by bylo miec jakis wzorzec "zasmiecania" by dalo
sie dojsc np. do klienta o emailu x...@yy.zz.


--
Krzysztof Wolny

kkk....@gmail.com (replace 'kkk' with one 'k')

sielim

unread,
Jun 9, 2010, 6:24:20 AM6/9/10
to

Użytkownik "Krzysztof Wolny" <kkk....@gmail.com> napisał w wiadomości
news:hunjsq$9n0$1...@news.task.gda.pl...

> Hej
>
> Moze nie do konca ta grupa ale...
>
> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
> "wrazliwych", za pomoca SQL.
>
> Pomyslalem wiec ze np. do adresu emial wystarczy dokleic jakis ciag znakow
> do loginu (losowy). Ale z imieniem i nazwiskiem juz tak sie nie da bo
> latwo to poznac. Z telefonami jest w miare prosto, mozna jakies losowe
> cyfry powstawiac (zamienic).
>
> Macie jakies pomysly, doswiadczenia w tym temacie?

Może wystarczy algorytm tasowania - przelecieć po całej bazie
wymieniajac nazwisko z dowolnym innym (ew. uwzględnić płeć).
To samo z imieniem (...). To samo z NIP'ami ....
To samo z peselami w parze z datą urodzenia + ew. jak już musisz
to generujesz pesele od nowa zmieniając część dot. kolejności
i wyliczać nową cyfrę kontrolną.
Dane adresowe ? A moze w ogóle je wykasować, w krzaki,
potrzebne to komuś, żeby ładnie wyglądało ?
Własciwie to nie wiem, o co chodzi z tym 'łatwo poznać'.
Jest jakieś wymaganie, że nie ma być widoczne, że to dane anonimizowane
czy jak ?

sielim

unread,
Jun 9, 2010, 6:28:28 AM6/9/10
to

U�ytkownik "Krzysztof Wolny" <kkk....@gmail.com> napisa� w wiadomo�ci
news:hunpti$mqg$1...@news.task.gda.pl...

>* bo...@nano.pl wrote, W dniu 2010-06-09 12:20:
>
>>> To nie moze byc MD5 ani inny skrot bo mejl musi byc nadal poprawny i
>>> przechodzic walidacje na formatce. Podobnie z telefonami i np. peselem.
>>>
>>> Tak, chce z poziomu SQL bo baza jest spora i tak bedzie najprosciej to
>>> zrobic.
>
>> Ale to nie jest anonimizacja danych, bo dane s� mo�liwe w �atwy spos�b
>> do odszyfrowania. jan.kowalskif...@wp.pl nadal b�dzie �atwo
>> rozpoznawalny.
>
> W przypadku mejli chodzi bardziej o to by nie wyslac komus wiadomosci pod
> podany adres.
>
> Z drugiej strony fajnie by bylo miec jakis wzorzec "zasmiecania" by dalo
> sie dojsc np. do klienta o emailu x...@yy.zz.

Generowa� loginy od nowa, bior�c pierwsz� liter� imienia i np. 6 nazwiska ?
Troch�dziwne nam tu zapodajesz problemy ;) Trywialne chcia�oby si� rzec ;)
�e SQL ? No to moze troch� mniej trywialne - z tym tasowaniem to trzeba
by mo�e jakie� tabele tymczasowe z kopiami danych i z generowanymi
liczbami losowymi i w kilku krokach to zrobiďż˝. Do zrobienia ... ;)

Michal Kleczek

unread,
Jun 9, 2010, 7:03:49 AM6/9/10
to
Krzysztof Wolny wrote:

> Hej
>
> Moze nie do konca ta grupa ale...
>
> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
> "wrazliwych", za pomoca SQL.
>
> Pomyslalem wiec ze np. do adresu emial wystarczy dokleic jakis ciag
> znakow do loginu (losowy). Ale z imieniem i nazwiskiem juz tak sie nie
> da bo latwo to poznac. Z telefonami jest w miare prosto, mozna jakies
> losowe cyfry powstawiac (zamienic).
>
> Macie jakies pomysly, doswiadczenia w tym temacie?
>

Hmm... Nie bardzo rozumiem problem szczerze powiem. Co chcesz osiagnac i
_dlaczego_ czy tez po co?

Zgodnie z tym co przeczytalem w powyzszym i innych postach to nasuwa sie
odpowiedz, ze dane sa juz "zanonimizowane" poprzez sam fakt uzycia RDBMS - w
koncu jak wezmiesz sobie te dane w postaci zrzutu dysku (plikow) to ich nie
odczytasz.

--
Michal

Marx

unread,
Jun 9, 2010, 6:13:37 AM6/9/10
to
W dniu 2010-06-09 10:51, Krzysztof Wolny pisze:

> Tak, chce z poziomu SQL bo baza jest spora i tak bedzie najprosciej to
> zrobic.

A nie prosciej byloby wygenerowac dane wrazliwe od nowa? generator
pesela latwo zrobisz, losowe imie nazwisko i mail takze.
Marx

Krzysztof Wolny

unread,
Jun 9, 2010, 7:11:24 AM6/9/10
to
* Michal Kleczek wrote, W dniu 2010-06-09 13:03:
> Krzysztof Wolny wrote:
>
>> Hej
>>
>> Moze nie do konca ta grupa ale...
>>
>> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
>> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
>> "wrazliwych", za pomoca SQL.
>>
>> Pomyslalem wiec ze np. do adresu emial wystarczy dokleic jakis ciag
>> znakow do loginu (losowy). Ale z imieniem i nazwiskiem juz tak sie nie
>> da bo latwo to poznac. Z telefonami jest w miare prosto, mozna jakies
>> losowe cyfry powstawiac (zamienic).
>>
>> Macie jakies pomysly, doswiadczenia w tym temacie?

> Hmm... Nie bardzo rozumiem problem szczerze powiem. Co chcesz osiagnac i
> _dlaczego_ czy tez po co?

Wazne jest tylko pytanie _co_ chce osiagnac.

> Zgodnie z tym co przeczytalem w powyzszym i innych postach to nasuwa sie
> odpowiedz, ze dane sa juz "zanonimizowane" poprzez sam fakt uzycia RDBMS - w
> koncu jak wezmiesz sobie te dane w postaci zrzutu dysku (plikow) to ich nie
> odczytasz.

No to jasniej. Jest baza produkcyjna z danymi osobowymi. Ma byc ona
przeniesiona na serwer testowy, pod warunkiem ze adresy email beda inne
by nie wysylaly sie np. powiadomienia czy inne mejle, oraz by ludzie
ktorzy testuja nie mieli dostepu do danych osobowych, znajdujacych sie w
bazie. Proste, prawda? :)

Zanonimizowane - nie oznacza to 'zaszyfrowane' (w postaci plikow) ale
takie ze nie mozna dojsc od jakiej osoby pochodza. Podczas pracy na
systemie testowym.


Pytam bardziej o dobre praktyki, podejscia, doswiadczenia. Napisanie
SQLi nie jest jakims wielkim wyzwaniem.

Michal Kleczek

unread,
Jun 9, 2010, 7:24:45 AM6/9/10
to
Krzysztof Wolny wrote:

>>
>>> Hej
>>>
>>> Moze nie do konca ta grupa ale...
>>>
>>> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
>>> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
>>> "wrazliwych", za pomoca SQL.

[ciach]


>
> No to jasniej. Jest baza produkcyjna z danymi osobowymi. Ma byc ona
> przeniesiona na serwer testowy, pod warunkiem ze adresy email beda inne
> by nie wysylaly sie np. powiadomienia czy inne mejle, oraz by ludzie
> ktorzy testuja nie mieli dostepu do danych osobowych, znajdujacych sie w
> bazie. Proste, prawda? :)
>
> Zanonimizowane - nie oznacza to 'zaszyfrowane' (w postaci plikow) ale
> takie ze nie mozna dojsc od jakiej osoby pochodza. Podczas pracy na
> systemie testowym.
>
>
> Pytam bardziej o dobre praktyki, podejscia, doswiadczenia. Napisanie
> SQLi nie jest jakims wielkim wyzwaniem.

Generalnie - musisz je (te dane) zaszyfrowac. Tylko pytania:
1. Jak mocne szyfrowanie to ma byc? Tzn. jak istotne te dane sa (innymi
slowy jak duzo kasy/czasu warto poswiecic, zeby je odszyfrowac)
Jak malo istotne to prosty szyfr przestawny typu GADERYPOLUKI (to z moich
dzieciecych harcerskich czasow) w zupelnosci wystarczy.
Aczkolwiek jakies szyfrowanie kluczem symetrycznym na pewno jest dostepne
jako funkcja wbudowana w RDBMS.
Pytanie jeszcze jakiej postaci ma byc szyfrogram (czy ascii? to jeszcze
jakis Base64 albo inny Hex nalozyc na szyfrogram).

2. Ktore dane szyfrowac w jaki sposob? Np. nie caly email tylko nazwe
odbiorcy oddzielnie i domeny oddzielnie. Ale to juz chyba nie da sie ogolnie
tylko case by case.

--
Michal

Krzysztof Wolny

unread,
Jun 9, 2010, 7:39:32 AM6/9/10
to

Niestety nie, bo dane moga byc powiazane np. przez email, wiec jesli
email x...@yyy.pl zmienie na a...@bbb.pl to musze go zmienic tak samo w
kazdej tabeli.

Co do imion, nazwisk to jakis prosty generator jest rozwiazaniem. Co do
peseli to sprawa moze byc podobna jak w przypadku mejli (sa to dane
jednoznacznie identyfikujace osobe i moga byc uzyte w tym celu).

Krzysztof Wolny

unread,
Jun 9, 2010, 7:45:13 AM6/9/10
to
* Michal Kleczek wrote, W dniu 2010-06-09 13:24:
> Krzysztof Wolny wrote:
>
>>>
>>>> Hej
>>>>
>>>> Moze nie do konca ta grupa ale...
>>>>
>>>> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
>>>> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
>>>> "wrazliwych", za pomoca SQL.
>
> [ciach]
>>
>> No to jasniej. Jest baza produkcyjna z danymi osobowymi. Ma byc ona
>> przeniesiona na serwer testowy, pod warunkiem ze adresy email beda inne
>> by nie wysylaly sie np. powiadomienia czy inne mejle, oraz by ludzie
>> ktorzy testuja nie mieli dostepu do danych osobowych, znajdujacych sie w
>> bazie. Proste, prawda? :)
>>
>> Zanonimizowane - nie oznacza to 'zaszyfrowane' (w postaci plikow) ale
>> takie ze nie mozna dojsc od jakiej osoby pochodza. Podczas pracy na
>> systemie testowym.
>>
>>
>> Pytam bardziej o dobre praktyki, podejscia, doswiadczenia. Napisanie
>> SQLi nie jest jakims wielkim wyzwaniem.

[ciach]

Nie rozumiemy sie. Nie chce szyfrowac danych. Chce by tester klikajac po
systemie nie zobaczyl rzeczywistego nazwiska, mejla albo peselu np.
klienta (Jan Kowalski, 70123101234 , j...@kowalski.pl) ale dane
nieprawdziwe (Zdzichu Wichura, jakis_zmyslony_pesel,
jakis_zmyslony_email). Zarowno pesel jak i email musza sie poprawnie
walidowac. "Zasmiecacz" powieniin byc deterministyczny, czyli dla tego
samego mejla dawac ten sam wynik (czyli odpala jakis random) -
najprostszy przypadek to doklejenie czegos np. z przodu adresu email.

Michal Kleczek

unread,
Jun 9, 2010, 7:57:39 AM6/9/10
to
Krzysztof Wolny wrote:

Czyli chcesz zaszyfrowac :)

Bedzie baaardzo ciezko znalezc szyfr ktory z jednego prawdziwego imienia i
nazwiska zrobi inne prawdziwe imie i nazwisko. Ale GADERYPOLUKI sie powinno
nadac do twoich celow w tym przypadku. Generalnie nada sie w przypadku
wszystkich danych tekstowych.
W przypadku PESELA sprawa jest b. skomplikowana, bo:
1) trzeba wziac pod uwage fakt, ze tam jest zaszyta data ur. (czyli musisz
szyfrowac date ur. i pesel naraz) - mozna np. dodawac/odejmowac okreslona
(lepiej - zalezna od oryginalnej daty, albo innych danych np. imienia)
liczbe dni (oczywiscie moze nie dzialac, bo sa inne wymagania w rodzaju
ograniczenie na wiek osoby)
2) o ile pamietam jest tam suma kontrolna, wiec szyfrujesz tylko fragment
bez sumy i wyliczasz nowa

Tak generalnie - no free lunch :) - nie ma ogolnego rozwiazania.

--
Michal

Krzysztof Wolny

unread,
Jun 9, 2010, 8:38:30 AM6/9/10
to
* Michal Kleczek wrote, W dniu 2010-06-09 13:57:

>> Nie rozumiemy sie. Nie chce szyfrowac danych. Chce by tester klikajac po
>> systemie nie zobaczyl rzeczywistego nazwiska, mejla albo peselu np.
>> klienta (Jan Kowalski, 70123101234 , j...@kowalski.pl) ale dane
>> nieprawdziwe (Zdzichu Wichura, jakis_zmyslony_pesel,
>> jakis_zmyslony_email). Zarowno pesel jak i email musza sie poprawnie
>> walidowac. "Zasmiecacz" powieniin byc deterministyczny, czyli dla tego
>> samego mejla dawac ten sam wynik (czyli odpala jakis random) -
>> najprostszy przypadek to doklejenie czegos np. z przodu adresu email.

> Czyli chcesz zaszyfrowac :)

Na Twoje potrzeby mozna to tak nazwac. Ja wole slowo 'przeksztalcic'.
Szyfrowanie jak dla mnie ma uniemozliwic odczytanie oryginalnych danych.
Tutaj dane maja po prostu byc zmienione na inne.

> Bedzie baaardzo ciezko znalezc szyfr ktory z jednego prawdziwego imienia i
> nazwiska zrobi inne prawdziwe imie i nazwisko. Ale GADERYPOLUKI sie powinno
> nadac do twoich celow w tym przypadku. Generalnie nada sie w przypadku
> wszystkich danych tekstowych.

> W przypadku PESELA sprawa jest b. skomplikowana, bo:
> 1) trzeba wziac pod uwage fakt, ze tam jest zaszyta data ur. (czyli musisz
> szyfrowac date ur. i pesel naraz) - mozna np. dodawac/odejmowac okreslona
> (lepiej - zalezna od oryginalnej daty, albo innych danych np. imienia)
> liczbe dni (oczywiscie moze nie dzialac, bo sa inne wymagania w rodzaju
> ograniczenie na wiek osoby)
> 2) o ile pamietam jest tam suma kontrolna, wiec szyfrujesz tylko fragment
> bez sumy i wyliczasz nowa
>
> Tak generalnie - no free lunch :) - nie ma ogolnego rozwiazania.

Czyli nic nowego :)

Polo

unread,
Jun 9, 2010, 12:56:16 PM6/9/10
to
Krzysztof Wolny pisze:

> Hej
>
> Moze nie do konca ta grupa ale...
>
> Mam baze produkcyjna z danymi osobowymi (imiona, nazwiska, emaile,
> telefony). Potrzebuje jakis rozsadny sposob na anonimizacje tych danych
> "wrazliwych", za pomoca SQL.
>
> Pomyslalem wiec ze np. do adresu emial wystarczy dokleic jakis ciag
> znakow do loginu (losowy). Ale z imieniem i nazwiskiem juz tak sie nie
> da bo latwo to poznac. Z telefonami jest w miare prosto, mozna jakies
> losowe cyfry powstawiac (zamienic).
>
> Macie jakies pomysly, doswiadczenia w tym temacie?
>


Ja bym proponował utworzyć sobie testowe dane w sposób losowy dobierając
dane typu imię, nazwisko, email, a PESEL wygenerować dane dla osób ur.
przed 1900r., wręcz z 1800 roku.
I można z tym wszystkim w miarę łatwo sobie poradzić za pomocą SQL'a.


Polo

jolz

unread,
Jun 9, 2010, 12:55:35 PM6/9/10
to
>> A nie prosciej byloby wygenerowac dane wrazliwe od nowa? generator
>> pesela latwo zrobisz, losowe imie nazwisko i mail takze.
>
> Niestety nie, bo dane moga byc powiazane np. przez email, wiec jesli
> email x...@yyy.pl zmienie na a...@bbb.pl to musze go zmienic tak samo w
> kazdej tabeli.

Nie do konca widze problem.

sqlite> create table t1(a);
sqlite> insert into t1 values('zoska');
sqlite> insert into t1 values('zdzicho');
sqlite> insert into t1 values('zoska');
sqlite> create table t2 as select distinct a from t1;
sqlite> create table t3 as select 'x' || id from t1,
...> (select rowid as id, * from t2) using (a);
sqlite> select * from t3;
x2
x1
x2

W bazie ktora da id zwroconego wiersza mozna to zrobic bez tymczasowego
t2 (w sqlite tez mozna napisac wlasna funkcje i zrobic to jednym
zapytaniem). Oczywiscie dla wielu kulumn musisz stworzyc wiele
slownikow. No i zamiast 'x' || id napisac funkcje ktora stworzy unikalna
wartosc z formatem poprawnym dla danej kolumny.

Boguś

unread,
Jun 9, 2010, 2:32:55 PM6/9/10
to
Dnia 09-06-2010 o 13:11:24 Krzysztof Wolny <kkk....@gmail.com>
napisa�(a):

> No to jasniej. Jest baza produkcyjna z danymi osobowymi. Ma byc ona
> przeniesiona na serwer testowy, pod warunkiem ze adresy email beda inne
> by nie wysylaly sie np. powiadomienia czy inne mejle, oraz by ludzie
> ktorzy testuja nie mieli dostepu do danych osobowych, znajdujacych sie w
> bazie. Proste, prawda? :)
>
> Zanonimizowane - nie oznacza to 'zaszyfrowane' (w postaci plikow) ale
> takie ze nie mozna dojsc od jakiej osoby pochodza. Podczas pracy na
> systemie testowym.
>
>
> Pytam bardziej o dobre praktyki, podejscia, doswiadczenia. Napisanie
> SQLi nie jest jakims wielkim wyzwaniem.
>

Oracle ma funkcje translate. Zamieniasz samogłoski na inne samogłoski,
podobnie spółgłoski. Dla imienia, nazwiska, email itp. inna permutacja.
Cyferki w peselu na inne cyferki + suma kontrolna.

Stosowaliśmy, zalety:
1. deterministyczne
2. nie generuje totalnych śmieci, dzięki czemu tester pracuje na danych,
na które jak patrzy po dwóch dniach to mu się bebechy nie wywracają (firma
Itoon czy Dynesdt to nie A4Xdy, M66feaYh, i czym to się różni od T0hmxfg)

Jak ktoś chce się dostać do tak obfuskowanych danych (nawet tych
M66feaYh), to i tak się dostanie. Osobiście sprawdzałem.

--
Boguś
http://bogus.ovh.org/

Zbigniew Malec

unread,
Jun 9, 2010, 7:57:53 PM6/9/10
to
On Wed, 09 Jun 2010 10:38:10 +0200, Krzysztof Wolny wrote:

> Macie jakies pomysly, doswiadczenia w tym temacie?

najprościej to bazować na kluczu głównym, a wszystkie identyfikatory
zależne generować jako jego funkcję, np:

id | name | surname | email | pesel
-----------------------------------------------------------
1 | Andrzej | Kowalski | a.kow...@pustka.zx | 123452
2 | Paweł | Pawlak | p.pa...@pustka.zx | 342523

--------------> translacja ------------>

1 | name1 | surname1 | 1...@xyz.tv | 00001X
2 | name2 | surname2 | 2...@xyz.tv | 00002Y

gdzie X i Y to wyliczone sumy kontrolne.
Metoda prosta, jednoznaczna i skuteczna.

--
Pozdrawiam
Zbyszek Malec

0 new messages