Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマーク
  • テクノロジー
  • ユーザ情報を保存する時のテーブル設計 - そーだいなるらくがき帳
  • Twitterでシェア
  • Facebookでシェア

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできますコメント表示の設定

ブックマークしました

ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

1152usersがブックマークコメント87

    ガイドラインをご確認の上、良識あるコメントにご協力ください

    0/0
    入力したタグを追加

    現在プライベートモードです設定を変更する

    おすすめタグタグについて

      よく使うタグ

        ユーザ情報を保存する時のテーブル設計 - そーだいなるらくがき帳

        ガイドラインをご確認の上、良識あるコメントにご協力ください

        0/0
        入力したタグを追加

        現在プライベートモードです設定を変更する

        おすすめタグタグについて

          よく使うタグ

            はてなブックマーク

            はてなブックマークで
            関心をシェアしよう

            みんなの興味と感想が集まることで
            新しい発見や、深堀りがもっと楽しく

            ユーザー登録

            アカウントをお持ちの方はログインページ

            記事へのコメント87

            • 注目コメント
            • 新着コメント
            オーナーコメントを固定しています
            Soudai
            オーナーはてぶ数がじょーかーさんになってた

              その他
              yamaz
              ちょうど社内でこの話題が出てるのですが、セキュリティ的な観点でログイン時だけに必要な情報と、個人情報が必要なケースに参照すべきテーブルは別々にして必要な参照権限も別にするべきだと思うのでした。

              その他
              htnmiki
              こんな枯れた要件でもベストプラクティス的なものがないというのが非IT系の者としては驚きだ

                その他
                wkubota
                だいたい同意。というか普段、似たような設計をしていたし、見かける形でもある。こうして公開することに価値のある知見だよなぁ。

                その他
                nazoking
                log系を外部制約から外した方がいろいろ捗るはず…?

                  その他
                  otchy210
                  deleted フラグを避けるために、deleted_users にレコードを移動する設計をしたことがある。それをさらに進めた感じ。とは言え現代では個人情報を持つリスクが大きく、 不要になったら極力削除したいわけで悩みは深い。

                    その他
                    turanukimaru
                    user_detailは有効期限をつけたうえで更新するときはupdateではなくinsertする形が好き。

                      その他
                      rizmhate
                      状態毎にテーブルかー、今までだと、ステータスカラム追加で事足りてたな。。。

                        その他
                        syossan
                        非常にわかりみしかない

                          その他
                          koyancya
                          user が active なのかどうかというのは DB は知ったことではない(アプリが決める)ので lock とか leave とか temp だけがあって、みたいにする

                            その他
                            オーナーコメントを固定しています
                            Soudai
                            オーナーSoudaiはてぶ数がじょーかーさんになってた

                              2018/05/03リンク

                              その他
                              enemyoffreedom
                              2018年の記事

                              その他
                              dorapon2000
                              “なぜusersにカラムを増やさないのか? それはusersは親tableであり、親tableの更新は常にデッドロックのリスクがあるから。”

                                その他
                                iga_k
                                そーだい先生のusersテーブル設計。知見。

                                その他
                                Chisei
                                物理削除したいのだが他サービスに削除を伝達したいときは deleted_uses table が欲しくなる。temporary な状態かつ発番したくない場合は別ストレージに格納が良いと考えている。

                                  その他
                                  jsstudy
                                  2018-05-01 ・テーブルに状態を持たせず状態毎のテーブルを作る・状態が変わればレコードを消して別のtableに作る・tableの普遍的な情報は別に持たせる [users]親table、基本はINSERTのみでUPDATE、DELETEを考慮しない。

                                  その他
                                  takets
                                  今は10%も理解できてないので、保存して必要になったら読み返す。

                                  その他
                                  usadamasa
                                  “しかしここでは適宜トランザクション利用することは人類には難しいという大前提で話をする。”

                                  その他
                                  tankdesant
                                  q

                                    その他
                                    mu2in
                                    テーブル設計ってわりと初期にやる分おろそかになりがちな感じ

                                      その他
                                      ymm1x
                                      なぜ状態テーブルに分けるのかあまりしっくりきてない。まとめるとアプリ側で xlock を扱いたくないでござるというのと状態フラグは作りたくないでござるというところでいいのかしら。

                                      その他
                                      sylvan_l
                                      ユーザ情報を保存する時のテーブル設計

                                      その他
                                      hiroponz
                                      すごいためになる

                                      その他
                                      joker1007
                                      confirm待ちとactiveなユーザー自体を分けるのは基本だと思う。propertyの持ち方はサービス特性に依存するので何とも言えないがEAVとJSONは選択肢に入る。削除は本当に辛い。DWH系のストアに入れたデータは特に。

                                      その他
                                      xorphitus
                                      自分のDB設計力上げなきゃなと思いながらリプ含め眺めたが、これならlog tableの外部キーを外す方向に考えたくなるなあ。よくあるtableとのことだけど、これって何が求められてるんだっけ

                                      その他
                                      tmatsuu
                                      現場から離れて久しいがマスター系の制約はCASCADEもしくはRESTRICT、トランザクション系の制約はON UPDATE CASCADE ON DELETE SET NULLってやってた気がする。

                                        その他
                                        trashtoy
                                        自分の場合はモデルとして自然かどうかを最優先するかも

                                          その他
                                          cocoasynn
                                          自分も思想的には似たような感じにテーブルを分割したいんだけど、色々複雑になりすぎる印象があるし場合によってはパフォーマンスに問題も出てきそうで悩ましい。

                                            その他
                                            sue445
                                            1000はてブじゃん

                                              その他
                                              style_blue
                                              ユーザーアカウントひとつ取ってもここまで細分化するものなのか。なるほど勉強になる。

                                              その他
                                              toritori0318
                                              議論が面白い

                                              その他
                                              side_tana
                                              参考になる

                                                その他
                                                ainame
                                                設計知見の共有良い

                                                  その他
                                                  codehex
                                                  マサカリ含めて参考になる

                                                    その他
                                                    progrhyme
                                                    ミニマルな親テーブルを作る。なるほど

                                                      その他
                                                      regularexception
                                                      設計でどうこうするんじゃなくて、ストレージ(DB)側がなんかしてくれればいいのに

                                                        その他
                                                        yositosi
                                                        一部で使ってみてるけど、基本的に参照も更新も手数が増える印象。セキュアな情報とかほとんど必要ないステータスみたいな時以外はあまり有効ではないのでは?ORMとか使ってるとそれこそJOINが爆発しそう。

                                                          その他
                                                          ghostbass
                                                          ユーザーの状態が増えたらテーブルが増えるって構造が個人的には受け入れられない。とあるユーザーの今の状態は?みたいな問い合わせが辛く感じる。けどそういうユースケースがないと仮定できるなら…

                                                          その他
                                                          yugui
                                                          これは良いまとめ

                                                          その他
                                                          ardarim
                                                          user_activeとuser_leaveが排他用途でDB最適化の観点からはイマイチだし、そもそもここで結局トランザクションを意識しなければならないのでは。退会ユーザを残すこと自体はなりすましとかを考慮すると必要かな

                                                          その他
                                                          versatile
                                                          log は db にいれなくて kvs にするとかにしたいライフ

                                                            その他

                                                            注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

                                                            リンクを埋め込む

                                                            以下のコードをコピーしてサイトに埋め込むことができます

                                                            プレビュー
                                                            アプリのスクリーンショット
                                                            いまの話題をアプリでチェック!
                                                            • バナー広告なし
                                                            • ミュート機能あり
                                                            • ダークモード搭載
                                                            アプリをダウンロード

                                                            関連記事

                                                              usersに達しました!

                                                              さんが1番目にブックマークした記事「ユーザ情報を保存...」が注目されています。

                                                              気持ちをシェアしよう

                                                              ツイートする

                                                              ユーザ情報を保存する時のテーブル設計 - そーだいなるらくがき帳

                                                              はじめに ※この発言は個人の見解であり、所属する組織の公式見解ではありません 用法用量を守り、個人の...はじめに ※この発言は個人の見解であり、所属する組織の公式見解ではありません 用法用量を守り、個人の責任で業務に投入してください 参考資料 2024/02/14追記 実際のテーブル設計の詳細はこちらを参考にどうぞ。 agilejourney.uzabase.com 要件 User情報を保存するときにどのようなテーブル設計を行うか 今北産業で頼む テーブルに状態を持たせず状態毎のテーブルを作る 状態が変わればレコードを消して別のtableに作る tableの普遍的な情報は別に持たせる 僕の考えた最強のDB設計 PostgreSQLをベースの雑なER図を作った。 これを元に話を進める。 table構成 users 親tableであり、すべてのユーザはここに属する。 基はINSERTのみでUPDATE、DELETEを考慮しない。 user_detail userに付随する詳細の情報がここに登録

                                                              ブックマークしたユーザー

                                                              • shivaduke282025/12/02shivaduke28
                                                              • redlo2025/11/13redlo
                                                              • takur8192025/10/01takur819
                                                              • mer-lion2025/09/04mer-lion
                                                              • reona52025/08/05reona5
                                                              • miKOYukarI2025/08/05miKOYukarI
                                                              • kentac552025/08/02kentac55
                                                              • fujimakitk2025/07/30fujimakitk
                                                              • zerokarahajimeru2025/07/29zerokarahajimeru
                                                              • rhrequiem2025/07/29rhrequiem
                                                              • nabeatsu12025/07/29nabeatsu1
                                                              • noguchi2025/07/29noguchi
                                                              • akitoshiga2025/07/29akitoshiga
                                                              • nikuyoshi2025/07/29nikuyoshi
                                                              • rx72025/07/29rx7
                                                              • imyutaro2025/07/28imyutaro
                                                              • kzm17602025/07/28kzm1760
                                                              • labocho2025/07/28labocho
                                                              すべてのユーザーの
                                                              詳細を表示します

                                                              ブックマークしたすべてのユーザー

                                                              同じサイトの新着

                                                              同じサイトの新着をもっと読む

                                                              いま人気の記事

                                                              いま人気の記事をもっと読む

                                                              いま人気の記事 - テクノロジー

                                                              いま人気の記事 - テクノロジーをもっと読む

                                                              新着記事 - テクノロジー

                                                              新着記事 - テクノロジーをもっと読む

                                                              同時期にブックマークされた記事

                                                                いま人気の記事 - 企業メディア

                                                                企業メディアをもっと読む

                                                                はてなブックマーク

                                                                公式Twitter

                                                                はてなのサービス

                                                                • App Storeからダウンロード
                                                                • Google Playで手に入れよう
                                                                Copyright © 2005-2025Hatena. All Rights Reserved.
                                                                設定を変更しましたx

                                                                [8]ページ先頭

                                                                ©2009-2025 Movatter.jp