問題タブ [dml]

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 投票する
2 に答える
557 参照

sql - 非正規化ルールを定義する DDL?

私は何年もリレーショナル データベースの仕事をしてきましたが、最近は Cassandra/Redis の領域に移行しました。NoSQL は私たちがやっていることに意味があるので、それで問題ありません。

今日、Cassandra 列ファミリーの定義に取り組んでいるときに、ある疑問が浮かびました。リレーショナル データベースでは、データベース エンジン自体が結果として生じる一貫性の問題をネイティブに管理できるように、DDL で非正規化ルールを定義できないのはなぜですか。言い換えれば、リレーショナル データベース プログラマーがパフォーマンス目標を達成するために非正規化するとき、なぜ専用 SQL を介して一貫性を維持する必要があるのでしょうか?

たぶん、私が行方不明になっていることが明らかな何かがありますか?このような提案がばかげている理由は何かありますか?なぜなら、この機能を持っていると非常に便利なように思えるからです.

編集:

これまでのフィードバックに感謝します。私はまだ答えられていない質問を抱えているように感じます (おそらく、うまく表現されていないためでしょう)。マテリアライズド ビューは、非正規化されたデータに対してエンジン管理の一貫性を提供しようとしていることを理解しています。ただし、基になるテーブルが変更されてもすぐには更新されないことを理解しています。これが本当なら、それはエンジンが本当にそうではないことを意味します非正規化に起因する一貫性の問題の管理...少なくとも書き込み時ではありません。私が理解しているのは、複雑なリレーショナル モデルに対して読み取り負荷の高いシステムをスケーリングするときに、真の機能豊富なエンジン管理の非正規化を使用しない正規化されたデータ構造は、リレーショナル データベース エンジンを妨害するということです。マテリアライズド ビューのリフレッシュ レートを調整することは、Cassandra などの NoSQL エンジンによって提供される調整可能な「結果整合性」に等しいというのは本当だと思います。エンジンがどれだけ効率的にマテリアライズド ビューを同期できるかを調べる必要があります。NoSQL オプションと比較して実行可能であると見なされるためには、ビューの同期にかかる時間が、追加/更新された行の数に比例して増加する必要があります。

とにかく、もう少し考えて再編集します。うまくいけば、想像上の DDL の代表的な例がいくつかあります。

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

oracle - 許可されていない場合に MERGE INTO Oracle 構文を置き換えるパターン

Oracle MERGE INTO... DML ステートメントを使用してテーブル A を更新し、別のテーブル B の一部の変更に対応するアプリケーションがあります (テーブル A は、テーブル B の選択された部分とその他の情報をまとめたものです)。典型的なマージ操作では、5 ~ 6 行 (数万行のうち) がテーブル B に挿入され、2 ~ 3 行が更新されます。

アプリケーションは、ターゲット テーブルにセキュリティ ポリシーが設定されている環境にデプロイされることが判明しました。MERGE INTO...文はこれらの表では使用できません(ORA-28132: Merge into構文はセキュリティ・ポリシーをサポートしていません)

そのため、代わりに通常の挿入と更新を使用するように MERGE INTO... ロジックを変更する必要があります。これは他の誰かが遭遇した問題ですか?マージ ステートメントの WHEN MATCHED/WHEN NOT MATCHED ロジックを INSERT および UPDATE ステートメントに変換するためのベスト プラクティス パターンはありますか? マージはストアド プロシージャ内で行われるため、必要に応じてソリューションで DML に加えて PL/SQL を使用しても問題ありません。

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

unit-testing - Behat 2.0を使用して、どこにステップを置くべきですか?

bootstrap.phpの下に置く必要がありますか?何を知っておくべきか本当に混乱しています...クロージャではなく、oopスタイルを使用したいと思います。私はBDDとBehatに不慣れです。どんな助けでも大歓迎です。ありがとう

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

sql - Oracle SQL - 列の値が基準として区別されない

必要な値を返す SQL ステートメントを作成するのに問題があります。ユーザー ID、2 番目の列の値、およびその列の値が複数回出現する 3 番目の列の値に基づいてデータを選択する必要があります。すべての列が同じテーブル内にあります。

これが現在のクエリの大まかな概要ですが、最後の AND ステートメントは明らかに、私が何を求めているかを示すためのものです。結果を絞り込む COUNT ステートメントは、おそらくうまくいかないでしょう。

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

sql - SQL Server 2008 - 複雑な挿入トリガー

私は SQL プログラマーではありませんが、プロジェクト中に障害に遭遇し、挿入コマンドの後に起動するトリガーを作成する必要があります。問題は次のとおりです。

私は3つのテーブルを持っています:

今、.xml ファイルからデータを読み取り、C# で記述されたプロジェクトを介してデータベースにデータを追加します。各ビルドの後、データベースを更新し、「合格」値と「実行」値に基づいて各テストの fail_percentage をカウントする必要があります。

そのため、トリガーが必要です。1.挿入コマンドの後に起動します2.以前の値に基づいてfail_percentageをカウントします。

誰か手を貸してくれませんか?

前もってありがとう、アルトゥール

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

sql - JDBC を使用した DDL および DML ステートメントの反復実行が遅い

データベース抽象化ライブラリの 11 の異なる RBDMS に対して実行される統合テストでは、スキーマやデータを頻繁にリセットする必要があります。つまり、ほとんどのテスト ケースに対して多くのステートメントを実行します。

スキーマのリセットは、テスト スイートの開始時にのみ必要です。例えば:

データのリセットは、データを書き込むテストにのみ必要です。例えば:

読み取り専用テストは、リセットが不要なため、非常に高速です。直感的に、SQL ファイルをメモリに読み込み、これを使用してすべてのステートメントを実行します。

一部のシステムでは、これは非常に遅いです。JDBCでこれを行うより良い方法はありますか? それとも、これが遅くなる可能性があるという事実を受け入れる必要がありますか...?

0 投票する
5 に答える
6891 参照

sql - Oracleエラー:クエリでDMLを実行できません

次のエラーが発生するのはなぜですか?

働き:

0 投票する
3 に答える
2628 参照

xml - TSQL 2005、XML DML - 2 つの値を一度に更新しますか?

これら 2 つの置換値を 1 つの update ステートメントと組み合わせる方法はありますか?

http://msdn.microsoft.com/en-US/library/ms190675(v=SQL.90).aspx

0 投票する
5 に答える
19907 参照

sql - SQLコマンドINSERTを使用して改行を入力する方法

Q:

テーブルに改行を挿入する SQL クエリの構文を知りたいです。

つまり、テーブルに次のように入力しますabc

INSERT コマンドを使用して新しい行を維持します。

前もって感謝します