1

機密の個人情報を含むデータベースがあります。データ分析の目的で、そのデータを何人かに送信したいと思います。ただし、データの匿名性は維持する必要があります。

userつまり、実際の名前を持つテーブルへのJOINの代わりに、JOINSを実行するための偽のテーブルを生成する方法はありますか?テーブルfakeuserを動的に生成し、代わりにそのテーブルにJOINします。

手動で実行できることはわかっていますが、データベース全体のすべてのユーザーに対してクエリが実行されるわけではなく、動的に実行されると便利です。つまり、クエリがfakeuserID 23 を呼び出し、ID が存在しない場合は、どこかからランダムな名前を選び、テーブルとクエリに入力します。

MySQL がこれに対して十分な柔軟性を持っていない場合、私は他のタイプのスクリプトを介してこれを行うことにオープンです。

4

1 に答える 1

0

これは非常に単純な作業のように見えますが、いくつかの手順が必要で、どこで行き詰っているのかわかりません。

文字のランダムな組み合わせを生成して取得できる名前のリストが必要です (判読できない名前を付けます)。または、名前の公開ソース (おそらくhttp://www.listofbabynames.org/ )を見つけることができます。

次に、リストからランダムに名前を選択して、fakeuser テーブルにレコードを挿入するためのループが必要です。fakeuser の異なるレコードに同じ名前を割り当てないようにする必要があります。これは、名前を選択するときにリストから名前を削除することで実行できます。リストが十分に大きくない場合は、組み合わせを生成できます。

また、@eggyal から提供されたアドバイス/記事を慎重に検討して、それがあなたの状況に当てはまるかどうかを確認します。より良いソリューションが必要な場合は、匿名化データに関する多くの作業があると思います。

于 2013-04-23T17:45:42.917 に答える