見出し画像

どうやったらリレーション組める?多重度の話【ノーコード・ツールGlide】

今日は、2つのテーブルの「多重度」と「リレーション」の話をします。

「タジュード?何それ、おしゃれなお菓子?😄」

いや、食べ物じゃないです…💦。テーブルとテーブルの間の対応関係の話なんです。

「1対多」の関係のとき、リレーションが組める

今、テーブルとテーブルの対応関係が、「1対多」なる例を考えます。この「1対多」のときこそ、リレーションを組むのに適するのです(いろいろ例外はあるでしょうが😅)。

「学級(クラス)」と「生徒」の関係を考えます。一つの「学級」には、複数の生徒がいます。

一方、一人の「生徒」は、一つの「学級」にしか属しません。「私は、3年1組と3年3組の生徒なの!」というのはないですよね~。

このとき、「学級」が「1」に対して、「生徒」が「多」という関係が成り立ちます。

多対多のとき、リレーションが組めない!?

それでは、こんな関係はどうでしょう?「ある人が、ある動物を好きである」。この文章からテーブル(正確にはエンティティ)になる要素を抜き出して、対応関係を考えます。主人公は、「人」と「動物」ですね!

「ある人は、複数の動物が好き」である。これは分かりますよね。猫も好きだし、犬も好きだし~🧡。

でも、動物から見たらどうでしょう。猫ちゃんには、花子さん、太郎さん、次郎さんというファンがいるとしたら?

うん、人から見ても、動物から見ても1つのアイテム(人、動物)に、複数のアイテム(動物、人)が対応しますねえ。。。

このとき、「人の属性を持つテーブル」と「動物の属性を持つテーブル」の関係は、「多対多」となります!

このままですと、「人の属性を持つテーブル」と「動物の属性を持つテーブル」間で、フツーはリレーションの設定ができないんです😲。

ならば、頑張って「1対多」の関係に変換する!

じゃあ、どうするのか?よくある手口、もとい方法は、動詞である「好き」もテーブルにしてしまうんです!さらに

・一人の「人」は、複数の「好き」がある。
・一つの「動物」は、複数の「好き」がある。

のように、1つの「多対多」を、2つの「1対多」に変換します。

こうすれば、「多対多」が解きほぐされて、2つリレーションを組めるようになります。いえぃ😁。

こんな説明で、分かっていただけましたか?。。。ただ、、、話には続きがあります。

でも「1対多」に直すなんて面倒だ

さきほど、「多対多のままではリレーションを組めない」という話をしました。。。フツーは。。。

じゃあ、フツーじゃない場合は?はい、そのフツーじゃない場合を本当は紹介したかったのです!

「好き」という中継役のテーブル(連関エンティティとか言うそうの)を作らなくても、Glideのアプリビルダーとデータエディタをうまく使えば、リレーションの設定ができてしまうのです。

ということで、今日はここまで。
続きは、明日書きます。

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。




この記事が気に入ったらサポートをしてみませんか?