問題タブ [table-splitting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
189 参照

sql-server - T-SQL: OTLT テーブルを多対多の関係に分割する

エンティティ フレームワーク アプリケーションがあります。主に EF 規則に従っていないために、多くの問題を引き起こし始めているテーブルがあります。

古いテーブル

2 つの重要な列はRequestTypeRequestDetailIdです。要求の各タイプには、独自の ID 列があります。これらの ID はテーブル間で重複する可能性があるためRequestType、承認を要求に一意に関連付けるフィールドがあります。

この「One True Lookup Table」をApprovalテーブルと、各リクエスト テーブルの個別の多対多テーブルに置き換えて、リクエストを承認にリンクすることを計画しています。

新しいテーブル

この新しい承認テーブルを指しているリクエストがすでにいくつかあり、EF 内での動作が気に入っています。ただし、古いテーブルから新しいテーブルへの移行に苦労しています。これまでのところ、カーソルを使用して古いデータをループし、新しいApprovalテーブルに挿入し、ID ( SELECT SCOPE_IDENTITY()) を使用して多対多テーブルに挿入してきました。新しい承認レコードごとに承認 ID の値を追跡する必要があるため、カーソルが必要です。多対多のテーブルに入力できるようにします。

誰かがカーソルを必要とせずに2つの挿入を行う方法を知っているかどうか、私は興味がありました. カーソルは問題ありませんが、読みにくいです。

1 つの考えは、テーブルにリクエスト ID フィールドを一時的に追加し、リクエスト ID をApproval使用して承認を挿入し、その情報を古いテーブルに結合して多対多テーブルに入力することでした。2 つの挿入の後、リクエスト ID 列を削除します。移行を行うためだけに、null 許容のリクエスト ID 列を既存のテーブルに追加するという考えは好きではありません。

カーソルを使用せずに古いルックアップ テーブルを新しい承認/多対多テーブルに分割する方法を誰かが考えられるかどうか、私は興味がありました。

0 投票する
2 に答える
515 参照

entity-framework - EF6: テーブル分割が機能しない

Addresses と Visits の 2 つのテーブルが主キーとして同じ値を共有する EF6 データベースを作成しようとしています。Visits は、概念的には Addresses の拡張です。Addresses のほとんどのレコードは Visits に含まれるフィールドを必要としないため、テーブルを分割しています。

コードファーストのアプローチを使用しています。アドレスに関連するコードは次のとおりです。

および訪問の場合:

私の調査に基づいて、データコンテキストの OnModelCreating メソッドに以下を含める必要もありました。

残念ながら、これは機能しません。Addresses からプライマリ インデックスを削除するためのスキャフォールディング コールを削除した後、データベースを正常に更新できます (おそらく、追加移行コードが主キーを「単なる」外部キー フィールドと見なしているため)。しかし、アプリケーションを実行すると、次のエラーが発生します。

列名 'Address_ID' が無効です。列名 'Address_ID' が無効です。

EF6 での私の限られた経験から、これはフレームワークの奥深くにあるように見え、おそらく Visits テーブルに「Address_ID」という名前のフィールドがあると予想されます (私が見た「テーブル名」_「フィールド名」命名構造に基づく)その他の暗黙的に追加されたフィールド)。

私がやろうとしていることは可能ですか?もしそうなら、私は構成で何が欠けていますか?

追加情報

残念ながら同じエラーが引き続き発生するbubiの提案されたソリューションを試してみると、OnModelCreatingコードを削除しても、機能的な移行コードが生成されます。

解像度

私はついに、以前に行うべきだったことを行いました。それは、爆発していたクエリによって生成された実際の T-SQL コードを調べることです。問題は Visit/Address リンケージにあるのではなく、別のテーブルを含む完全に別の関係にあることがわかりました。どうやら、途中のどこかで、他のテーブル (投票者) に Address_ID 外部キー フィールドがあると EF に思わせるようなことをしたようです。実際には、Address/Voter の関係は Voter.AddressID フィールドに結び付けられるべきでしたし、元々結び付けられていました。

多数の移行を巻き戻そうとするのではなく、データベースを吹き飛ばし、移行を吹き飛ばして、最初からやり直すことにしました。データベースを再作成した後、bubi の提案を使用して、バックアップからデータをリロードすると、ほら、仕事に戻りました。

完全を期すために、住所と訪問の関係を正しく機能させるために、OnModelCreating メソッド呼び出しに入れなければならなかったコードを次に示します。

Address テーブルのすべてのエントリが Visit テーブルにエントリを持っているわけではないため、WithRequiredPrincipal/WithRequiredDependent を使用できるようにするために HasRequired を使用する必要がある理由について少し混乱しています。それは「必須」ではなく「任意」のようです。しかし、それは機能しているように見え、おそらく「必要な」部分は、データベース自体ではなく、データベースの EF のモデルの内部にあるだけです。

0 投票する
2 に答える
102 参照

r - Rで行が数値であるかどうかにかかわらず、データフレームを分割する

2つの列で構成されるデータフレーム(「df」と呼びましょう)があります

「連絡先」列の行が数値であるかどうかに基づいて、データフレームを2つのデータフレームに分割したい

期待される出力:

私は疲れました:

しかし、これは「hello1@company.com」も数値として分類しました。

基本的に、「連絡先」列に数値以外の値が 1 つでもある場合、コードはそれを数値以外として分類する必要があります。

0 投票する
0 に答える
29 参照

.net - テーブル分割を使用し、他のテーブルを結合すると、列名が変更されます

私の英語は下手なので、私が受けた問題をできる限り説明することができます。WORK_ORDER と INVENTORY_TRANS の 2 つのエンティティを取得しました。クエリ用にこれらのテーブルを結合しました。WORK_ORDER でテーブルを分割する前に、すべて正常に動作しています。なんらかの理由で、WORK_ORDER でテーブル分割を行う必要があり、その後、結合クエリが機能しなくなりました。

以下のコード スニペットを貼り付けました。

PART=w.PART_ID に関するエラーが発生しました。このフィールドの名前は PART_ID2 に変更されています (トレースには SQL プロファイラーを使用しました)。テーブル分割を行った後、名前が変更される理由がわかりません。ところで、他のフィールドを試しましたが、列名が結合テーブルと同じであることを除いて、すべて正常に機能しています。

どんな助けでも大歓迎です。

0 投票する
0 に答える
71 参照

hadoop - hbase コプロセッサで領域の分割をブロックすることは可能ですか?

coprocessorService には、既存のデータを適切に変更する処理 (取引の強化) があります。すべての行を反復処理し、変更してリージョンに戻します。テーブルを変更できるクライアントは 1 つだけです。

処理中にデータのサイズが 2 倍になる -> 領域のサイズが大きくなる -> 領域の分割が発生します。例外 NotServingRegionException によって処理が停止されます (リージョンが閉じられて 2 つの新しいリージョンに分割され、閉じられて存在しなくなったため)。

処理時にリージョンの分割をブロックするクリーンな方法はありますか?

カスタム RegionSplitPolicy を作成し、shouldSplit() で false を返すフラグを明示的に設定することを考えていますが、それが安全かどうかはまだわかりません。

アドバイスいただけますか?

0 投票する
1 に答える
951 参照

mysql - MySQLで1つの列から複数の列へのデータの数?

さまざまなアクティビティを別々の列に分割してカウントする方法がわかりません。これは最初のテーブルです:

これを次のように変換できるようにしたいと思います。

0 投票する
1 に答える
159 参照

c# - テーブルを 1 対多の関係を持つ EF クラスに分割できますか?

データベース構造
次のような構造を持つ非常に非正規化された SQL テーブルがあります。

特定のレコードはそれぞれ固有のものですが、1 つの出荷で複数のパレットが複数の宛先に送られる場合があります。

.NET インターフェイス
これは、次のように構造化したい EF オブジェクトによって操作されます。

問題
テーブルを 1 対 1 のエンティティに分割し、外部キー データを EF のコレクションにマッピングするチュートリアルは見つかりましたが、あるテーブルの列をコレクションにマッピングする方法については何も見つかりません。これは可能ですか、それともテーブルの分割、ビューの作成、または各列のプロパティを持つ POCO クラスの作成に限定されていますか?

Endmatter
別のアプリケーションが SQL テーブルにアクセスして、任意の数の出荷に関するレポートを生成するため、Powers That Be は、取得に時間がかかる一連の正規化されたテーブルとビューではなく、パフォーマンスのために非正規化されたテーブルを使用することを選択しました。 .