サブスクリプション スキーマの例
サブスクリプション クラスを定義する際に、サブスクリプション データのスキーマを定義できます。ここでは、さまざまなシナリオで定義する可能性のあるフィールドについていくつかの例を紹介します。サブスクリプション スキーマの詳細については、「サブスクリプション スキーマの定義」を参照してください。
メモ : |
---|
以下の例は、サブスクリプション クラスのフィールド定義に使用される値を示しています。フィールドを定義するための厳密な方法は、XML または NMO のどちらを使用してアプリケーションを定義しているかによって異なります。 |
サブスクリプションごとのデバイスとロケール
これは天気予報アプリケーションのスキーマです。サブスクライバは、サブスクリプションを作成する際に、天気予報の通知で使用する都市を指定する必要があります。また、サブスクライバは、通知配信のデバイスとロケールを選択する必要があります。
このシナリオのスキーマには、DeviceName、SubscriberLocale、および City の 3 つのフィールドが含まれます。
フィールド名 | フィールド型 | フィールド修飾子 |
---|---|---|
DeviceName |
nvarchar(255) |
NOT NULL |
SubscriberLocale |
nvarchar(10) |
NOT NULL |
City |
nvarchar(35) |
NOT NULL |
定義済みのデバイス名とロケール
これはフライト アプリケーションのスキーマです。サブスクライバは、サブスクリプションを作成する際に、出発地の都市コード、目的地の都市コード、および通知のトリガ価格を指定する必要があります。サブスクライバは、航空会社を指定することもできます。航空会社を指定しない場合、サブスクライバはすべての航空会社の通知を受け取ることになります。
このアプリケーションでは、1 つのデバイスと 1 つのロケールのみがサポートされます。したがって、通知の生成に使用する Transact-SQL クエリのデバイス名とロケールを指定できます。複数のデバイスとロケールを今後サポートする予定がない場合、サブスクリプション スキーマの DeviceName フィールドと SubscriberLocale フィールドは必要ありません。
フィールド名 | フィールド型 | フィールド修飾子 |
---|---|---|
LeavingFrom |
nvarchar(6) |
NOT NULL |
GoingTo |
nvarchar(6) |
NOT NULL |
Carrier |
nvarchar(255) |
|
Price |
float |
NOT NULL |
サブスクリプションごとのデバイスと定義済みのロケール
フライト アプリケーションを変更して、複数のデバイスをサポートし、複数のロケールはサポートしない場合、スキーマ定義に DeviceName フィールドを追加します。
フィールド名 | フィールド型 | フィールド修飾子 |
---|---|---|
DeviceName |
nvarchar(255) |
NOT NULL |
Origin |
nvarchar(6) |
NOT NULL |
Destination |
nvarchar(6) |
NOT NULL |
Carrier |
nvarchar(255) |
|
Price |
float |
NOT NULL |
メモ : |
---|
サブスクリプション クラスを変更してアプリケーションを更新すると、既存のサブスクリプション テーブルの名前が変更され、新しいサブスクリプション テーブルが作成されます。古いテーブルから新しいテーブルにサブスクリプション データを移行できます。詳細については、「アプリケーションの更新」を参照してください。 |
カスタム フィールドなし
全員に同じ通知を送信するサブスクリプション クラス、またはサブスクライバがイベント フィールドを介して定義した複雑な条件アクションをサポートするサブスクリプション クラスのフィールド定義を次に示します。ユーザーは WHERE 句のパラメータ値を指定する必要はありません。ただし、デバイスとロケールを選択する必要があります。
フィールド名 | フィールド型 | フィールド修飾子 |
---|---|---|
DeviceName |
nvarchar(255) |
NOT NULL |
SubscriberLocale |
nvarchar(10) |
NOT NULL |
アプリケーションにカスタム フィールドがなく、複数のデバイスとロケールをサポートしない場合、サブスクリプション クラスにはスキーマがありません。
参照
関連項目
概念
その他の技術情報
データ型 (データベース エンジン)
CREATE TABLE (Transact-SQL)
SubscriptionClass/Schema/Field の FieldTypeMods 要素 (ADF)
SubscriptionClass/Schema/Field の FieldType 要素 (ADF)
SubscriptionClass の Schema 要素 (ADF)