テーブルは、データを格納するため、またテーブル内のデータの関係を定義するために使用します。テーブルはローとカラムで構成されます。各カラムは電話番号や名前など情報の種類を特定し、各ローはデータのエントリを保持します。
Ultra Light データベースを初めて作成したときには、システム・テーブルだけが表示されます。システム・テーブルには Ultra Light のスキーマが保管されます。システム・テーブルは、必要に応じて Sybase Central で表示/非表示を切り替えることができます。
その後、アプリケーションに必要なテーブルを新しく追加できます。また、これらのテーブル内のデータをブラウズしたり、ソース・データベース内の既存のテーブル間や開いている宛先データベース間でデータをコピー・アンド・ペーストしたりできます。
Ultra Light では、次の 2 つの形式のローを扱います。
アンパックされたロー 非圧縮形式です。個々のカラム値を読み込んだり書き込んだりするには、その前に、該当するローをアンパックする必要があります。
パックされたロー アンパックされたローの圧縮形式です。各カラム値が圧縮され、ロー全体に必要なメモリが最小限に抑えられています。パックされたローのサイズは、各カラムに含まれている値だけに依存します。たとえば、同じテーブルに属する 2 つのローで、パックされたサイズが大きく異なる場合があります。LONG BINARY カラムと LONG VARCHAR カラムは、パックされたローとは別に格納されます。
Ultra Light には、パックされたローがデータベース・ページに収まらなければならないという制約があります。LONG BINARY カラムと LONG VARCHAR カラムは、パックされたローには格納されないので、ページ・サイズを超えてもかまいません。
テーブル定義は Ultra Light ランタイムがデータをパックする前のローについて記述していることを理解することが重要です。パックされたローのサイズは各カラムの値によって異なるので、パックされたローの要件が満たされているかどうかをテーブル定義を基にして事前に判断することはできません。この理由から、Ultra Light ではアンパックされたローがページに収まらないテーブルを定義できるようになっています。ローがページに収まるかどうかを確認するには、ロー自体を挿入または更新する必要があります。ローが収まらなかった場合、Ultra Light はエラーを検出して通知します。
テーブル・サイズを必要に応じて自由に大きく宣言することはできません。Ultra Light では、宣言されたテーブル・ロー・サイズの上限は 64 KB に固定されています。アンパックされたローのサイズがこの上限を超えることができるテーブルを定義しようとすると、Ultra Light によって SQL エラー・コード SQLE_MAX_ROW_SIZE_EXCEEDED (-1132) が生成されます。
Ultra Light のテーブルの作成
allsync と nosync の各サフィックスの使用
Ultra Light テーブルへのカラムの追加
Ultra Light のカラム定義の変更
Ultra Light テーブルの削除
Ultra Light テーブル内の情報のブラウズ
Ultra Light データベースのデータのコピー・アンド・ペースト
Ultra Light プラグインから ER 図を表示する
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |