テーブルの縦持ちと横持ちをメモする
目標
縦持ちテーブルと横持ちテーブルの違いを記録して記憶する。
動機
縦持ちと横持ちとどっちがどっちだかこんがらがってしまうため。
課題
縦持ちと横持ちについて、頭のなかに入っていることを一旦文字に書き出して資料を参考にまとめ直し、再記憶する。
取組
環境
- アラサーのニワトリ頭
作業
自分なりの言葉でまとめると次の通り。
- 縦持ちテーブル
- 集合ごとに対象とする値を列として定義したテーブル
- 横持ちテーブル
- 集合ごとに対象とする値を行で保持するテーブル
例
縦持ちテーブルと横持ちテーブルの例を挙げる。
ここではカピちゃん別に各年に食べたりんごの量を記録したいとしよう。
まずは縦持ちテーブルの例。
名前 | 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である行を全部抽出してくれば良い。
感想
集合を列で表現するのが縦持ち、行で表現するのが横持ち。一度書き出すとすっきりする。
因みに、例で用いたカピちゃんのりんご消費量はただの例で公式とは何の関係もないのであしからず。
参考
見失った。。。見つけ次第更新