522 Views
April 12, 22
スライド概要
エンジニアです
ユーザーの設計 2022年4月12日 Fuuki Shigenaka twitter: @fuukidev
ユーザーの設計 ユーザーのデータとして何をもたせるか 例:ECサイト ユーザー ID パスワード 名前 誕生日 住所 配送先住所 会員ランク …… 先に結論を言うと IDだけにします 2
ユーザーのデータが持つ範囲の設定が難しい 理由 そもそもシステム上のデータは、ほぼ全部ユーザーのデータ 3
例:ECサイト 店舗 注文 誕生日 商品 クーポン お気に入り 在庫 問合せ 会員ランク 売上 送料 配送先住所 消費税率 4
例:ECサイト 顧客ユーザーのデータ (顧客ユーザーに紐づくデータ) 店舗 注文 誕生日 商品 クーポン お気に入り 在庫 問合せ 会員ランク 売上 送料 配送先住所 マスターデータは ユーザーに紐付か ない事が多い 消費税率 どこまでが「ユーザー」の データかを考えるのがそも そも無理 出店者ユーザーのデータ (出店者ユーザーに紐づくデータ) 5
ユーザーのデータが持つ範囲の設定が難しい 解消方法 「ユーザー」にデータは持たせない 6
ID だけ持つ 「ユーザー」の情報っぽいもの ユーザー ID パスワード 名前 アカウント 誕生日 住所 パスワード プロフィール 名前 誕生日 住所 7
ID だけ持つ ユーザー 他のいろんなデータと同 等に扱える ID 1 1 1 アカウント パスワード プロフィール 名前 誕生日 住所 1対1対応なのでデータベース上で はまとめてもよさそう 1 1 1..n 注文 商品 注文日時 配送ステータス 1..n ポイント仕訳 発生日 勘定科目 金額 8
こういう感じで本当にいいのか? 先人の知恵を見てみる 9
Twitter の設定画面 引用元 https://twitter.com/settings/profile 引用元 https://twitter.com/settings/your_twitter_data/account 10
GitHub の設定画面 データを分けておくと画面の設 計もしやすくなる このあたりの分類 👉 ● ● ● Public Profile ○ Name ○ Public email ○ Bio ○ Company Account ○ username Emails ○ Primary email address ○ Backup email address 引用元 https://github.com/settings/profile 11
まとめ ● ● システムのデータは、ほぼ「ユーザー」のデータ 「ユーザーの何のデータか」を整理するとよさそう ○ 既存サイトの分け方を参考に ありがとうございました Fuuki Shigenaka twitter: @fuukidev 12