テーブル列と別のデータベース間の関係の作成

morbidCode

会社を追加するアプリケーションがあるとします。私はこのようなテーブルを持っています:

create table companies(
    id primary key,
    name varchar
)

会社ごとに、ビジネスタイプの情報をたくさん保存する必要があります。それらは非常に多いため、衝突、非常に遅いパフォーマンス、複雑なクエリを回避するために、会社ごとに1つのデータベースを作成することにしました。データベース名は、私のcompanysテーブルの会社名になります。

私の問題は、会社名とデータベースに1対1の関係を与えて、それらが互いにシンクするようにしたいということです。それは可能ですか?そうでない場合は、会社ごとにデータベースを作成する以外に、より良いアプローチはありますか?

ゴードン・リノフ

これは私のコメントの詳細です。

データベースは、数百万、さらには数十億の行を持つテーブルを処理するように設計されています。あなたのデータはそれほど大きくないと思います。

単一のエンティティのすべてのデータを単一のテーブルに格納するのはなぜですか?ここにいくつかの理由があります:

  • さまざまな会社間でクエリを簡単に実行できます。
  • エンティティ間の外部キー関係を定義できます。
  • データ構造を変更すると、1か所で変更できます。
  • スペースの面ではるかに効率的です。データベースは通常、データページにデータを格納し、部分的に埋められたページは多くのスペースを消費します。
  • バックアップとリカバリの目的で単一のデータベースがあります。
  • where単一企業のデータを選択するための句は、特に「複雑」ではありません。

(注:これは、データベース用語である「エンティティ」を指します。企業のデータは、引き続き複数のテーブルに分散できます。)

パフォーマンスを向上させるために、データモデルを調整し、インデックスを追加し、テーブルをパーティション分割できます。これは、データベースで実行される膨大な数のアプリケーションには十分です。

会社/クライアントごとに個別のデータベースが必要な状況がいくつかあります。これが私が遭遇したいくつかです:

  1. あなたはこれがあなたがしなければならないことであると言われます。
  2. 各クライアントは実際にカスタマイズされているため、それらの間で共通のデータ構造はほとんどありません。
  3. セキュリティ要件では、データは異なるデータベースまたは異なるサーバーに存在する必要があると指定されています(これが1の「正当な理由」です)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

モデルとデータベーステーブルの間に1対多の関係を作成する

分類Dev

AspNetUsers(Identity)とカスタムデータベース内の他のテーブル間の多対多の関係

分類Dev

4つのデータベーステーブル間の複数の関係における非正規化と冗長性の削減

分類Dev

PostgreSQLの単一の列と複数のテーブルの関係を表すデータスキーマ

分類Dev

Django 1.11 2つの異なるデータベースのテーブル間に関係を作成できますか?

分類Dev

複数のオプションの列と依存関係を持つことができるテーブルのデータベースの設計

分類Dev

別のテーブルとの関係内のLaravel関係

分類Dev

SQL:1つのテーブル間に関係があるデータベース内のnからmの関係

分類Dev

データベースJAVA内の2つのオブジェクト間の関係を作成する方法

分類Dev

MySQLは、あるテーブルの列を別のデータベースのテーブルの別の列と比較します

分類Dev

ある列から別の列(別のテーブルと別のデータベースにある)にデータをコピーします

分類Dev

データベースの外部キーと結合テーブルの作成

分類Dev

接点間の関係のMySQLデータベースの設計?

分類Dev

別のテーブルの2つの列とのDjangoの関係

分類Dev

データベースの作成と間違いのダブルチェック

分類Dev

既存の階層データベースとの新しい関係の作成

分類Dev

2つの異なるデータベース内の2つのテーブル間の多対多の関係

分類Dev

OracleTemporaryテーブルの列と別のテーブルの行のデータ

分類Dev

リンクサーバーなしで1つのインスタンスで2つのデータベースの2つのテーブル間の関係を作成する方法

分類Dev

外部キーを含まない既存のデータベースとエンティティ間の関係を作成する方法

分類Dev

Python MySQLdb:データベースの作成とテーブルの入力

分類Dev

Python MySQLdb:データベースの作成とテーブルの入力

分類Dev

2つのテーブル間の関係:2つのテーブル間の関係を作成します

分類Dev

関数としてのクラス内にデータベーステーブルを作成する

分類Dev

SQLServerのテーブル間の関係

分類Dev

データベース関係を作成するためのルール

分類Dev

SQL Serverデータベースのテーブルに列を追加し、大文字と小文字を区別してデフォルト値を作成します

分類Dev

単一のmysqlクエリ:データベースにテーブルと列のNULL値を作成する

分類Dev

別のテーブルMySQLとの関係でデータをコピーできません

Related 関連記事

  1. 1

    モデルとデータベーステーブルの間に1対多の関係を作成する

  2. 2

    AspNetUsers(Identity)とカスタムデータベース内の他のテーブル間の多対多の関係

  3. 3

    4つのデータベーステーブル間の複数の関係における非正規化と冗長性の削減

  4. 4

    PostgreSQLの単一の列と複数のテーブルの関係を表すデータスキーマ

  5. 5

    Django 1.11 2つの異なるデータベースのテーブル間に関係を作成できますか?

  6. 6

    複数のオプションの列と依存関係を持つことができるテーブルのデータベースの設計

  7. 7

    別のテーブルとの関係内のLaravel関係

  8. 8

    SQL:1つのテーブル間に関係があるデータベース内のnからmの関係

  9. 9

    データベースJAVA内の2つのオブジェクト間の関係を作成する方法

  10. 10

    MySQLは、あるテーブルの列を別のデータベースのテーブルの別の列と比較します

  11. 11

    ある列から別の列(別のテーブルと別のデータベースにある)にデータをコピーします

  12. 12

    データベースの外部キーと結合テーブルの作成

  13. 13

    接点間の関係のMySQLデータベースの設計?

  14. 14

    別のテーブルの2つの列とのDjangoの関係

  15. 15

    データベースの作成と間違いのダブルチェック

  16. 16

    既存の階層データベースとの新しい関係の作成

  17. 17

    2つの異なるデータベース内の2つのテーブル間の多対多の関係

  18. 18

    OracleTemporaryテーブルの列と別のテーブルの行のデータ

  19. 19

    リンクサーバーなしで1つのインスタンスで2つのデータベースの2つのテーブル間の関係を作成する方法

  20. 20

    外部キーを含まない既存のデータベースとエンティティ間の関係を作成する方法

  21. 21

    Python MySQLdb:データベースの作成とテーブルの入力

  22. 22

    Python MySQLdb:データベースの作成とテーブルの入力

  23. 23

    2つのテーブル間の関係:2つのテーブル間の関係を作成します

  24. 24

    関数としてのクラス内にデータベーステーブルを作成する

  25. 25

    SQLServerのテーブル間の関係

  26. 26

    データベース関係を作成するためのルール

  27. 27

    SQL Serverデータベースのテーブルに列を追加し、大文字と小文字を区別してデフォルト値を作成します

  28. 28

    単一のmysqlクエリ:データベースにテーブルと列のNULL値を作成する

  29. 29

    別のテーブルMySQLとの関係でデータをコピーできません

ホットタグ

アーカイブ