関連化合物-特定および汎用属性

関連する選択操作のプロパティの説明を続けます。 最初の部分では、 入力ベクトルの値でルールレジスタのタプルをフィルタリングすることを検討し 、その後、選択したタプルを関連性でソートしました。 タプルの関連性を正しく考慮する(評価する)方法に重点が置かれました。









ここでは、サンプリング操作自体について詳しく説明します(単一の式はありません!)。 一般的なケースでは、テーブルを持つベクターだけでなく、2つのテーブルもこの操作に参加(結合)できます。 セットに属する要素のチェックを使用するテーブルの操作は、 関連結合と呼ばれます。 次に、その機能について検討します。







特定の属性と普遍的な属性



前回の記事では、データテーブルは、特定の属性値を含むファクトテーブルと、設定値(ユニバーサル値)を含むことができるルールテーブルに条件付きで分割されました。







ただし、テーブルの分割ではなく、属性の分割について説明する方が適切です。 同じテーブルでは、1つの属性に特定の値が含まれ、もう1つの属性に値が設定されます(ユニバーサル)。 これに従って、次の論文を提出できます。







すべての属性(リレーション)は、 特定ユニバーサルの 2種類に分類できます。







特定の種類の属性とは、値がセットの要素として解釈される属性です。 たとえば、そのような属性の値が存在しないということは、空の値を意味します(ユニバースではありません)。







普遍的な種類の属性とは、値がセットとして解釈される属性です。 このセットが1つの要素で構成されている場合でも。 そのような属性の値がないことは、通常、そのユニバースの値(セットのすべての値)を意味します。







ユニバーサル属性の値は、テーブルタプルの関連性の評価に関与します-これらは関連性属性です。 すべての値の関連性は常に同じであるため、特定の属性を評価することは意味がありません。







例-値がパラメーターに依存する変数



両方の属の属性があるレジスタを考えてください。 特定の情報システムの変数の値を含むテーブルとします。 これを「変数値」と呼びます。 各変数は、名前(識別子)と値によって特徴付けられます。 値はシステムのユーザーに依存すると仮定します。 このようなテーブルでは、変数のデフォルト値(すべてのユーザー)を設定し、特定の変数に再定義できます。







レジスタの決定要因は、2つの属性(ディメンション)-"名前"と "ユーザー"で構成されます。 ルートは1つの「値」リソースからのものです(別のシステム属性はLの関連性です)。







レジスタの値は、およそ次のようになります(ユーザーの重要度は100と見なされ、タプルには便宜上番号が付けられます):







いや 名前(0) ユーザー(100) 価値 L
1 モード 8 0
2 モード イワノフ 6 100
3 生年月日 1980年1月1日 0
4 生年月日 イワノフ 1987年2月15日 100
5 生年月日 ペトロフ 12/09/2008 100
6 資格 ペトロフ 平均 100


すべてのユーザーの変数「Mode」の値は8です。例外はIvanovです。この場合、モードの値は5です。同様に、変数「Date of Birth」の値。 デフォルトでは、システムは1980年1月1日にすべてのユーザーの誕生日を受け入れます。 しかし、ユーザーIvanovとPetrovには、より正確な値があります。 「資格」変数もあり、その値は1つのペトロフのみに設定されます。







このレジスタでは、属性(ディメンション) "Name"は特定の属に属します。 その値は常に指定する必要があり、この属性の宇宙の意味には意味がありません。 そのような属性の関連性を評価しても意味がありません—そのような次元にゼロの重みを割り当てます—これにより、具体的な測定値と抽象的な測定値が区別されます。







しかし、「ユーザー」ディメンションは、逆に普遍的な種類です。 特定のユーザー値が存在しないということは、「すべてのユーザー」ユニバーサルの使用を意味します。 特定のユーザー(IvanovまたはPetrov)へのリンクは、実際には1つの要素(Ivanov)のセットとして解釈されます。







属性のタイプは、関連する選択(接続)のアルゴリズムに影響します。







統一と対立の闘争



記事の冒頭で示したように、特定のテーブルからデータを選択する操作には2つのテーブルが関係しています。 それらの1つ(データソース)は抽出する必要があるデータであり、2番目(入力テーブル)は選択パラメーター(正確に選択する必要があるもの)を設定します。







入力テーブルが1つのタプルで構成されている場合、入力データはベクトルと見なすことができます。 これは実際には最も一般的な状況です。 ただし、一般的なケースでは、入力テーブルに複数のタプルが存在する場合があります。







関連する接続は、「セット内の要素のメンバーシップ」の操作を使用するという点で、通常の接続とは異なります(値が等しいという点で)。 つまり、一方ではセットが必要であり、他方ではセットの値が必要です。







その結果、関連する結合に含まれるテーブル属性のタイプは反対です。 1つのテーブルで特定の種類の結合属性を使用する場合、この属性の2番目の種類では属性をユニバーサルにする必要があります。 そしてその逆。 これは、関連化合物の属性の属の反対称特性です。







説明します。 データソーステーブルを特定の種類の1つの属性で構成します。 この場合、特定の値のセットを処理しています。 たとえば、多くの異なる単語を使用できます。 次に、入力に関連する接続を使用して、セット(単語)を指定する必要があります。 このような複数形は「I」の意味である場合があり、「I」で終わるすべての単語として解釈されます。 入力で「I」と「a」の2つのサブセットのセットを指定できます。「I」または「a」で終わるソーステーブルのすべての単語が選択範囲に表示されます。







反対の状況-ソーステーブルは1つのユニバーサル属性で構成されます。 たとえば、単語の意味のセットが含まれています。 これらの意味セットは、再び単語の末尾になります-(「I」、「a」、「b」、「eh」、「pb」、...)。 次に、入力テーブル(セット)には特定の単語の意味が含まれている必要があります(ベクトルが1単語の場合)。 選択操作は、この特定の単語に対応するエンディングを返します。







関連する選択により、特定の属性の値がユニバーサル値に属するかどうかがチェックされます。 属性がどのテーブル(入力またはソース)にあるかに関係なく、関連条件の形式は次のとおりです。







特定の属性の値は、ユニバーサル属性の値に属します。







具体性または普遍性は属性値の解釈であることをもう一度強調します。 属性が具象宣言されている場合、その値はすべて(設定されているように見えても)具象になります。 また、関連する接続の操作では、セットではなく要素の側で動作します。







関連する複合アルゴリズム



レジスター「変数の値」を見てみましょう。 それからどのような選択が理にかなっていますか? 最も明白なのは、特定のユーザーの変数の値を取得することです。 たとえば、ユーザー「Ivanov」の変数「Mode」の値を抽出するには、入力テーブルは次のようになります。







ユーザー
モード イワノフ


実際、これは単なるベクトル(1つのタプル)です。 このテーブルの属性の種類は元の属性の反対であることに注意してください。 つまり、ここでは属性「名前」は普遍的であり、属性「ユーザー」は固有です。







Name属性の普遍性は、その値がセットとして解釈されることを意味します。 ここでの「モード」という名前の意味は、複数の1つの要素です。 この属性の空の(指定されていない)値は、ユニバースとして解釈されます。 以下にそのような入力ベクトルを示します。たとえば、







ユーザー
イワノフ


ユーザー「Ivanov」に設定されたすべての変数の選択を意味します。







関連する値の選択



接続(選択)の結果には、特定の属性の値が含まれている必要があります。 つまり、接続の結果の決定要因は特定の値で構成される必要があります。 これにより、行列式(キー)の値内の関連性によって、選択したタプルをソートできます。







したがって、上記のベクトル{Name:∀、User: "Ivanov"}に従ってテーブル「変数値」の関連するタプルを選択すると、同じテーブルが取得されますが、ユーザー値が入力されます。







いや ユーザー 価値 L
1 モード イワノフ 8 0
2 モード イワノフ 6 100
3 生年月日 イワノフ 1980年1月1日 0
4 生年月日 イワノフ 1987年2月15日 100


「Name + User」キーの各値に最も関連するタプルを残して、目的のタプルを取得します。







いや ユーザー 価値 L
2 モード イワノフ 6 100
4 生年月日 イワノフ 1987年2月15日 100


より複雑な例を考えてみましょう。 2人のユーザー(IvanovとPetrov)の変数値を選択するとします。 次に、入力テーブルには2つのベクトル(タプル)が含まれます。







ユーザー
イワノフ
ペトロフ


関連する接続の操作を実行した後(要素がセットに属するかどうかを判断)、中間テーブルを取得します。







いや ユーザー 価値 L
1 モード イワノフ 8 0
2 モード イワノフ 6 100
3 生年月日 イワノフ 1980年1月1日 0
4 生年月日 イワノフ 1987年2月15日 100
1 モード ペトロフ 8 0
5 生年月日 ペトロフ 12/09/2008 100
6 資格 ペトロフ 平均 100


行列式(キー)の値内で最も関連性の高いタプルを残します。







いや ユーザー 価値 L
2 モード イワノフ 6 100
4 生年月日 イワノフ 1987年2月15日 100
1 モード ペトロフ 8 0
5 生年月日 ペトロフ 12/09/2008 100
6 資格 ペトロフ 平均 100


この表は、関連するキー選択の結果です。







ソフト選択条件



ソフト選択条件とは、値を指定する属性が特定のものを指します。 したがって、選択パラメーターは汎用的であり、値セットで構成されています。







通常、この状況はいくつかの事実を参照するときに発生します。この事実から、関連度の異なる適切な条件を選択する必要があります。 つまり、データの選択(選択)の条件は難しくありませんが、望ましい-柔らかいです。







店では、買い手は「赤い色」を求めることができます。そうでない場合は、どれでもいいです。 チケット(予約席)を購入する場合、特定の日付は購入者にとって望ましいものであり、入手できない場合は最も近い無料の日付です。 等







穏やかな選択条件も関連する化合物です。 唯一の特徴は、通常、このような選択の結果として、最初のタプルだけでなく、関連するすべてのタプルが残されることです。







テーブル「変数の値」のデータにアクセスするときのソフト選択条件を示します。 Petrovのユーザーの「資格」変数を選択する必要があり、そうでない場合は他の変数を選択します。 変換テーブル(入力テーブル)は次のようになります。







ユーザー
ペトロフ 0
資格 ペトロフ 5


テーブル属性の種類の反対称規則を遵守することに注意を払います。 [変数値]テーブルでは、[名前]属性は特定であるため、入力テーブルではユニバーサルです。 それどころか、変数テーブルの「ユーザー」属性は普遍的であるため、入力テーブルで特定(指定)する必要があります。







ファクトテーブルを参照する場合(ここでは、「変数の値」テーブルが抽出されたファクトのテーブルの役割を果たします)、入力テーブルで関連性を指定する必要があります(タプルの数が複数の場合)。







フェッチ操作の後、入力テーブルと変数テーブルの関連性でソートされたテーブルを取得します。







いや ユーザー 価値 L
6 資格 ペトロフ 平均 100 5
5 生年月日 ペトロフ 12/09/2008 100 0
1 モード ペトロフ 8 0 0


間隔に属する値の選択の機能



最初の部分では、関連するサンプルがすでに検討されており、セットは区間の1つの境界で指定されています。 そこでは、間隔のセットの値がアクセスされる属性(ルールレジスタディメンション)に含まれていたため、間隔のパワー(および関連性)を事前に(サンプルの前に)推定することができました。







「ソフトサンプリング」では、状況が異なります。特定の属性値(ファクト)が選択され、関連間隔が入力で設定されます。 たとえば、列車(事実)の出発日は既知であり、指定された(ユーザー)間隔に属する日付を選択する必要があります。







原則として、日付を選択するだけでなく、日付を関連性(特定の境界線への近接度)で並べ替える必要もあります。 境界への近接度は、入力間隔の境界とサンプルの値で指定される境界によって形成される間隔のパワーに反比例します。 通常、サンプル値は右境界値( "To")を指定し、左値( "C")は入力間隔の対応する境界によって設定されます。 得られた間隔の関連性は、入力間隔に関連して推定できます。







次の出発日(事実)のセットがあるとします:(15、17、23、25、30)。 次に、間隔[20、25]の所定のセットからファクトを選択して、2つの間隔のセット([20、23]、[20、25])を取得します。 一般的な規則に従って、より小さい間隔[20、23]の関連性は高くなります。







おわりに



驚くべきことに、シンプルで直感的なものには、比較的明確な説明のために非常に多くの文字が必要でした。







この作業の最初の目標は、ユニバースを含むデータのサンプルの関連性を評価する際に使用される数学を修正することでした。 また、テーブル属性の種類を理解して会計する必要性も示します。 具体的または普遍的な属性の解釈により、 関連する接続の抽象操作を定義できます。







これは何のためですか? 最終的に、情報システムのエントロピーを削減します。 たとえば、ロジックの実装とプログラムコードまたはルールテーブル(レジスタ)を比較すると、テーブルのエントロピーがはるかに少ない(さらに、宣言型であり、命令型ではない)ことは明らかです。 ルールレジスタ、ユニバース、および関連する結合の概念は、リレーショナルデータモデルに非常によく適合しています。 記事はそれらを正しく調理する方法のみを示しています。 使用してください!








All Articles