php / mysqlアプリのカスタムスキーマをSELECTクエリで組み合わせることができることを理解するために取り組んでいますが、その関係についてはよくわかりません。私は新人プログラマーであり、ネット上で特定の情報を見つけるためにこの関係を説明する能力が不足しています。このスキーマを設計するための擬似コードまたは技術用語を探しています。
以下に示すように、説明するのに十分シンプルです。また、SQLコマンドを擬似コードとして通知するロジックを試してみました。そこでデコードしたところ、助けを求めなければなりませんでした(9_9)
これは、2つのテーブルを使用する分類スキーマです。最初の表には、用語と重みベースの順序(最低から最高)の値が含まれています。2番目のテーブルは、最初のテーブルの親子関係を指定します。興味深いことに、最初のテーブルの子の重みは、親mの重みが子の重みnにインデックスを付ける多次元配列の2番目の値のように機能します。taxonomy_term_weight[ m ][ n ]のようなもの
table_a table_b on table_a.ID
+-----+------+-----+...+-----+
| ID | TRM | WT |...| P |
+-----+------+-----+...+-----+
|1 | 3 | [9] |...| [0] |
|2 | 1.1 | [0] |...| [9] |
|3 | 2 | [8] |...| [0] |
|4 | 2.1 | [0] |...| [3] |
|5 | 2.2 | [1] |...| [3] |
|9 | 1 | [5] |...| [0] |
+-----+------+-----+...+-----+
table_a = term table,
table_b = hierarchy table
TRM= TERM, WT= WEIGHT, P=PARENT
擬似コードでの私の試み。論理的には、最初のアイテムを取得するには、P = 0(親がなく、このスキーム自体が親であることを意味します)のレコードを見つける必要があり、その重み値は最小(最初のアイテムを意味します)である必要があります。擬似コードでこのようなもの、
table_a.ID=table_b.P=0 AND table_a.WT=[lowest value] //e.g. P=0, WT=5, Therefore ID=9;
結果のIDは、子レコードを検索するための親IDになります。
table_a.ID=table_b.P AND table_a.WT[lowest value] //e.g. P=9, WT=0, Therefore ID=2;
に続く、
table_a.ID=table_b.P AND table_a.WT=[lowest value] //e.g. P=2, WT=0, Therefore ID=none;
しかし、私が欲しいのは同じ親であり、重みが増加しています。
P=9, WT=1, Therefore ID=none;
テーブルをつなぎ合わせるのは理解できますが、これはジズザグまたは振動しているようです。私がすぐに気付くのは、私が理解していない深さの複雑さがあるということです。