クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

個人情報とは何か

このレッスンのあとで: 表の列を、直接識別子、間接識別子、機微なデータに分けられる。

55分のレッスンコマンド4件MySQL と phpMyAdmin のラボ:ショップのデータベースで SQL を練習する

個人情報とは、人を特定できる情報

個人情報とは、特定の人について分かる情報のことです。名前やメールアドレスだけでなく、いくつか集めると人が分かる情報も含みます。

どの列が個人情報かを見分けられると、守るべきデータが分かります。守れない列は、そもそも集めないという選び方もできます。

このレッスンのゴール

メモ

表の列を、直接識別子、間接識別子、機微なデータに分けられる。

重要な言葉

ことばいみれい
本人そのデータが表している人
個人データ特定の人について分かるデータ
直接識別子それだけで人が分かる情報メールアドレス
間接識別子組み合わせると人が分かる情報郵便番号
機微なデータ漏れると本人が深く傷つく種類の情報病歴

学生が入力するセルは、このプレビューでは空白です。

名前やメールは、それだけで人を指す

氏名、メールアドレス、電話番号は、直接識別子です。それ1つで、誰のデータかが分かります。

会員番号や社員番号も同じです。番号だけでは分からないように見えますが、名簿と照らせば本人が分かります。

まずラボで、ショップの顧客の表を見ます。準備の2行を Run してから、列の一覧を出しましょう。

証明書を受け入れる設定

コマンド
printf '[client]\nssl-verify-server-cert=0\n' > ~/.my.cnf

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ショップ用の短い名前

コマンド
alias sql='mariadb -h db -u student -pstudent shop -t -e'

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

顧客の表の列を見る

コマンド
sql "DESCRIBE customers"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

組み合わせると人が分かる

都市や生まれた年だけでは、人は決まりません。同じ答えの人が大勢いるからです。

でも、手がかりを重ねると、当てはまる人が減っていきます。最後に1人だけ残れば、その人が特定されます。

このように、重ねると人が分かる手がかりを間接識別子と呼びます。

例: 会員200人のクラブで

使った手がかり当てはまる会員1人に決まるか
女性100人決まらない
女性で1998年生まれ8人決まらない
女性で1998年生まれ、郵便番号が 160-00221人決まる

学生が入力するセルは、このプレビューでは空白です。

名前のない3列を見る

コマンド
sql "SELECT first_name, city, joined_on FROM customers ORDER BY id LIMIT 3"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

試す: 1人に決まる組み合わせ

コード: sql
-- 郵便番号、生まれた年、性別が同じ会員をまとめて数えます。
SELECT postcode, birth_year, gender, COUNT(*) AS people
FROM members
GROUP BY postcode, birth_year, gender
ORDER BY people, postcode;
-- people が 1 の行は、その組み合わせだけで1人に決まります。

試す: 手がかりを減らす

コード: sql
-- 郵便番号と生まれた年の2つだけに減らして、もう一度数えます。
SELECT postcode, birth_year, COUNT(*) AS people
FROM members
GROUP BY postcode, birth_year
ORDER BY people, postcode;
-- people が 1 の行は、いくつ残りましたか。

よくある間違い

注意

名前の列を消せば、個人情報ではなくなると思いがちです。郵便番号、生まれた年、性別が残っていれば、人は特定できます。特定できるかどうかは、列が1つずつではなく、組み合わせで考えます。

機微なデータは特に重い

病気、障害、宗教、労働組合への加入、犯罪の記録などは、機微なデータです。漏れると、差別や嫌がらせにつながるからです。

機微なデータは、ほかの個人データより厳しく扱います。必要がなければ、そもそも集めません。

給与や成績は、法律の分類とは別に、見せる相手を絞るべき情報として扱いましょう。

このラボとソースについて: MySQL と phpMyAdmin のラボ:ショップのデータベースで SQL を練習する

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。