問題タブ [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# - 保存可能なオブジェクトのプロパティの長さを検証するのに最も便利な場所はどこですか?
永続オブジェクトのプロパティの長さを検証するのに最も便利な場所はどこだろうか。
たとえば、CountryCode nvarvhar(3)を使用してDbにCountryというテーブルがあるとします。
そして、Dbに保存できるプロパティCountryCodeを持つマップされたオブジェクトCountryがあります。
ユーザーが設定した国コードが3文字を超えていないかどうかはどこで確認すればよいですか。
- プロパティCountryCodeのセッター
- またはDbに保存するとき
アドバイスをいただけますか?
ありがとう
validation - システムがヒューマンエラーに対応できるようにするための慣行は?
システムは、現実世界の不良データの可能性に対応しなければならない場合があります。一部のデータは紙のフォームから作成されていると考えてください。また、フォームは本質的に、データを検証する手段が限られています。
例 1: あるフォームでは、ユーザーは空欄に整数の距離 (マイル単位) を入力する必要があります。常に整数値を取得するとは限らないため、文字列として記述された情報を取得します。
例 2: 別のフォームでコードをキャプチャします。そのコードは、システム内のコードの 1 つにマップする必要があります。ただし、フォームに記述されたコードが正しくない場合があります。コードをキャプチャし、将来の解決時まで無効な値で存在できるようにします。つまり、一部が無効であってもレコードを記録することが重要であるため、一時的に不良データを許可します。
システムが不良データ、つまり人的エラーにどのように対応するかについて、もっと知りたいと思っています。データベースはデータの完全性を確保するための砦であると考えられていますが、現実の世界は乱雑であり、人々は間違いを犯します。システムは、これらの間違いを反映できるようにする必要があります。
あなたが開発したシステムがヒューマン エラーに対処する方法にはどのようなものがありますか? どのような慣行を使用しましたか? どのような教訓を学びましたか?
このトピックについてさらに読むことはありますか?(ググるのに苦労しました。)
asp.net - 大きなデータをxmlファイルからデータベースに移行します
Q:
2週間前に次の問題に直面しましたが、パフォーマンスの問題、データの整合性を考慮して、どのように対処すればよいかわかりません。
私がしていることは:
XMLファイルからデータベース内の同様のテーブルにデータを移行したいと思います。
例えば :
私は2つのノード(XMLファイル)を持っています:
courses
、teachers
2つのテーブル(データベース)
courses
、teachers
。
ユーザーがXMLファイルをサーバー上のフォルダーにアップロードできるようにし、XMLファイルの読み取りを開始して、データベースにデータを挿入します。
問題は:
挿入操作中に何らかの障害が発生した場合、すべてのテーブルに挿入されたすべてのレコードを削除(またはロールバック)したいと思います。
私は考え始めますtransaction
、各エンティティの挿入はトランザクションを通じて実行されますが、私は2つの問題に直面します:
アップローダーごとに、すべてのエンティティのすべての挿入を1つのトランザクションに入れるか、1つのエンティティを1つずつトランザクションに入れる必要がありますか?(すべてのエンティティデータをすべて挿入するか、挿入しない必要があります)。
膨大な数のレコードがある場合(1500レコード)、次の例外が表示されます。
このIfxTransactionは完了しました。それはもはや使用できません、誰もそれを修正しません。
私のチームリーダーは、トランザクションを使用しないように言いました。これは、テーブルがロックされ、多くのユーザーがそれらのテーブルを使用するためです。彼は他のメカニズムを望んでいます。
私の問題の解決策(詳細な説明)、このケースを処理し、パフォーマンスの問題とデータの整合性と一貫性を維持する方法を教えてください。
eclipse - ダウンロードしたファイルでチェックサム値を確認する方法
チェックサム値は、EclipseIDEをダウンロードするための次のリンクに記載されています。
チェックサムでダウンロードを確認できると思います。与えられたチェックサムでダウンロードを確認する方法を誰かに説明してください。
mysql - データテーブル内の従属サブジェクトに関する問題
私は小さなトレーニング組織のデータベースを作成していて、次の表で問題を解決しようとしています
研修生
Trainees ID、Trainees First、Trainees Last、Order Name(オプション)、Trainees Email、Trainees HomeTel、Trainees Mob、Trainees StrAddress、Trainees City、Trainees PostCode、HP、Mod Training、Mailing list
フィールドHPはHealthProfessionalsの略であり、表内のグループを区別する必要があります。また、モジュラートレーニングまたは通常のトレーニングを行うオプションもあります。この場合、サブセットテーブルを作成する必要がありますか、それとも別の解決策がありますか?
もう1つの問題は、メーリングリストに関連しています。彼らが加入者リストに載りたいかどうかにフラグを立てる必要があります。顧客などの他のテーブルでフィールドを繰り返しても大丈夫ですか。これがデータの整合性に役立つかどうかはわかりません。
どんな助けでも大歓迎です、ザン
php - codeigniter でデータベースとセッションを同期する方法は?
ユーザーがログに記録されているときに問題が発生し、ユーザーにID、たとえば126を割り当てます。しかし、たとえば、禁止されたユーザーを維持または削除すると、ユーザーID 126はデータベースから削除されますが、ユーザー 126 のセッションにはまだ番号 126 があります。データベースのユーザー ID が削除されていることを検出した場合、セッションの内容を「削除」するにはどうすればよいですか? ありがとうございました。
android - ファイルの変更を検出する方法は?
いくつかのデータを含むファイルが保存されています。変更されているかどうかを検出し、必要に応じて問題に対処したいと思います。
ファイルの行数を制御することを考えましたが、行き詰まりました。
さらに、これを実行する方法はありません:http: //developer.android.com/reference/java/io/File.html。
何かアイデアはありますか?
c# - 大規模なデータベーステーブルのデータ整合性
大規模なデータベーステーブルにデータの整合性を提供する必要があります。したがって、巧妙な管理者が(UIを介さずに)手動でテーブルを変更した場合、それを検出できるようにしたいと思います。
私の考えは、各レコードにHMACを設定し、ユーザーがUIを介してテーブルを変更したときにテーブルの増分HMACを計算することです。
- 最初のレコードのHMACを計算します-HMAC_Current。
- 新しいレコードのHMACを計算します-HMAC_i
- テーブルの新しいHMACをHMAC_Current=HMAC(HMAC_Current + HMAC_i)として計算します。
長所:
- ユーザーがUIを介してレコードを追加するたびに、テーブル全体のHMACを計算する必要はありません。
短所:
- ユーザーがレコードを削除または変更した場合、テーブルのHMACをこのレコードからテーブルの最後まで再計算する必要があります。
- データの整合性を確認したい場合は、各レコードのHMACを確認する必要があります。次に、テーブル全体のHMACを上から下に計算し、HMAC_Currentと比較します。
それを行うためのより良い方法はありますか?
java - データベースが複数の Java クライアントによってアクセスされる場合のデータの整合性の確保
Balanceフィールドを保持するAccountテーブルを持つ 1 つの MySql データベース インスタンスがあります。それぞれ Jdbc を使用してデータベースに接続する複数の Java アプリケーションがあり、 Balanceフィールドの値が増減する可能性があります。Balance値が読み取られ、計算され、更新され、このプロセスが分離して行われ、同じことを実行している他の Java プロセスを認識していることを確認するにはどうすればよいですか?
database-design - 共通の外部キーを持つ2つのソーステーブルに関連する連想テーブルに制約を与える方法は?
シナリオ例。
フライトスケジュールシステムには、パイロットが飛行できる飛行機を示すpilot
テーブルを参照するテーブルがあります(これは多対1の関係であると想定しています)。plane_type
テーブルもあり、プレーンのタイプ(多対1の関係)を示すためplane
にテーブルを参照します。plane_type
これで、特定のフライトのにflight_plan
を割り当てる連想テーブルができました。pilot
plane
の資格がこのフライトののタイプとpilot
一致することを確認するにはどうすればよいですか?plane
これをデータベース設計の制約として実装する可能性はありますか?ありがとうございました。
編集:
下の図を参照して、次のpilot.plane_type
値に等しいことを確認する方法はplane.plane_type
?