タグ付けされた質問 「database-design」

概念スキーマおよび/または論理モデルおよび/またはデータベースの物理設定の開発。

6
この状況に最適なデータベース設計は何ですか?
私は自分の会社のビジネスアプリケーションの構築に取り組んでおり、特定の状況に最適なデータベース設計を選択するのに苦労しています。次のエンティティがあるとします。 承認 Id 状態 ... ApprovalComment Id ApprovalId コメント 注文 Id ... 請求書 Id ... 明らかに、複数のタイプの承認と、承認を必要とする複数のオブジェクトが存在する可能性があります。テーブルを設計するための次のオプションのうち、最も適切なものは何ですか。 オプション1 null外部キーを持つ1つの承認テーブルがあります。 承認 ID PK 状態 OrderId FK NULL InvoiceId FK NULL ApprovalComments ID PK ApprovalId FK コメント この場合、承認が必要なすべてのオブジェクトに列を追加する必要があります オプション2 共通のフィールドを持つ親の承認テーブルと、承認が必要な各オブジェクトの子テーブルを用意します。 承認 ID PK 状態 ApprovalComments ID PK ApprovalId FK コメント OrderApprovals ApprovalId PK …

1
Stack OverflowはSQL Server Web Editionで実行できますか?
多数のユーザーに対応する必要がある新しいWebベンチャーを始めています。 SQL Server WebエディションのSPLAライセンスには自信がありますが、Standard、Enterprise、またはDataCenterへのアップグレードを考慮に入れる必要があるかどうかを知りたいです(これは間違いなくこれになります)。 必要になる前にスケーリングについて考えるべきではないことはわかっていますが、これはサイトのアーキテクチャとビジネスプランに影響します。 プロセッサーの制限はスレッドではなく物理プロセッサーごとであることを知っているので、心配はいりません。ただし、ミラーリング機能とバックアップ機能の一部が心配になります。SOはこれらの機能に依存していますか? tl; dr: Stack OverflowのようなサイトはSQL Server Webで実行できますか?メンテナンスと高可用性のどの側面を達成することは不可能でしょうか?

2
多言語ユーザーインターフェイスの背後にあるデータベース
この質問は、これらの古い質問ですでに対処されている問題よりも少し複雑な問題に関するもので、すべてが互いに重複しています。 多言語のデータベース構造の提案(2011年6月) 多言語データを保持するのに最適なデータベース構造は何ですか?(2010年2月) 多言語データベース設計のベストプラクティスは何ですか?(2009年5月) 多言語データベースのスキーマ(2008年11月) 多言語ユーザーインターフェイスをサポートする最も一般的なデータベーススキームは、すべての言語のすべての翻訳テキストを、テキストID、言語コード、およびテキスト自体の3つの列を持つ1つのテーブルに格納することです。テキストIDと言語コードが一緒になって主キーを構成します。 これで問題ありませんが、ここで複雑さを考えてみましょう。テキストが検索可能である必要があるとします。たとえば、これが多言語のeショップであるとします。つまり、データベースに入力されたすべての製品カテゴリについて、ショップの所有者は、サポートされているN言語のそれぞれに製品カテゴリの名前を入力し、買い物客は名前で製品カテゴリを検索できます。母国語で。 問題があります:照合順序。 言語によって照合順序は異なり、ある言語で機能する照合順序は別の言語では機能しません。それで、すべての言語のすべてのテキストが1つの列にある場合、どのような照合順序になりますか?特定のテキストのテキストIDを見つけるために、データベースにどのようにクエリするのでしょうか。Web製品では、検索の正確さとパフォーマンスはそれほど重要ではないかもしれませんが、この説明では、それらが本当に重要であると仮定します。 ほとんどのデータベース管理者は、「データベースの照合」という意味で照合の概念に精通しています。幸い、これは単なるデフォルトの照合であり、他の照合情報が存在しない場合に使用されますが、照合を指定できる場所が他にもあります。 SQL CREATE INDEXコマンドは、照合指定をサポートしています。(Microsoft SQL Serverがサポートしていないという噂はありますが、それについて誰か知っていますか?) SQL SELECTステートメントも照合をサポートしますが、この場合、照合仕様は関数として機能し、インデックスルックアップの代わりにインデックススキャンを引き起こします。これは、パフォーマンスが必要な場合は許容できない可能性があります。(それでも、それが私たちが持つことができる最高の場合、何もないよりはましかもしれません。) また、Microsoft SQL Serverでは、照合を指定してフィルター処理されたインデックスを作成できる非永続的な計算列を使用できると聞いていますが、これは聞いたことがなく、Microsoft-SQL-Serverのみの場合は機能については、それがどれほどクールでよく考えられていても、使用を控えたいと思います。 では、これらすべてを踏まえて、更新可能で検索可能な多言語データベースが目標である場合、データベースをどのように構成し、クエリをどのように実行するのでしょうか。 この質問は、ここで行われた議論に触発されました。nvarchar(max)がデータベースにデータを格納する方法は、一部のデータが4000文字未満の場合、どのように高速になるでしょうか。

3
「論理的差異」の定義は?
私は現在、CJ Dateの「SQL and Relational Theory」を読んでいます。そして、私は本の中でかなり遠いですが、いくつかの基本的な質問があります。「論理的差異」という用語が何を意味するのか知りたいのですが、この本では例を使って用語を説明しようとしていますが、実際にはそれが何を意味するのかは説明していません(または多分それを誤解していますか?)。 これは本の一部です: 私は関係と関係の絵の間に論理的な違いがあると言いました。論理的差異の概念は、ウィトゲンシュタインの口述に由来します。 すべての論理的な違いは大きな違いです。 私は論理的な違いが直感的に何を意味するかを知っています、私は関係と関係の絵の違いが何であるかを知っています。私が求めているのは、「論理的差異」の概念を形式的に定義したものです。その意味がよくわかります。

1
PostgreSQLのスキーマの概念
PostgreSQLのスキーマの概念と使用法を理解できません。データベース設計にどのように影響するかわかりません。なぜ使用する必要があるのですか? 今は考えず、後で心配することになった場合、将来的に影響がありますか? 例による説明がいいでしょう。

6
一意のインデックスの最大16列を回避する方法
CREATE INDEXドキュメントによると: 最大16列を単一の複合インデックスキーに組み合わせることができます。 一意の組み合わせを形成する必要がある〜18列のテーブルがあります。このテーブルはパフォーマンスの影響を受けません -値を更新したりレコードを挿入したりすることはほとんどありません。レコードが重複しないようにする必要があるだけです。単純な一意性の制約を課すことができると考えました。 何か案は?より良い方法がある場合は、一意のインデックス/制約を完全に回避することにオープンです。

4
これはデータベースを設計する標準的な方法ですか?
最近、職場でデータベースでリレーションシップがどのように定義されるかを知り、これが標準的な方法であるかどうか疑問に思いました。 プロセスAとプロセスBの2つのプロセスがあるとします。プロセスBはプロセスAの結果に依存するため、プロセスBの実行とプロセスAの実行の間に定義する必要がある関係があります。これが関係の定義方法です。 TableProcessA: Id そして TableProcessB: Id ProcessAId さて、これまでのところ、私には物事は理にかなっていますが、それから、私とテーブルのデザインに対する私の理解が少し奇妙になっています。TableProcessAまたはTableProcessBで行が作成されるたびに、それぞれに対してグローバルに一意のIDを作成する関数が呼び出されます。そのため、基本的に、Idはテーブルだけでなくデータベース全体に対しても一意であるため、TableProcessAおよびTableProcessBのすべてのIdフィールドには一致が含まれません。 私の質問は、これはどのくらい標準的ですか?各テーブルには、データベース全体ではなく、テーブルに固有の自動インクリメントIDが必要であるという考えに思いつきました。

9
オンラインゲーム(数千人のプレイヤー)に十分な速度のDBMSはどれですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 私は現在、MMORPGゲームを作成しています。これは、同時に数千人のプレイヤーがオンラインでいる可能性があります(おそらくそうではありません。希望的な考えだけです)。最初にMySQLを使用したかったのですが、この規模では十分に高速ではないと聞きました。 どのDBMSが十分に高速ですか?SQL Serverはどの程度似ていますか(私は学校でSQL Serverを学びました)。

2
データベース設計のNFルールに違反していますか?
私はデータベース作成の初心者です...採用Webアプリケーション用に作成する必要があります。 私のアプリケーションは、スクリーニング、試験、および面接をスケジュールし、結果をデータベースに保存する必要があります。 私のデータベーススキーマは次のとおりです。 私の問題はapplicant_id、他のテーブルに含まれていることです...試験、面接、試験の種類など。 正規化ルールに違反していますか?もしそうなら、私のデザインを改善するために何をお勧めしますか?

3
大規模なSQL Serverデータベース設計の提案
MSSQL 2008 R2 Standardでデータベースを作成し、そこに多数のレコードを格納します。毎年1つのテーブルで2億件以上のレコードを見積もり、主にデータのUPDATEまたはDELETEをほとんど行わずにINSERTを実行しています。これは、履歴レコードを毎日挿入するデータアーカイブシステムです。ユーザーの要求に応じて、この履歴レコードに関するさまざまな種類のレポートを生成するため、いくつかの懸念があり、技術的な入力とアドバイスが必要です。 この種のアーカイブテーブルとデータベースを管理する最良の方法は何ですか?

3
データベース設計のアドバイス
私は、営業チームが迅速なジョブ見積もりツールとして使用するデータベースを設計しています。デザインの特定の側面についてフィードバックをお願いします。 見積もりは基本的に、事前に定義された「アセンブリ」のリストを選択して、それぞれが合意された価格で作成されます。メインフォームの簡略表示は次のようになります。 +------------ --- ---+ | Assembly options | +------------+------------+----------+------------+---+---+---+ --- +--+ | assembly ▼ | unit cost | quantity | total cost | 1 | 2 | 3 | |50| +------------+------------+----------+------------+---+---+---+ --- +--+ | VSD55 | £10'000 | 2 | £25'500 | 1 | 1 | | | | …

2
関係のないER図にエンティティがあっても問題ありませんか?
私はクラス割り当てのERダイアグラムを作成していますが、他のエンティティと直接の関係がないエンティティを作成し、外部キーを使用してそれらを接続することは可能だろうかと考えていました。下の図は、私がやりたいことを示しています 基本的に、私のダイアグラムは非常に複雑になり始めており、すべてのエンティティ間の接続を維持する必要がなかったとしたら、それは素晴らしいことです。 FWIW、それが助けになれば、Chen and Crow's Foot表記を使用しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.