問題タブ [data-integrity]
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.
c++ - コレクションを公開するための効率的な代替手段
C++ では、パフォーマンスとデータの整合性の観点から、コレクションを公開するためにどのような代替手段がありますか?
私の問題は、データの内部リストを呼び出し元に返したいのですが、コピーを生成したくないということです。Thant は、リストへの参照を返すか、リストへのポインターを返すかのいずれかを残します。ただし、呼び出し元にデータを変更させることに夢中になっているわけではなく、データを読み取らせたいだけです。
- パフォーマンスとデータの整合性のどちらかを選択する必要がありますか?
- もしそうなら、一般的には一方通行の方が良いですか、それともケースに特有のものですか?
- 他の選択肢はありますか?
database - 外部キーの何が問題になっていますか?
Joel Spolskyがポッドキャスト 014で、外部キーをほとんど使用したことがないと述べたのを聞いたのを覚えています (私の記憶が正しければ)。ただし、データベース全体での重複とその後のデータ整合性の問題を回避するために、それらは非常に重要に思えます。
人々はその理由について確固たる理由を持っていますか (Stack Overflow の原則に沿った議論を避けるため)?
html - HTML選択リストの検証
私はWebアプリプロジェクト(Javaで、それは重要ではありません)に取り組んでおり、ドロップダウンリストと入力フィールドを備えたフォームがあります。
値のセットから特定の値を期待するため、明らかにドロップダウンリストが提供されています。
だから私の質問はこれです:提出された値が期待値のセットにあることを確認することは意味がありますか?それとも、正しい値が出てきていると仮定することは許容されますか?
送信されたさまざまな値から発生する「エラー」はありませんが、データストアはビジネスルール/要件と一致していません。
sql - 外部キー関係をどのように追加しますか?
テーブル間の FK リレーションシップが実装されていない既存の SQL 2005 データベースを使用しています。データベース ダイアグラムを使用してリレーションシップを追加しようとしたところ、新しい FK に関連付けられているデータを編集または挿入しようとして、アプリケーションがすぐに爆発しました。
person_campaigns テーブルは、個人、キャンペーン、および処分が結び付けられている場所です。これらのエンティティ間に適切な FK 関係を追加するための適切な SQL 構文を教えてください。
編集
data-integrity - ソフトウェアをダウンロードするためのツール+整合性を自動的に検証する
(組み合わせた質問からここに移動しました)
次のようなソフトウェアツールプロジェクトがあるかどうか疑問に思っています。
- 小さなメタデータセットを公開するための標準的な機械可読形式を作成する=(ダウンロードリンク+ MD5ハッシュ+オプションの公開鍵および/または証明書)
- さらに、そのデータを自動的に読み取り、次の手順を支援するブラウザプラグイン(できればFirefox)
- ソフトウェアのダウンロード、
- ダウンロードしたソフトウェアの整合性を確認します
- ソフトウェアがダウンロードされたページとともに、この情報を含むエントリをログに追加します。
MD5を手動で生成してMD5ハッシュを比較することは知っていますが、これは非常に反復的な一連の手順であり、エラーが発生しやすく、コンピューターはこのような自動化に優れています。
更新: @cynoclastの答えに興味を持ち、DownThemAllのこのバグトラックアイテムとこのマイクロフォーマットおよびこのFirefoxのアイデアに出くわしました。これにより、少なくとも他の人もこれらの方針に沿って考えていると信じることができます。
mysql - JMeterを使用したWebアプリケーションでの同時実行性および/またはトランザクションの整合性のテスト
私はデータベース内の複数のスレッドを操作するのはかなり新しいです(私のキャリアのほとんどはフロントエンドに費やされてきました)。
今日は、テーブルロックを使用してトランザクションをエミュレートするISAMテーブルを使用してmysqlデータベースに値を格納するために作成した単純なphpアプリをテストしてみました。
手順についてのブログ投稿をここに書きました:
私の結果から、私の単純なphpアプリは、トランザクションの整合性を維持しているように見えます(csvファイルのデータがデータベースから再抽出したデータと同じであることがわかります)。
CSVファイル:
JMeterテスト実行後の両方のユーザーのデータのクエリ:
トランザクションデータの整合性は損なわれていないという私の仮定は正しいですか?
同時実行性をどのようにテストしますか?
database-design - 伝統的かつ完全な ini ファイルのようなデータのためのデータベース設計
通常の (従来の) データベース データを持ち、同時に "ini ファイル" データに似たデータを持ち、それらの間の整合性を維持したい (階層データ? )。
たとえば、100 行の「CURRENCY」テーブルがあるとします。同時に、「デフォルト通貨」のシステム設定があり、これを 100 行のいずれかにマップする必要があります。
現時点では、デフォルトの通貨コードを XML 構成ファイル、ini ファイル、または Windows レジストリに保存します。これはデータには問題ありませんが、XML ファイル内の値が実際にデータベース内の有効な外部キー値に対応していることを確認するのは少し手間がかかります。
これをデータベースで (宣言的に) 行うにはどうすればよいでしょうか? 階層データが参照できるため、リレーショナル データとの整合性が保たれます。
sql-server - テーブル スキーマを変更する際のエラー処理とデータの整合性
大規模なデータ セットを持つ顧客が数人いて、アップグレード手順中にさまざまなテーブルのスキーマを変更する必要があります (いくつかの列を追加し、他の名前を変更し、時々データ型を変更しますが、それはまれです)。
以前は、新しいスキーマで一時テーブルを使用してから、元のスキーマを削除して一時テーブルの名前を変更していましたが、ALTER table ...
代わりに使用することで劇的にスピードアップしたいと考えています。
私の質問は、どのようなデータの整合性とエラー処理の問題を考慮する必要があるかということです。テーブルへのすべての変更をトランザクションに含める必要がありますか (そうであれば、どのように?)、それとも DBMS は ALTER 操作に対して原子性と整合性を保証しますか?
アップグレードを開始する前にデータをバックアップすることを強くお勧めします。
SQLServer 2005 と Oracle をターゲットにする必要がありますが、異なるアプローチが必要な場合は、明らかに条件付きコードを追加できます。
security - 独自のチェックサムを含むファイル
独自のチェックサム (MD5、SHA1 など) を含むファイルを作成することはできますか? そして、ジョーカーを混乱させるために、私はそれを計算する関数ではなく、単純なチェックサムを意味します。
sql-server - レコードを削除する前にルール違反を確認する
SQL Server 2005 データベース内の多数のエンティティに対して "ソフト削除" スキームを実装したいと考えています。これにより、参照整合性ルール違反がない場合はテーブルから行を削除したいということです。それ以外の場合は、レコードにフラグを設定して、削除されたことを示します。この「ソフト削除」パターンを強制したいテーブルには、「挿入/更新仕様」として「アクションなし」を適用する必要があります。
実行したい削除が外部キー制約に違反するかどうかを確認するにはどうすればよいですか?
例外をキャプチャしたくありません。ルールに違反するかどうかを明示的に確認したいと考えています。また、SELECT ステートメントを介して手動でチェックする必要もありません (メンテナンスの悪夢)。T-SQL でのソリューションを希望します。しかし、私は Entity Framework を使用しているので、このタスク用の API があればそれを利用することができます。
hereに記載されている同様の質問がありますが、提示された回答は私の要件に合わないことに注意してください。