埋込みレコードの使用

レコード・エントリは様々な型のフィールドを持つことができます。ただし、埋込みレコードはデータが相対的に静的の場合のみ使用してください。一般的に、特に子データセットが大きいかサイズが変更する場合に、埋込みレコードよりも子表が優れた解決策を提供します。

RECORD()文を使用して表フィールドをレコードとして宣言します。

主キーがUIDで2番目のフィールドにレコードを持つシンプルな2つのフィールドの表を定義するには、次のDDL文を使用します。

CREATE TABLE myTable (
    uid INTEGER,
    myRecord RECORD(firstField STRING, secondField INTEGER),
    PRIMARY KEY (uid)
) 

埋込みレコード・フィールドで、DEFAULTおよびNOT NULL制約はサポートされていません。ただし、これらの制約は埋込みレコードの個々のフィールドには適用できます。詳細は、「フィールド制約」を参照してください。

埋込みレコードに書き込むには、Javascriptオブジェクトとして作成します。

   var mrec = {firstField: "An embedded record",
               secondField: 3388};
   var row = {uid: 0,
              myRecord: mrec
             };

   store.put('myTable', row,
           function (err) {
                if (err)
                    throw err;
                else {
                    console.log("Row inserted.");
                }
           }); 

次に、通常の方法でそのフィールドを読み取ることができます。

  var primaryKey = {uid: 0};
   store.get('myTable', primaryKey,
           function (err, returnRow) {
                if (err)
                    throw err;
                else {
                    console.log(returnRow.currentRow.myRecord);
                    store.close();
                }
           });