とりあえず半歩

学んだことを1日1個、簡単なことでも良いから記録していきたい。

テーブルの縦持ちと横持ちをメモする

目標

縦持ちテーブルと横持ちテーブルの違いを記録して記憶する。

動機

縦持ちと横持ちとどっちがどっちだかこんがらがってしまうため。

課題

縦持ちと横持ちについて、頭のなかに入っていることを一旦文字に書き出して資料を参考にまとめ直し、再記憶する。

取組

環境

  • アラサーのニワトリ頭

作業

自分なりの言葉でまとめると次の通り。

縦持ちテーブル
集合ごとに対象とする値を列として定義したテーブル
横持ちテーブル
集合ごとに対象とする値を行で保持するテーブル

縦持ちテーブルと横持ちテーブルの例を挙げる。

ここではカピちゃん別に各年に食べたりんごの量を記録したいとしよう。

まずは縦持ちテーブルの例。

名前 2014年_りんご消費量 2015年_りんご消費量 2016年_りんご消費量
カピバラさん 1000 1100 1150
ホワイトさん 900 1000 1100
カピじい 750 730 700
仔カピ 400 480 580

これは各年の情報を列で持っているから縦持ちテーブル。

上の方にまとめた自分なりの説明の言葉で言う『集合』は、この時『各年』のことを指している。 りんご消費量について2014年・2015年・2016年の集合があって、それを列として表現するということ。 もし『2015年のりんご消費量を知りたい!』という時は[2015年_りんご消費量]列だけ見れば良いことになる。

次に横持ちテーブル。

名前 りんご消費量
カピバラさん 2014 1000
カピバラさん 2015 1100
カピバラさん 2016 1150
ホワイトさん 2014 900
ホワイトさん 2015 1000
ホワイトさん 2016 1100
カピじい 2014 750
カピじい 2015 730
カピじい 2016 700
仔カピ 2014 400
仔カピ 2015 480
仔カピ 2016 580

対象の行がどの集合に属するか示す値をもっているから横持ちテーブル。

『どの集合に属するか』を示す列を持たせることで、集合を行の集まりとして表現することになる。 だから、例えば『2016年のりんご消費量が知りたい!』という場合は[年]の値が2016である行を全部抽出してくれば良い。

感想

集合を列で表現するのが縦持ち、行で表現するのが横持ち。一度書き出すとすっきりする。

因みに、例で用いたカピちゃんのりんご消費量はただの例で公式とは何の関係もないのであしからず。

参考

見失った。。。見つけ次第更新