問題タブ [rdbms]
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.
sql - SQL Serverテーブルへの変更を確認しますか?
トリガーを使用したり、データベースの構造を変更したりせずに、SQL Serverデータベースのテーブルへの変更を監視するにはどうすればよいですか?私が好むプログラミング環境は.NETとC#です。
SQL Server2000SP4以降をサポートできるようにしたいと思います。私のアプリケーションは、他社製品のボルトオンデータ視覚化です。私たちの顧客ベースは数千人にのぼるので、インストールのたびにサードパーティベンダーのテーブルを変更するという要件を課す必要はありません。
「テーブルへの変更」とは、テーブル構造の変更ではなく、テーブルデータの変更を意味します。
最終的には、変更を定期的にチェックするのではなく、アプリケーションでイベントをトリガーするように変更したいと思います。
私の要件(トリガーやスキーマの変更なし、SQL Server 2000および2005)を考えると、最善の行動はT-SQLBINARY_CHECKSUM
の関数を使用することのようです。私が実装する予定の方法は次のとおりです。
X秒ごとに、次のクエリを実行します。
そして、それを保存された値と比較します。値が変更された場合は、クエリを使用してテーブルを1行ずつ調べます。
そして、返されたチェックサムを保存されている値と比較します。
architecture - 設計に関する議論: バージョン管理されたオブジェクトを保存および操作するための良い方法は何ですか?
最初は意図的に曖昧なままにしておきます。私は議論を求めており、難しい答えを探しているよりも重要な問題は何かを探しています。
ポートフォリオ管理のようなアプリを設計中です。今まで持っていたデザインは
- 問題: 解決する必要がある問題
- 解決策: 1 つまたは複数の問題に対する提案された解決策
- 関係: 2 つの問題、2 つの解決策、または問題と解決策の間の関係。さらに次のように分類されます。
- 親子 - ある種の分類 / ツリー階層
- 重複 - 2 つの解決策または 2 つの問題が実際に同じ概念に対処している度合い
- アドレス - 問題が解決策に対処する程度
私の質問は、これらの物事の時間的性質についてです。問題が発生し、消えていきます。ソリューションには予想される解決日がありますが、それは開発中に変更される可能性があります。関係の程度は、問題や解決策が進化するにつれて、時間の経過とともに変化する可能性があります。
では、問題は、ポートフォリオの現在と過去の両方の視点を得ることができるように、これらのもののバージョン管理に最適な設計は何ですか?
後で:@Eric Beardの答えはアップする価値がありますが、おそらくこれをより具体的な質問にする必要があります。
私は 3 つのデータベース設計を検討しました。それぞれの欠点を示すのに十分です。私の質問は次のとおりです。どれを選ぶか、またはもっと良いものを考えられますか?
1: 問題 (および個別に解決策) は、バージョン管理において自己参照的です。
新しいバージョンが必要になるたびに、その長いdescription
列を含む行全体を複製する必要があるため、これは問題です。
2: 新しい関係タイプを作成します: バージョン。
これにより、リレーションシップが問題テーブルとソリューション テーブルからリレーションシップ テーブルに移動するだけです。同じ重複の問題ですが、私はすでに抽象的な関係の概念を持っているので、おそらく少し「きれい」です。
3: より Subversion に似た構造を使用します。問題と解決策のすべての属性を別のテーブルに移動し、それらをバージョン管理します。
これは、問題または解決策の現在のバージョンをロードするには、属性のすべてのバージョンを取得し、それらを日付順に並べ替えてから、最新のものを使用する必要があることを意味します。それはひどいことではないかもしれません。私にとって本当に悪いと思われるのは、データベースでこれらの属性をタイプチェックできないことです。そのvalue
列はフリーテキストでなければなりません。name
列を、列を持つ別のattribute_names
テーブルへの参照にすることはできますが、それはテーブルの正しい型を強制type
しません。attributes
後でまだ:複数テーブルの外部キーに関する@Eric Beardのコメントへの応答:
悲しいかな、私が説明したことは単純です。物事には 2 つのタイプ (問題と解決策) しかありません。私は実際に約 9 つか 10 の異なる種類のモノを持っているので、あなたの戦略の下に 9 列から 10 列の外部キーがあるでしょう。単一テーブルの継承を使用したかったのですが、Things には共通点がほとんどないため、それらを 1 つのテーブルに結合するのは非常に無駄です。
mysql - MS-SQL はメモリ内テーブルをサポートしていますか?
最近、MS SQL Server
代替バックエンドとしてサポートするために、いくつかのアプリケーションを変更し始めました。
私が遭遇した互換性の問題の 1 つは、MySQL の CREATE TEMPORARY TABLE を使用して、永続的なストレージを必要とせずにセッション中に非常に高速にアクセスするためのデータを保持するインメモリ テーブルを作成することです。
MS SQL で同等のものは何ですか?
要件は、一時テーブルを他のテーブルと同じように、特にJOIN
永続テーブルと同じように使用できる必要があることです。
migration - ある Informix IDS 11 サーバーから別のサーバーにデータベースをコピーする最も簡単な方法は何ですか?
ソース データベースは非常に大きいです。ターゲット データベースは自動的に拡張されません。それらは異なるマシン上にあります。
私は MS SQL Server、MySQL のバックグラウンドから来ており、IDS11 は非常に複雑に思えます (正当な理由があると確信しています)。
sql-server - SQL Serverでカスケードを使用するのはいつ/なぜですか?
SQL Serverで外部キーを設定する場合、どのような状況で削除または更新時に外部キーをカスケードする必要がありますか。また、その背後にある理由は何ですか。
これはおそらく他のデータベースにも当てはまります。
私は何よりも、各シナリオの具体的な例を探しています。できれば、それらをうまく使用した人からの例を探しています。
database - オブジェクト データベースの長所と短所は何ですか?
オブジェクト リレーショナル マッパーや、インピーダンスの不一致を回避する最善の方法に関する情報はたくさんありますが、オブジェクト データベースを使用する場合、これらはすべて問題になるようです。私の質問は、なぜこれがより頻繁に使用されないのですか? それはパフォーマンス上の理由によるものですか、それともオブジェクト データベースによってデータがアプリケーションの所有物になるためですか、それとも何か別の理由によるものですか?
database - リレーショナル データベースのユーザー テーブルとピープル テーブルの分離
私は多くの Web アプリを作成しました。最初に行うことは、ユーザー名、パスワード、名前、電子メール、およびその他の通常のすべての flotsam を含むユーザー テーブルを作成することです。私の現在のプロジェクトは、非ユーザー レコードがユーザーと同様に機能する必要がある状況を示していますが、一次ユーザーになる能力は必要ありません。
people_tb
メインのリレーショナル テーブルおよびデータ ストアである 2 番目のテーブル を作成し、users_tb
を認証のみに使用することは合理的ですか? user_tb
からの分離はpeople_tb
何か問題がありますか? これが一般的に行われている場合、いくつかの戦略と解決策、および欠点は何ですか?
mysql - Oracle RDBMS は、MySQL RDBMS よりも安定性、安全性、堅牢性などに優れていますか?
私はプログラマーとして、Oracle や MySQL など、さまざまなシステムに取り組んできました。オラクルの方が安定しており、堅牢で、安全であるという声をよく耳にします。これは事実ですか?
もしそうなら、どのような方法で、なぜですか?
この質問の目的のために、おそらく 500,000 レコード程度の中小規模の本番 DB を考えてみましょう。
database - の最大の欠点は何ですか?
私たちは皆、お気に入りのデータベースを持っています。選択したデータベースを客観的に見ると、どのような欠点があり、何を改善できるでしょうか?
ルール:
- 欠点ごとに 1 つの返信。
- 制限の簡単な説明とそれに続く;
より詳細な説明、より良い方法の説明、または同じ制限がない別のテクノロジの例。
あまり使用していないデータベースを否定しないでください。他のテクノロジーに挑戦するのは簡単ですが、偏見ではなく経験から学びたいと考えています。
orm - ORM:手書きのスキーマまたは自動生成?
高水準言語(Python、Rubyなど)で開発されたプロジェクションに手書きのスキーマを使用する必要がありますか、それともORMソリューションに自動生成させる必要がありますか?最終的には、すべてのデータを破棄せずに移行する必要があります。特定のRDBMSに関連付けてもかまいませんが、制約やプロシージャなどの機能を何らかの形でサポートできれば便利です。