Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light データベース管理とリファレンス » Ultra Light データベースの使用 » Ultra Light データベースの操作

 

Ultra Light のテーブルとカラムの操作

テーブルは、データを格納するため、またテーブル内のデータの関係を定義するために使用します。テーブルはローとカラムで構成されます。各カラムは電話番号や名前など情報の種類を特定し、各ローはデータのエントリを保持します。

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 図を表示する