User's Guide (v11)

Table Editor の概念

ここでは、以下の項目について説明します。

概要

Table Editor は、PCC(Pervasive PSQL Control Center)内のエディター ウィンドウの 1 つです。 Table Editor は、複数のページを持つ特殊なエディターです。ページは、エディター下部のタブに表示されます。このエディターを使用すれば、テーブルの列の追加、削除または特性の変更を行うことができます。このテーブルは、新規作成したものか、または編集したい既存のテーブルです。

Table Editor を使用してテーブルを変更するには、Pervasive_Adminグループのメンバーであっても、データベース エンジンが実行中のマシンでの完全な管理者権限を持っている必要があります。『Advanced Operations Guide』のデータベース エンジンの管理者権限の許可およびデータベース セキュリティを参照してください。


注意

Table Editorの機能を実行する前に、DDF(データ定義ファイル)とデータ ファイルをすべてバックアップしておいてください。このツールにより、データベース テーブル定義およびデータを変更することができます。不注意に不正なオプションを設定したり、不正なデータを入力した場合、ファイルに取り消すことのできない変更を加えてしまうことがあります。バックアップを行っていれば、完全に修復することができます。


Table Editor ページ

Table Editor には、作業領域として使用する以下のページがあります。

ページ名のタブをクリックしてページを選択します。


メモ

ページを切り替える前に変更を保存してください。


[列]ページ

[列]ページを使用すると、列の追加、削除、変更および主キーの設定を行うことができます。[列]ページの領域の説明については、[列]ページを参照してください。このページで実行するタスクについては列のタスクを参照してください。

データ型

データベース エンジンで使用できるデータ型の一覧は、『SQL Engine Reference』の 「Pervasive PSQL で使用できるデータ型」を参照してください。このセクションには、トランザクショナル/リレーショナル インターフェイスでの Pervasive PSQL データ型および対応する ODBC データ型の一覧があります。「Pervasive PSQL で使用できるデータ型」の一覧にあるデータ型はどれでも使用でき、これらは、Table Editor [列]ページの[データ型]選択リストに表示されます。

ヌル値

列のヌル属性を変更する機能には以下のような制限があります。

キー列のデータ型を変更する必要がある場合は、インデックス キーを削除し、データ型を変更してから再びキーを追加することにより実現できます。データベース内で関連付けられているすべてのインデックス キー列が同期がとれていることを確認してください。

たとえば、テーブル T1 に主キーがあり、このキーがテーブル T2 および T3 の外部キーによって参照される場合は、まず外部キーを削除しなければなりません。次に、主キーを削除し、3 つの列をすべて同じデータ型で同じサイズに変更する必要があります。最後に、主キーを再び追加してから、外部キーを追加します。

詳細については、以下を参照してください。

[インデックス]ページ

[インデックス]ページでは、インデックスおよびインデックス セグメントの追加と変更ができます。このページで実行するタスクについてはインデックスのタスクを参照してください。

[外部キー]ページ

[外部キー]ページでは、外部キーの追加と変更ができます。このページで実行するタスクについては外部キーのタスクを参照してください。

[SQL ビュー]ページ

[SQL ビュー]ページを使用すると、テーブルに適用される CREATE TABLE および ALTER TABLE ステートメントを表示することができます。SQL ビューは表示のみであることに注意してください。SQL ステートメントを変更することはできませんが、コピーすることはできます。このページで実行するタスクについては SQL ビューのタスクを参照してください。

[SQL ビュー]ページは下で説明するようにほかのページで行われた変更を反映します。

CREATE ステートメント

CREATE TABLE ステートメントは、テーブル作成に使用された SQL を表示します。まだ保存されていない新規テーブルでは、CREATE TABLE ステートメントは、ほかの 3 つのタブ付きダイアログから編集を実行するのに使用された SQL を反映します。たとえば、MyNewTable という名前の新規テーブルを作成しようとした場合、SQL ビューは最初、以下の CREATE ステートメントを表示します。

CREATE TABLE MyNewTable( 
); 

[列]ページで新規テーブルに 2 つの CHAR 列を追加しようとする場合、SQL ビューはこれを CREATE ステートメントに反映します。

CREATE TABLE MyNewTable( 
 "FirstName" CHAR(20), 
 "LastName" CHAR(30) 
); 

テーブルが保存された(既に存在する)場合、CREATE TABLE ステートメントはテーブルの作成に必要な SQL を表示します。たとえば、サンプル データベース DEMODATA で提供される Course テーブルを編集しようとした場合、SQL ビューは以下の CREATE ステートメントを表示します。

CREATE TABLE Course( 
 "Name" CHAR(7) NOT NULL , 
 "Description" CHAR(50), 
 "Credit_Hours" USMALLINT, 
 "Dept_Name" CHAR(20) NOT NULL  
); 
CREATE INDEX Course_Name ON Course("Name"); 
CREATE UNIQUE INDEX DeptName ON Course("Dept_Name"); 

ALTER ステートメント

既存のテーブルを編集中の場合、ALTER TABLE ステートメントは、ほかの 3 つの Table Editor ページで編集を実行するのにどの SQL ステートメントが使用されているかを表示します。たとえば、サンプル データベース DEMODATA の "Course" テーブルのレコードを編集するとします。[インデックス]ページで、Nameインデックス セグメントのソート順を昇順から降順に変更します。SQL ビューは以下の ALTER ステートメントを表示します。

DROP INDEX Course.Course_Name; 
CREATE INDEX Course_Name ON Course("Name" DESC); 

テーブルを保存すると、未決定の変更がないため ALTER TABLE ステートメントはクリアされます。


Table Editor

Table Editor のグラフィカル ユーザー インターフェイス