問題タブ [database]

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

.net - ADO.NET DataSet と DataAdapter を使用して、自動インクリメント ID を持つデータベース テーブルにツリー構造を永続化する方法

ツリー構造を表す自己参照ロール テーブルがあります。

ADO.NET DataTable と DataAdapter を使用して、このテーブルに値を読み込んで保存しています。これは、既存の行の子のみを作成する場合に機能します。子行を作成し、その子の子を作成してから更新すると、DataTable によって生成された一時 ID 値が ParentID 列に入ります。次のデータ関係セットがあります。

そして、DataTable に新しい子行を作成するときは、SetParentRow メソッドを呼び出します

DataAdapter で Update を呼び出すときに、ID 生成を再帰的に伝達するために何か特別なことをしなければなりませんか?

0 投票する
9 に答える
4368 参照

sql - データベースの継承?

データベース (具体的には SQL Server 2005) で継承を使用する方法はありますか?

すべてのエンティティに追加したいCreatedOnCreatedByのようなフィールドがほとんどないとします。これらのフィールドをすべてのテーブルに追加する代わりに、別の方法を探しています。

0 投票する
7 に答える
31847 参照

mysql - MS Access を MySQL データベース バックエンドのフロントエンドとして使用する際の問題はありますか?

2 人のユーザーが、最初は MS Access で作成された同じデータベースを、1 つの MDB ファイルをめぐって競合することなく共有したいと考えていました。

単純な MS Access データベースから MySQL にテーブルを移動するには、Migration Toolkit (ちなみにこれはうまく機能します) を使用し、ODBC 経由でそれらのテーブルにリンクするように Access をセットアップしました。

これまでのところ、次のことに遭遇しました。

  • 主キーがなければ、テーブルの行を挿入/更新/削除することはできません (驚くことではありません)。
  • MS Access の AutoNumber フィールドは主キーである必要があります。そうしないと、MySQL の整数列になってしまいます (ナッチ、なぜ PK ではないのでしょうか?)
  • テーブルは MySQL の InnoDB テーブル タイプに移行されましたが、アクセス関係は MySQL の外部キー制約にはなりませんでした。

データベースが使用されると、他の問題は発生する可能性がありますか? 特に、両方のユーザーが同じテーブルで作業している場合は?

0 投票する
15 に答える
25857 参照

database - 特に Web アプリで UUID をデータベースの行識別子として使用することについてどう思いますか?

シンプルさと(想定される)速度のために、データベースの主キーとして長整数を使用することを常に好んでいました。しかし、オブジェクト インスタンスにRESTまたは Rails のような URL スキームを使用すると、次のような URL になります。

次に、782、781、...、2、および 1 の ID を持つユーザーも存在すると仮定します。問題の Web アプリが、他のユーザーを許可なく表示するために他の番号を入力することを防ぐのに十分安全であると仮定すると、単純な連続して割り当てられた代理キーも、インスタンスの総数 (これよりも古い) を「漏えい」します。この場合はユーザーであり、これは特権情報である可能性があります。(たとえば、私はスタックオーバーフローのユーザー #726 です。)

UUID /GUID はより良い解決策でしょうか? 次に、次のような URL を設定できます。

正確には簡潔ではありませんが、表示されるユーザーに関する暗黙の情報は少なくなります。確かに、適切なセキュリティに代わるものではない「あいまいさによるセキュリティ」の匂いがしますが、少なくとももう少し安全に見えます.

その利点は、Web アドレス可能なオブジェクト インスタンスに UUID を実装するコストと複雑さに見合う価値があるでしょうか? 結合を高速化するためだけに、整数列をデータベース PK として使用したいと思います。

UUID のデータベース内表現の問題もあります。MySQL がそれらを 36 文字の文字列として保存することは知っています。Postgres はより効率的な内部表現 (128 ビット?) を持っているようですが、私自身は試していません。誰でもこれを経験したことがありますか?


更新: URL (例: http://example.com/user/yukondude )でユーザー名のみを使用することについて尋ねた人のために、一意の名前を持つオブジェクト インスタンスに対しては問題なく機能しますが、無数の Web についてはどうでしょうか。本当に番号でしか識別できないアプリオブジェクト? 注文、取引、請求書、画像名の重複、stackoverflow の質問、...

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

database - 整合性の低いテーブルの正規化

約18000行のテーブルを渡されました。各レコードには、1 人の顧客の場所が記述されています。問題は、その人がテーブルを作成したときに、「会社名」のフィールドを追加せず、「場所の名前」のみを追加したことであり、1 つの会社が多くの場所を持つことができます。

たとえば、同じ顧客を説明するいくつかのレコードを次に示します。

ロケーションテーブル

私の目標は、次のようにすることです。

ロケーションテーブル

会社表

「会社」テーブルはありません。複数の場所を表す最もわかりやすい、または最適な場所名から会社名リストを生成する必要があります。

現在、似ている場所名のリストを生成し、そのリストを手作業で調べる必要があると考えています。

これにどのようにアプローチできるかについての提案は大歓迎です。

@Neall、ご意見ありがとうございます。残念ながら、各場所の名前は異なります。重複する場所の名前はなく、似ているだけです。したがって、ステートメント「repcount」の結果では、各行で 1 になります。

@yukondude、あなたのステップ4は私の質問の核心です.

0 投票する
4 に答える
2760 参照

sql - mysql データベースを sqlite データベースに変換する最良の方法は何ですか?

現在、SQLite データベースに変換したい比較的小さな (4 または 5 テーブル、5000 行) MySQL データベースがあります。これを複数回行う必要がある可能性があるため、誰かが便利なツール、または少なくとも簡単に複製できる方法を推奨できれば幸いです。

(関連するデータベース/マシンへの完全な管理者アクセス権があります。)

0 投票する
4 に答える
5919 参照

sql-server - 互換性レベル80でSQLServer2005データベースを実行すると、パフォーマンスに悪影響がありますか?

ソフトウェアはSQLServer2000および2005で実行できる必要があります。開発を簡素化するために、互換性レベル80でSQL Server 2005データベースを実行しています。ただし、SQL 2005のデータベースパフォーマンスは、SQL2000よりも遅い場合があります(ベンチマークを使用してこれをまだ確認していません)。互換性レベルを90にアップグレードすると、SQL 2005サーバーのパフォーマンスが向上しますか?

0 投票する
7 に答える
3297 参照

sql - SQLServerでテーブルのグループを削除する

SQL Serverで相互に関連するテーブルのグループを削除する簡単な方法はありますか?理想的には、プロセスの終わりまでにグループ全体がなくなることを知っているので、それらがどの順序でドロップされるかについて心配する必要はありません。

0 投票する
7 に答える
1635 参照

database - Linq がない場合の Linq のようなクエリ

現在取り組んでいるプロジェクトがありますが、現在は .net Framework 2.0 のみをサポートしています。私はlinqが大好きですが、フレームワークのバージョンが原因で使用できません。私が求めているのは、ORM の側面ではなく、Linq の「クエリ可能性」です。

これまでのところ最も近いのはllblgenですが、クエリを実行できるさらに軽量なものがあれば、さらに優れたものになります。

また、 NHibernateも調べました。これは、私がやりたいことに近づく可能性があるように見えますが、学習曲線がかなり急であり、マッピング ファイルに過度に興奮することはありません。

Linq と同様のクエリ インターフェイスを提供してくれるもの (または、Linq を .net 2.0 フレームワークで動作させる方法) を誰かが知っている場合は、ぜひ聞いてみたいと思います。

0 投票する
23 に答える
624022 参照

database - データベース、テーブル、列の命名規則?

データベースを設計するときはいつでも、データベース内の項目に名前を付ける最良の方法があるかどうかを常に考えています。かなり頻繁に、私は次の質問を自問します。

  1. テーブル名は複数形にするべきですか?
  2. 列名は単数形にする必要がありますか?
  3. テーブルまたは列にプレフィックスを付ける必要がありますか?
  4. アイテムの命名には大文字と小文字を使用する必要がありますか?

データベース内の項目に名前を付けるための推奨ガイドラインはありますか?