問題タブ [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.
search - リレーショナル データベースのように Lucene を使用する
lucene でいくつかの RDBMS 機能を実現できるかどうかは疑問です。
例: 1) 10,000 個のプロジェクト ドキュメント (pdf ファイル) があり、それらのコンテンツを検索できるようにインデックスを作成する必要があります。2) すべてのドキュメントは SINGLE PROJECT に関連付けられています。プロジェクトには、プロジェクト名、番号、開始日、終了日、場所、タイプなどの詳細を含めることができます。
特定のキーワードでpdfファイルの内容を検索する必要がありますが、結果を表示しながら、ポイント(2)で述べたようにプロジェクトのメタデータを表示したいと考えています。
私の考えは、索引付け中に projectId というフィールドを各 pdf ファイルに関連付けることです。それを取得したら、プロジェクトのメタデータを取得するために検索を再度実行します。
このようにして、データの重複を避けることができました。また、プロジェクトのメタデータを更新したい場合は、単一の場所でのみ更新することになります。それ以外の場合、このメタデータをすべての pdf ドキュメント インデックスと共に保存すると、すべてのドキュメントが更新されてしまいます。これは、私が探している方法ではありません。
お知らせ下さい。
primary-key - RDBMS で多対多のコレクション エンティティをどのように解決しますか?
私はアーティストと曲をモデル化しようとしていますが、多くのアーティスト (デュエットなど) が Song_Performance を実行できるという問題があるため、曲の実行者を表す Artist_Group があります。
これで、Artist と Artist_Group の間に多対多の関係ができました。ここで、Artist_Group は、そのグループ内のアーティストのコレクションによって一意に識別されます。Artist_Group へのアーティストの参加を表す交差エンティティを作成できます (Artist_Group_Participation?)
同じアーティストのセットが同じグループを表すという事実を保持する Artist_Group エンティティの主キーを作成する方法がわかりません。Artist_Group エンティティの主キーがないということは、 Artist_Group_Participation エンティティの外部キー。
John Carlis と Joseph Maguire による本「Mastering Data Modeling」では、この形状について言及し、「Many-Many Collection Entity」と呼んでおり、非常にまれであると述べていますが、解決方法については述べていません。 -to-many の関係は、RDBMS に直接格納することはできません。これを表現するにはどうすればよいですか?
編集:
誰もが交差テーブルを提案しているように見えますが、それは私の問題ではありません。私は持っています。私の問題は、Artist_Group エントリに含まれるアーティストのグループが既存のグループと同じである場合、順序を無視して、Artist_Group エントリを追加できないという制約を適用することです。Artist_Group の ID を、それを構成するさまざまなアーティストの連結である varchar にすることを考えました。これにより、順序が重要な場合は問題が解決しますが、「エルトン ジョンとビリー ジョエル」の Artist_Group を使用しても追加は妨げられません。 「ビリー・ジョエルとエルトン・ジョン」のグループ。
testing - 複数の DBMS ベンダーにわたるテスト
次のクエリを実行します。
この場合、SqlServer は修飾子を無視しているようです。を追加するJOIN
と、それが考慮されます。
クエリを DBMS ベンダー間で実行可能にするまでは、これは実際には問題ではありません。たとえば、オラクルは、当然のことながら、修飾子が無効であると文句を言います。
はい、私たちは ORM を使用してこの多くを排除しますが、一部のアクションにはまだ JDBC が必要です (これは製品の性質であり、動的クエリのサポートです)。実際、この問題が発生したのはこのためです。誰かが JPA という名前のクエリを JDBC 提供のクエリにコピーしましたが、テーブル名ではなくオブジェクト名を残しました。
だから私は質問だと思います:他の誰かがこれに出くわしましたか?もしそうなら、コードをテストして「主要な 3 つの」DBMS (SqlServer、Oracle、DB2) で動作することを確認する最善の方法は何ですか? 私たちには QA チームがありますが、これらの特異性を単体テストするためのより良い方法があるはずです。
問題を回避するために常に ANSI SQL の記述を強制しようとしますが、前述の問題のようないくつかの事柄はすり抜けてしまう可能性があることに注意してください。
これが理にかなっていることを願っています。必要に応じて、より多くのコンテキストを提供できます。
ティア
sql-server - 読み取り専用アクセスでデッドロックを作成することは可能ですか?
ADO を介して MSSQL2000 サーバー上の単一のテーブルにアクセスする VB6 アプリケーションがあります。読み取り専用アクセス (adOpenStatic、adLockReadOnly) を使用しています ネットワークには、テーブルに変更を加える他のアプリケーションがあります。
なんらかの理由で、自分のアプリケーションがデッドロックの対象として選択されているというエラーが発生します。
私は本当に混乱しています: 1 つのテーブルから読み込んでいるときにデッドロックが発生するのはなぜですか? 他のアプリケーションの書き込みのためにタイムアウトが発生すると予想されますが、デッドロックではありません...
誰かがこれに光を当てることができますか?
UPDATE: 2009-06-15私はまだこの問題の解決策に興味があります。だから私はいくつかのより多くの情報を提供しています:
- adOpenForwardOnly または adOpenStatic を選択しても違いはありません
- カーソル位置がクライアントかサーバーかは関係ありません。
delphi - フリーフォーム レポート ツール
フリーフォームのレポートツールを探しています。
フリー/オープンソースが望ましいです。
データ ソースがなくても機能し、ページの任意の場所に印刷できる必要があります。
これが必要なのは、古いが非常に高速なセミ RDBMS を使用しているためです。これは、これまでに見たすべてのレポート エンジンで必要とされるデータ セット、データ ソースなどの概念をサポートしていません。
さまざまな言語用のいくつかの宣言モジュールを備えた 2 つの DLL として提供されます。
実際、私は過去 6 年間 ComponentOne の VS View を使用しており、これに非常に満足しています。Delphi でも印刷が必要な場合は、通常、このコンポーネントを使用します。
しかし、この特定のプロジェクトでは、上司が ActiveX の使用を許可しないため、VCL で優れた安定したフリーウェア ソリューションを探しています。
java - SQL Server での JDBC 挿入時にキーを自動生成
JDBC 挿入でキーを自動生成できる一般的なクロス RDMS の方法はありますか? たとえば、主キー、id、および int 値を持つテーブルがある場合:
そして挿入を行います
java.sql.SQLException: Cannot insert the value NULL into column 'id' が発生します。
これは完全に RDMS に依存しているように感じます。私たちはSQL Server 2005を使用しており、設定しました
運のないテーブルで。
database - PostgreSQLタイムスタンプフィールドのデータ破損
次のスキーマを持つPostgreSQLテーブルがあります-
次に、次のようなデータを含むデータをテーブルに挿入しました-
そして、DBでデータをチェックすると、次のようになります-
1946年より前の日付のデータを挿入しようとするまでは、すべてが順調でダンディです-
上記の結果を見てください。タイムゾーンの値が+05:30から+06:30にどのように変化したかに注目してください
1942年より前の日付を挿入すると、実際にはさらに悪化します-
これで、タイムゾーン値が完全にマングルされ、日付を解析できなくなりました。
これについて何か助けていただければ幸いです。
私のタイムゾーンはアジア/コルカタ(GMT + 05:30)です。
更新:次のように明示的にTZを指定してデータを入力してみました-
それでもうまくいきませんでした。
sql - RDBS クエリに複雑なインデックスを使用する場合と単純なインデックスを使用する場合は?
フィールド (id、名前、住所、電話番号、コメント) を持つ TEST という名前のテーブルが DB スキーマにあるとします。さて、そのテーブルに対してさまざまなクエリの大規模なセットを実行することがわかっているので、次の質問は、ID_NAME_INDX (ID と名前のインデックス) のようなインデックスを作成する時期と理由、および作成する方が効率的な時期です。 IDフィールドのインデックスと名前フィールドのインデックスを個別に(どのタイプのクエリを意味するかによって)?
rdbms - メイン メモリ DB とオブジェクト DB
現在、データベース ベンダーを選択しようとしています。
仲間のデータベース開発者からの個人的な意見を求めているだけです。
私の質問は、特に次のような人々を対象としています。
1) 以前にディスク (ハイブリッド) へのレプリケーションをサポートするメイン メモリ DB (MMDB) を使用したことがある (つまり、 ExtremeDB )
また
2) Versant Object Databaseおよび/またはObjectivity Databaseおよび/またはProgress ObjectStoreを使用したことがある
質問は本当に: あなたの経験に基づいて、私のアプリケーションに適したデータベース ベンダーをお勧めできるかどうかです。
私のアプリケーションは商用のリアルタイム (ハイパフォーマンス) オブジェクト指向 C++ GIS アプリであり、多くの緯度/経度検索を行う必要があります (つまり、特定のエリアで、そのエリア内の一致するすべてのターゲットを検索します)。 ..R ツリー インデックス)。
データベースに保存したいデータの型はすべてオブジェクトとしてモデル化されており、それらは std::list と std::vector を使用しているため、当然オブジェクト データベースは理にかなっているように思えます。従来の RDBMS はおそらく私が実際に探しているものではないことを確信するのに十分な記事を読みました。
- パフォーマンス (リスト/ベクターなどの動的長データの結合または複数のテーブル)
- プログラミングの容易さ (インピーダンスのミスマッチ)
ただ、性能面では、
入力データは、約 40 MB/秒でシステムに供給されています。
したがって、システムは 1 秒あたり約 350 回の挿入の速度でデータベースへの挿入も行います (各オブジェクトは 64KB から 128KB まで変化します)。
- データベースは、複数のスレッドを介して一貫して検索および更新されます。
私の理解では、ここにリストしたすべてのオブジェクト DB はデータベース オブジェクトを格納するためにキャッシュを使用します。ExtremeDB は、特にメモリ用に設計されているため、キャッシュ ロジックなどのオーバーヘッドを回避できると主張しています。
だから..私は少し混乱しています。オブジェクト DB はリアルタイム システムで使用できますか? MMDB と同じくらい「高速」ですか?
database - リレーショナル データベースとオブジェクト指向データベースのどちらが優れているか、抑制されますか?
近い将来、RDBMS や OODBMS は廃止されるのでしょうか?
今日、私は両者の相違点に関するかなりの数の記事を読みましたが、ほとんどの記事は OODBMS を支持しているようです。RDBMS は、まだ十分に開発されていない OODBMS によって抑圧されるということですか? そうでない場合、なぜそう思うのですか?