2021年8月18日水曜日

主キーは何?

先日バリスタ50購入した際、
オンライン登録について書きましたが、
サインアップする際にトラブり、
その推定原因が納得し難いものだったのでここで紹介します。

オンライン登録ページを開いてまず行うのがネスレ会員への登録。
過去に登録した記憶がなかったため
[ネスレ会員登録はこちら]をクリックして
個人情報を入力するのですがなぜか登録時にエラーが。
で、もしかして登録済なのを忘れてるだけかなと
ログインページの[パスワード再設定]をクリックして
メールアドレスを入力してみるも再設定メールは届かず。
完全に詰んでしまったので問い合わせページからメールで連絡してみると...
なんと大昔に登録されていて、登録に使ったメールアドレスは
10年以上前に廃止したものでした。
サポートの方に依頼して手動で指定したメールアドレスを設定してもらい、
正規のパスワード再設定手順でアカウントはなんとか復活したのでした。

さてここで疑問。
各ユーザーを一意に識別するための識別子として一般に使用されるのは
メールアドレスや、独自発行のIDです。
これはデータベースの顧客情報テーブルの主キーに該当します。
ではネスレ会員における主キーはというと、
その挙動からしてメールアドレスでないことは確か。
となると入力情報からして氏名ということになります。
ただ氏名だと同姓同名の可能性を排除できないので、
氏名と住所や電話番号などを組み合わせて主キーにすることになります。
機能的にはそのようなことは可能ですが、
データベース論理設計の知識がある技術者なら
そんな仕様にするわけがなく、第3正規化するはずです。
よほどのド素人が設計したのか?

で、思いついたのがネスレ内のド素人が仕様を書き、
誰も意見せず、あるいは説得できずに
どこかに発注してそのまま実装されたパターン。
日本では「お客様は神様」みたいなことが往々にしてあるようですが、
客だろうが何だろうがだめなものはだめなんです。
Noと言える技術者でありたいものです。

0 件のコメント:

コメントを投稿