私のデータベースモデルには、3つのファクトテーブルがあります。これらのファクト表には、同じディメンション表(いわゆる適合ディメンション)があります。ファクト表を直接接続しないでください(直接接続ではいくつかのファクトの二重計算が発生する可能性があるため)が、ディメンション表を介してのみ行うべきです。私が興味を持っているのは、すべての事実をすべてのディメンションテーブルに問題なく結びつけることができますか?私は答えをたくさん探し、意見は分かれています。何人かは問題はないと言いますが、他の人は、この事実表が相互に関連して循環参照が発生する可能性があると言います。このような場合、いわゆるリンクテーブルを使用する必要があります。このリンクテーブルは本当に必要なのですか?リンクテーブルを使用せずに同じディメンションテーブルに接続されている複数のファクトテーブルを使用することはできますか?
0
A
答えて
0
私はモデルを(MS SQLで)実装しましたが、今後誰かがこれに興味がある場合には私の経験を共有しています。
最後に、5つのファクトテーブル(モデルがより複雑になることが判明しました)が作成されました。それらはすべて、すべての既存のディメンションテーブル(そのうちの6つ)に直接接続されています。私はリンクテーブルを使用しませんでした。
このモデルは現在5ヶ月近く使用されており、問題は現れていません。
2
ファクト・イベントの側面を表す次元がある場合は、アナリティクスで使用できるようにディメンションを接続する必要があります。
ただし、ファクトを必要のないディメンションに強制的に接続する必要はありません。それはあなたのモデルを混乱させ、肥大化させます。
ファクトを直接接続しないでください。モデルはそのように機能しません。理由を理解するために、事実と次元の目的を読み上げたいと思うでしょう。
共通のディメンションを使用して関連するイベント間を移動することはできますが、これは循環参照ではありません。循環参照は、関係の一番下にないため、値が返されるのを防ぎます。
エンティティに多対多のリレーションシップがある場合は、リンク/ブリッジテーブルを使用してリレーションシップを複数の1対多の関係に展開できます。それはモデル化するのが複雑で、この質問の一部として説明するにはあまりにも複雑です。
ご希望の場合は、モデルの一部を投稿して、質問の具体的なニーズに焦点を当てることができます。
関連する問題
- 1. データソースからの接続を使用しているときに同じオブジェクトを使用する
- 2. EntityFrameworkで同じDBContextに複数の接続文字列を使用する
- 3. Windows Workflow FoundationのTransactionScopeにラップされた複数のアクティビティで同じデータベース接続を使用しますか?
- 4. 下にある接続が閉じられました:HttpWebRequestを使用しているときに予期せず接続が閉じられました
- 5. コンソールアプリケーションはエンティティを使用していますが、同じ接続文字列を使用できますか?
- 6. 複数のJSPタグライブラリに同じプレフィックスを使用させるにはどうすればいいですか?
- 7. 同じ接続を使用した複数スレッドのWebリクエスト
- 8. pythonを使用psycopg2:複数のカーソル(スレッドごとに1つの同じ接続)
- 9. 同じクライアントが複数のサーバーに接続できますか?
- 10. 複数の接続から同じdb4oファイルを使用できないのはなぜですか?
- 11. デバッガを使用してGlassfishに接続することができません
- 12. SQLAPI ++を使用してMYSQLに接続することができません
- 13. Dapperを使用するときに接続を閉じる
- 14. load()を使わずに同じことができますか?
- 15. cloudantモジュールを使用してnodejsからcloudant dbを接続しているときにdb接続を閉じることはできますか?
- 16. MySQL/Cを使用してデータベースに言及せずにmysql_real_connectを使用してサーバに接続することはできますか?
- 17. WiFIとサーバーを使用せずに複数のiOSデバイスをプログラム的にネットワークに接続するには、Bluetoothを使用するだけですか?
- 18. 複数のホストで同じドメイン名を使用してウェブサイトを設定することはできますか?
- 19. スレッドを使用せずにjava system.inを入力ソースコードと同時に使用することができます
- 20. spring-data-couchbaseを使用して複数のcouchbaseクラスタを接続することはできますか?
- 21. 複数のロガーで同じハンドラを使用できますか?
- 22. ネイティブmqttを使用して、Webソケットを使用せずにmqttブローカに接続できますか?
- 23. ブートストラップの同じページに複数のコンテナを使用することはできますか
- 24. ソケット接続と同じ方法でWCFサービスを使用できますか?
- 25. Swiftの同じネットワークに接続されている複数のiphoneで同じオーディオを同期するにはどうすればよいですか?
- 26. Psycopg2ライブラリを使用してmysqlに接続することはできます
- 27. SSRS:同じデータセットを使用して複数のテーブルを表示することはできますか?
- 28. 接続がすでに使用されているときにJavaがnio SocketChannel接続を取得する
- 29. netconnを使用して複数のLwIP接続を同時に処理する
- 30. 複数のAWS EC2インスタンスを同じ地域に接続することはできますか?