サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
shiro-secret-base.com
どうも、シローです。 今回は閉包テーブルって何か、どういう時に使うかを伝えたいと思います。 閉包テーブルとは 閉包テーブルとは自己参照型のデータの参照部分を切り出したテーブルのことを言います。 具体的にはLINEのチャットでコメントに対するリプライの関係性を格納します。 ER図 コメントのデータ自体を管理するのがCommentsテーブルで コメントの祖先(ancestor)と子孫(descendant)を管理するのがTreePathsテーブルです。 TreePathsテーブルにはCommentsテーブルへの二つの外部キー(ancestor, descendant)を持っているのがポイントです。 ツリー構造を持つコメントデータの管理する場合 あるコメントに対してのリプライをできる機能を持つサービスで以下のようなツリー構造のコメントがあったとします。 これを閉包テーブルで表現すると。 Comm
どうも、シローです。 今回は、特定の文字列に限定した列を定義する方法について、アンチパターン「サーティワンフレーバー」も一緒に紹介します。 特定の値を持ちうる列とは 例えばユーザ(Users)の権限(管理者かメンバーか)を表したい場合、Usersテーブルにメンバーの権限を表すuser_roleという列を定義するとします。 このuser_roleには管理者の場合はadmin、メンバーの場合はmemberという値を持ちそれ以外の値は格納しない(できない)ようにするにはどうすれば良いのか アンチパターン「サーティワンフレーバー」について 先にアンチパターンについて紹介します。 サーティワンフレーバーと呼ばれる設計方法では特定の値を入れるために 列にCHECK制約を入れる(MySQL8.0以降) 列をENUM型にする という手法を取りうることです。 僕の環境はMySQL5.7なのでENUM型のカラ
このページを最初にブックマークしてみませんか?
『shiro-secret-base.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く