わかれ!RDB Part1 リレーショナルって何?
5月だし、新人にむけて書いておくか。
まず、リレーション(関係)という言葉の定義をしたのは、リレーショナルモデル(関係モデル)を考案したコッド博士。あらゆるデータはリレーションという概念で表せるとしたもの。
「じゃんけんの手」という集合を考えよう。これには「グー」「チョキ」「パー」の3つだけが含まれている。
じゃんけんの手 |
---|
グー |
チョキ |
パー |
じゃあ、「じゃんけんの手」を2つ並べたものの集合は?
じゃんけんの手a | じゃんけんの手b |
---|---|
グー | グー |
グー | チョキ |
グー | パー |
チョキ | グー |
チョキ | チョキ |
チョキ | パー |
パー | グー |
パー | チョキ |
パー | パー |
と、9通りある。
でも、これって手aと手bに何の関係性もない場合なわけだ。もし、手aじゃなくて「勝つ手」、手bじゃなくて「負ける手」としたら?
じゃんけんで勝つ手 | じゃんけんで負ける手 |
---|---|
グー | チョキ |
チョキ | パー |
パー | グー |
はい、知ってのとおり、取りうる組み合わせは3つに限られる。
つまり、これこそがリレーションなわけ。「じゃんけんの勝ち負け」というリレーション。
一つ手前の「じゃんけんの手2つ」というのは、【列と列に何の関係もない】というリレーション。
じゃんけんの例では2列のリレーションにしたけど、実際は1列だってリレーションになる。
「2個~5個の数字の並び」だったら
数字の並び |
---|
(多いので省略) |
たくさんあるわけだけど、「熊本県の市外局番」だったら
市外局番 |
---|
096 |
0965 |
2つになる(熊本を選んだのは俺の出身地だから)。これだって、この2つの間には「熊本県の市外局番」という観点で関係がある。
要するに、データ集合に何らかの名前がついている時点で、それはすでにリレーションなんだな。
次回予告
- Part2. リレーションはテーブル(表)か
- Part3. リレーションシップ(関連)とは