[編集]を選択:混乱のために申し訳ありません。私の上司からOKを得て、スキーマのこの部分を投稿してください。私が画像を投稿することができれば、私は元の投稿の詳細を持っていたでしょう。階層構成
私はこのようになります構成スキーマがあります。http://img717.imageshack.us/img717/7297/heirarchy.png
レベルの各
は、それより下のレベルの中に含まれている(すなわち - パートナーが複数のプログラムを持っている)、および各設定レベルの共有の設定設定レベルの他のタイプのキーは(すなわち - デフォルトのタイムゾーンは、パートナーレベルで設定することができ、その後、プログラム、ポートフォリオまたはデバイスレベルから上書きされます)。
私たちができることは、オブジェクトの種類のデフォルトを持ち、より具体的な分類法でそれを上書きすることです。例えば:
は、私が会社であるパートナーのオブジェクトを持っていると言います。階層_構成_キー1がデフォルトのタイムゾーンであるとします。私は、ほとんどの場合、そのパートナーは東海岸(ニューヨーク時間)に設置されることを述べているpartner_configurationを置きます。
は今、私はそのパートナーがサポートしている複数のプログラムを持っています。その特定のプログラムはカリフォルニアに基づいているとします。私はそのプログラムのデバイスがサクラメントの時間であると言うprogram_configurationを置いています。
今のポートフォリオをスキップしてみましょう、と誰かがデンバーへ移動するが、それでも顧客であるカリフォルニア州の外に基づいて、このプログラムに申し込んと言います。私たちは彼らが山岳時代であると言うデバイス設定を設定しました。
階層は次のようになります。
Level |Timezone (hierarchy_configuration_key 1)
---------------------------------------------------
Partner |NYC
Program |Sacramento
Portfolio |null (defaults to most granular above it, so Sacramento)
Device |Denver
今、私はhierarchy_configuration_key_idによってグループ化された私の設定を選択します:
私は、内側のレベルを横断する参加するが、私は選択が私を与えたいと思う使用することができます
device_id |portfolio_id |program_id |partner_id |device_config |portfolio_config |program_config| partner_config
---------------------------------------------------------------------------------------------------------------------
1 |2 |1 |35 |Denver |null |Sacramento | NYC
もよいであろう:デバイスの主キー(DEVICE_ID)のために(hierarchy_configuration_key_idによってグループ化された)このような結果最も関連性の高い設定値を与えたSelect、つまり:
device_id |portfolio_id |program_id |partner_id |config_value
-------------------------------------------------------------
1 |2 |1 |35 |Denver
ありがとうございます。それ以上の説明が必要な場合はお知らせください。
レベル数は定数4ですか?どのフィールドがMiataにマツダの子供だと伝えていますか? –
プライマリキーとは何ですか?レベル4?また、データベース構造が不明です。スキーマを表示する。 –
私は説明を追加しました。混乱させて申し訳ありません。 –