Table Editor
ZenCC Table Editor の概要
以下のセクションでは、テーブルを操作する方法について説明します。
Table Editor の概念
Table Editor の概念について、以下の項目で説明します。
概要
Table Editor は、Zen Control Center(ZenCC)内のエディター ウィンドウの 1 つです。Table Editor は、複数のページを持つ特殊なエディターです。ページは、エディター下部のタブに表示されます。このエディターを使用すれば、テーブルの列の追加、削除または特性の変更を行うことができます。このテーブルは、新規作成したものか、または編集したい既存のテーブルです。
Table Editor を使用してテーブルを変更するには、Zen_Admin グループのメンバーであっても、データベース エンジンが実行中のマシンでの完全な管理者権限を持っている必要があります。『
Advanced Operations Guide』の
データベース エンジンの管理者権限の許可および
データベース セキュリティを参照してください。
注意: Table Editor の機能を実行する前に、DDF(データ定義ファイル)とデータ ファイルをすべてバックアップしておいてください。このツールにより、データベース テーブル定義およびデータを変更することができます。不注意に不正なオプションを設定したり、不正なデータを入力した場合、ファイルに取り消すことのできない変更を加えてしまうことがあります。バックアップを使用すれば、完全な修復を行うことができます。
Table Editor の各ページ
Table Editor には、作業領域として使用できる以下のページが表示されます。
ページを切り替えるには、[Table Editor]パネル下部の対応するタブをクリックします。
メモ:ページを切り替える前に変更を保存してください。
[列]ページ
[列]ページを使用すると、列の追加、削除、変更および主キーの設定を行うことができます。[列]ページの領域の説明については、
[列]ページを参照してください。[列]ページで実行できるタスクについては、
列のタスクを参照してください。
[インデックス]ページ
[インデックス]ページでは、インデックスおよびインデックス セグメントの追加と変更ができます。[列]ページで実行できるタスクについては、
インデックスのタスクを参照してください。
[外部キー]ページ
[外部キー]ページでは、外部キーの追加と変更ができます。[列]ページで実行できるタスクについては、
外部キーのタスクを参照してください。
[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");
メモ:テーブルを作成するには、データベース セキュリティ を無効にするか、データベース セキュリティのプロパティ ページで、お使いのユーザー アカウントに Create Table 権限が設定されている必要があります。
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 ステートメントはクリアされます。
データ型
データベース エンジンで使用できるデータ型の一覧は、『
SQL Engine Reference』の
Zen で使用できるデータ型を参照してください。その一覧にあるデータ型はどれでも使用できるとともに、Table Editor の[列]ページの[データ型]選択リストにも表示されます。
ヌル値
列のヌル属性を変更する機能には以下のような制限があります。
•ターゲット列では、主キー/外部キーの制約を定義することはできません。
•旧データ型を新しいデータ型に変換することによって(演算またはサイズの)オーバーフローが発生する場合、ALTER TABLE 操作は中止されます。
•ヌル値を許可する列がヌル値を含む場合、その列をヌル値を許可しない列に変更することはできません。
キー列のデータ型を変更する必要がある場合は、インデックス キーを削除し、データ型を変更してからキーを再入力することにより実現できます。データベース内で関連付けられているすべてのインデックス キー列が同期がとれていることを確認してください。
たとえば、テーブル T1 に主キーがあり、このキーがテーブル T2 および T3 の外部キーによって参照される場合は、まず外部キーを削除しなければなりません。次に、主キーを削除し、3 つの列をすべて同じデータ型で同じサイズに変更する必要があります。最後に、主キーを再入力してから、外部キーを再入力します。
ヌル値の詳細については、以下を参照してください。
•『
SQL Engine Reference』の
INSERT •『
Zen Programmer's Guide』の
ヌル値 Table Editor のグラフィカル ユーザー インターフェイス
Table Editor のインターフェイスには、ページと呼ばれる、以下の作業領域があります。
[列]ページ
[列]ページは、列と行がテーブルの中核であるように Table Editor の基本ページと考えることができます。次のスクリーンショットは Table Editor の[列]ページを示しています。下の表はスクリーンショットの GUI オブジェクトの説明です。スクリーンショット上のそれぞれの領域をクリックするとその詳細が表示されます。
このページで実行するタスクについては
列のタスクを参照してください。
図 16 [列]ページ
GUI のオブジェクト | 説明 | 関連情報 |
---|
列名 | 列の名前を入力します。 | 『 SQL Engine Reference』の リレーショナル エンジンの制限『 ODBC Guide』の SQL 文法のサポート『 Advanced Operations Guide』の 識別子の種類別の制限 |
データ型 | 列のデータ型を指定します。 | 『 SQL Engine Reference』の Zen で使用できるデータ型 |
サイズ | そのデータ型に対して何バイトまで許容するかを指定します。暗色表示になっているセルは、サイズが適用されていないことを示します。 | |
桁数 | 浮動小数点数値の場合、有効な桁数を指定します。暗色表示になっているセルは、桁数が適用されていないことを示します。 | |
小数位 | 浮動小数点数値の場合、小数点の右側に現れる有効な桁数を指定します。暗色表示になっているセルは、小数位が適用されていないことを示します。 | |
ヌル | そのデータ型に対してヌル値を許可するかどうかを指定します。グレイの四角( )は、そのデータ型にヌルが適用されないことを示します。チェックの入った四角( )は、そのデータ型にヌルが許可されることを示します。 | |
大小文字無視 | データベース エンジンがデータベース内で文字値を検索する場合に、大文字小文字を区別するかしないかを指定します。チェックの入った四角( )は、 大文字小文字を区別しない値が使用されることを示します。グレイの四角( )は、そのデータ型に大文字小文字の区別が適用されないことを示します。 | |
ソート | オルタネート コレーティング シーケンス(ACS)またはインターナショナル ソート規則(ISR)をソートに使用することを指定します。ACS パス名か ISR 名を含めます。 | |
デフォルト | 列のデフォルト値を指定します。行の SQL INSERT を実行した場合に列の値を指定しなかった場合、デフォルト値が使用されます。 | |
[インデックス]ページ
[インデックス]ページを使用すると、インデックスを追加および削除することができます。[インデックス]ページについては、インデックスに関して行う作業の中で説明します。
インデックスのタスクを参照してください。
[外部キー]ページ
[外部キー]ページでは、外部キーの追加と削除を行うことができます。[外部キー]ページについては、外部キーに関して行う作業の中で説明します。
外部キーのタスクを参照してください。
[SQL ビュー]ページ
[SQL ビュー]ページでは、テーブルの作成または変更に使用する SQL ステートメントを表示し、コピーすることもできます。CREATE TABLE パネルには SQL が表示され、これを使用して同じテーブルを作成することができます。ALTER TABLE パネルには、Table Editor を使用して行った既存のテーブルへの変更が反映されます。テーブルの変更を保存すると、ALTER TABLE パネルがクリアされ、ALTER ステートメントが CREATE TABLE ステートメントの一部になります。
[SQL ビュー]ページについては、SQL ビューに関して行う作業の中で説明します。
SQL ビューのタスクを参照してください。
Table Editor 各種作業
このセクションでは、Table Editor で実行する作業について説明します。作業は以下のカテゴリに分かれています。
カテゴリ | 説明 |
---|
| Table Editor の使用全般の説明です。 |
| [列]ページの使用に適用されます。 |
| [インデックス]ページの使用に適用されます。 |
| [統計]ページの使用に適用されます。 |
| [SQL ビュー]ページの使用に適用されます。 |
メモ:SQL Editor のクエリでテーブルを開いている場合は、そのテーブルの構造への変更は保存できません。テーブルを開いている SQL Editor を閉じて、変更を保存します。
一般的な作業
一般的な作業は、このツールの全体的な使用に適用されます。
はじめに
データ
列のタスク
列のタスクは、[列]ページに適用されます。
インデックスのタスク
インデックスのタスクは、[インデックス]ページに適用されます。
外部キーのタスク
外部キーのタスクは、[外部キー]ページに適用されます。
SQL ビューのタスク
SQL ビューのタスクは、[SQL ビュー]ページに適用されます。
全般的な作業
►新規テーブルのために Table Editor を起動するには
2 Zen エクスプローラーでエンジン ノードとデータベース ノードを展開します。
3 新規テーブルを追加するデータベース上で右クリックします。
4 [新規作成]>[テーブル]をクリックし、新規テーブルの名前を入力します。
ヒント: データベース オブジェクトの長さと無効な文字の一覧については、『
Advanced Operations Guide』の
識別子の種類別の制限を参照してください。
同じディレクトリに、ファイル名が同一で拡張子のみが異なるようなファイルを置くことはできません。たとえば、invoice.btr と invoice.mkd を同じディレクトリに置くことはできません。この制限がある理由は、本データベース エンジンがファイル名の拡張子を無視するので invoice.btr と invoice.mkd を同じファイルと認識してしまうためです。
5 [完了]をクリックします。
►既存テーブルのために Table Editor を起動するには
2 Zen エクスプローラーでエンジン ノードとデータベース ノードを展開します。
3 データベースの下で目的のテーブルを探し、そのテーブルを右クリックして[編集]を選択します。
►列を操作するには
2 当該テーブルのパネルで、[列]タブをクリックします。
►インデックスを操作するには
2 当該テーブルのパネルで、[インデックス]タブをクリックします。
►外部キーを操作するには
2 当該テーブルのパネルで、[外部キー]タブをクリックします。
►テーブルに適用可能な SQL ステートメントを表示するには
2 当該テーブルのパネルで、[SQL ビュー]タブをクリックします。
►Table Editor を使ってテーブル データを表示するには
2 グリッド ウィンドウが表示されない場合は、[ウィンドウ]>[ビューの表示]>[グリッド]をクリックします。
デフォルトで、グリッドはテーブルのすべてのデータ(SELECT * FROM テーブル ステートメントの結果)を表示します。
注意: グリッドでは、グリッド セルの値を変更することにより、データを変更することができます。
グリッドのタスクを参照してください。
►未保存の変更されたテーブルを識別するには
1 Table Editor の最上部にあるタブをよく見てください。タブにはこれから作成または編集するテーブルの名前が表示されます。列、インデックス、または外部キーに変更が加えられたが未保存である場合には、名前の前にアスタリスク(*)が付きます。
►編集を開始したテーブルの変更を保存するには
テーブルを保存すると、操作を元に戻したり、やり直したりできないので、注意してください。
1 [
ファイル]>[
保存]をクリックするか、または
をクリックします。
メモ:SQL Editor でテーブルが開いている場合は、テーブル構造への変更は保存できません。参照しているテーブルを SQL Editor で閉じて、変更を保存します。
►編集中のすべてのテーブルの変更を保存するには
テーブルを保存すると、操作を元に戻したり、やり直したりできないので、注意してください。
1 [ファイル]>[すべて保存]をクリックします。
メモ:SQL Editor でテーブルが開いている場合は、テーブル構造への変更は保存できません。参照しているテーブルを SQL Editor で閉じて、変更を保存します。
►変更を元に戻す、または変更をやり直すには
1 ツールバーで
をクリックすると操作を元に戻し、
をクリックすると操作をやり直します。
最後に保存してから複数の操作を行った場合は、[元に戻す]または[やり直す]ツールバー ボタンを繰り返しクリックしてください。[元に戻す]または[やり直す]操作がそれ以上ない場合、ツールバー ボタンは無効になります。
テーブルを保存すると、操作を元に戻したり、やり直したりできないので、注意してください。
列のタスク
►既存の列の間に列を挿入するには
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 新しい列を挿入する場所の上の既存の列行を右クリックします。
3 [列の追加]をクリックします。
既存の列行の上に新規行が表示されます。挿入された列のデフォルトの名前は "列_n" です。"n" は自動的に 1 つずつ増加する番号です。最初に挿入した列は column0、2 番目は column1 という具合です。
ヒント: 既存の列行をクリックし、次に
Ctrl+
Insert キーを押すか
をクリックして列を挿入することもできます。たとえば、どちらかの操作を繰り返すと一連の列を挿入することができます。
4 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►最後尾に列を挿入するには
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 既存の最後の列行の下の空白行の任意の場所を右クリックし、次に[列の追加]をクリックします。
または
既存の最後の列行の下にある空行の[列名]をクリックし、列の名前を入力します。
挿入された列のデフォルトの名前は "列_n" です。"n" は自動的に 1 つずつ増加する番号です。最初に挿入した列は column0、2 番目は column1 という具合です。
ヒント: 最後の行で
をクリックするか、
Ctrl+
Insert キーを押して、列を挿入することもできます。
たとえば、どちらかの操作を繰り返すと一連の列を挿入することができます。挿入操作は、最後尾に新しい列を自動的に追加します。
3 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►単一の列または複数の列を選択するには
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の
(その列行の最も左にある列選択アイコン)をクリックします。
複数の列を選択するには、
Shift または
Ctrl キーを押したままにし、次に目的の追加列の
をクリックします。
►列を削除するには
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列行の任意の場所を右クリックします。
3 [列の削除]をクリックします。
ヒント: 既存の列行をクリックし、次に
Ctrl+
Delete キーを押すか
をクリックして列を削除することもできます。
複数の列行を選択することにより、複数の列を削除することもできます。
単一の列または複数の列を選択するにはを参照してください。
4 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列名を指定するには
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[列名]セルをクリックします。
3 既存の列名を削除します。
4 名前を入力します。
ヒント: データベース オブジェクトの長さと無効な文字の一覧については、『
Advanced Operations Guide』の
識別子の種類別の制限を参照してください。
また、原則として列名に予約語を使用しないでください。『
SQL Engine Reference』の
予約語を参照してください。『
ODBC Guide』の
SQL 文法のサポートも参照してください。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列のデータ型を設定するには
列のデータ型を変更すると、データベースのデータは変換されます。データ型の一覧は、『
SQL Engine Reference』の
Zen で使用できるデータ型を参照してください。
列のデータ型を変更すると、サイズ、小数位、桁数、デフォルト、および照合順序に、そのデータ型のデフォルトが設定されます。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[データ型]セルをクリックします。
3 データ型のリストを開きます(
をクリックします)。
4 目的のデータ型までスクロールします。目的のデータ型の最初の文字を入力してデータ型をスクロールすることもできます。最初の文字を繰り返し入力すると、その文字で始まるデータ型にそれぞれスクロールします。
5 目的のデータ型をクリックします。
6 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
メモ:デフォルト値を含む列のデータ型を変更すると、デフォルト値がクリアされ、必要に応じ値がリセットされます。
►列のサイズを設定するには
次のデータ型では、列のサイズを小さくするとデータは切り捨てられます。
•CHAR
•NUMERIC
•VARCHAR
1 Table Editor の[列]ページをアクティブにしておいてください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[サイズ]セルをクリックします。
CHAR 型のような、設定可能なデータ型についてのみサイズを設定することができます。サイズ設定が可能でない場合は、グリッド セルが暗色表示され、編集することはきません。
3 既存の値を削除します。
4 新しい値を入力します。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列の桁数を設定するには
浮動小数点数値の場合、桁数には有効桁数を指定します。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[桁数]セルをクリックします。
DECIMAL 型のような桁数が設定可能なデータ型でのみ、桁数を設定することができます。桁数設定が可能でない場合は、グリッド セルが暗色表示され、編集することはきません。
3 既存の値を削除します。
4 新しい値を入力します。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列の小数位を設定するには
浮動小数点数値の場合、小数位には、小数点の右側に現れる有効桁数を指定します。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[小数位]セルをクリックします。
NUMERIC 型のような小数位が設定可能なデータ型のみ、小数位を設定することができます。小数位設定が可能でない場合は、グリッド セルが暗色表示され、編集することはきません。
3 既存の値を削除します。
4 新しい値を入力します。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列にヌル値を許可または許可しない設定をするには
ヌル値についての詳細は、『
Advanced Operations Guide』の
Rebuild ツールの概念、『
SQL Engine Reference』の
INSERT、および『
Zen Programmer's Guide』の
ヌル値を参照してください。これらのマニュアルは Zen 開発者用ドキュメントに含まれています。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[ヌル]セルのオプション ボックスをクリックします。
設定可能なデータ型についてのみヌル値を許可することができます。グレイの四角は、そのデータ型にヌル値が適用されないことを示します。
オプション ボックスの状態 | 説明 |
---|
| ヌル値が指定されている |
| ヌル値が許可されているが指定されていない |
| ヌル値は適用されない |
3 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►大文字小文字の区別を列に設定するには
キーでオルタネート コレーティング シーケンス(ACS)を使用する場合、大文字と小文字の区別は適用されません。大文字と小文字の区別は指定できず、また、ACS も使用できません。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[大小文字無視]セルのオプション ボックスをクリックします。
設定可能なデータ型についてのみ照合順序を設定することができます。グレイの四角は、そのデータ型に大文字小文字の区別が適用されないことを示します。
オプション ボックスの状態 | 説明 |
---|
| 大文字小文字無視 |
| 大文字小文字を区別 |
| 大文字小文字の区別は適用されない |
デフォルトで、Zen は、文字列キーを並べ替える際に大文字と小文字を区別します。並べ替えにより大文字は小文字より前になります。大文字小文字を無視するように指定すると、値は大文字小文字に関係なく並べ替えられます。
3 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列の照合順序を設定するには
照合順序についての詳細は、『
Advanced Operations Guide』の
Maintenance を使用した Btrieve データ ファイルの操作、および『
Zen Programmer's Guide』の
オルタネート コレーティング シーケンスを参照してください。これらのマニュアルは Zen 開発者用ドキュメントに含まれています。
オルタネート コレーティング シーケンス(ACS)またはインターナショナル ソート規則(ISR)を使用する場合、大文字と小文字の区別を指定することはできません。キーで ACS または ISR を使用する場合、大文字と小文字の区別は適用されません。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の[照合]セルをクリックします。
設定可能なデータ型についてのみ ACS または ISR を設定することができます。照合順序設定が可能でない場合は、グリッド セルが暗色表示され、照合を編集できません。
3 既存の値がある場合は削除します。
4 ACS パス名か ISR 名を入力します。
Zen のインストール先の Samples フォルダーには、サンプルの upper.alt という ACS ファイルが同梱されています。このファイルを使用するには、「file_path\Zen\samples\upper.alt」と入力します。
upper.alt は、ソートする際に大文字と小文字を同等に扱います。たとえば、データベースに abc、ABC、DEF、Def という値がこの順序で挿入されている場合、upper.alt を使ってソートすると、abc、ABC、DEF、Def のように返されます(値 abc と ABC、DEF と Def は同じものと判断され、これらは挿入された順序で返されます)。標準の ASCII ソートでは、大文字は小文字の前に配列されており、ソート結果は ABC、DEF、Def、abc となります。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►列のデフォルトを設定するには
列に値が指定されない場合、行の SQL INSERT にはデフォルト値が使用されます。特定のスカラー関数を設定して、特定のデータ型のデフォルトとすることができます。
1 Table Editor の[列]ページがアクティブであることを確認してください。
列を操作するにはを参照してください。
2 [デフォルト]列内で、目的の列のセルをクリックします。
3 デフォルトを変更するには、既存の値を削除し、新しい値を入力します。
選択したスカラー関数がデータ型に適用できない場合は、グリッド セルで入力が受け付けられません。次の表では、日付値やタイムスタンプ値を対象としたスカラー関数とデータ型の互換性を示します。
データ型 | スカラー関数 |
---|
DATE | •CURDATE() •NOW() |
TIME | •CURTIME() •NOW() |
タイム スタンプ型 | •CURRENT_TIMESTAMP() •NOW() •SYSDATETIME() •SYSUTCDATETIME() |
メモ:関数名は大文字と小文字を区別しません。NOW() と now() は同等です。空のかっこが必要であることに注意してください。 |
4 Table Editor で別のページへ切り替える場合は、その前にファイルを保存してください。
メモ:スカラー関数をデフォルトとして使用したときに、その関数で返される値を保持できないデータ型であった場合は、Insert オペレーションでデータの切り詰め(切り捨て)に関する警告が返されることがあります。たとえば、DATE 型の列に NOW() をデフォルトとして設定すると、戻り値の時刻部分は切り捨てられます。この警告があっても、切り詰められた値は正しく挿入できています。
►列に主キーを設定または削除するには
ヌル値を許可している列には主キーは設定できないので注意してください。
1 Table Editor の[列]ページがアクティブであることを確認してください。必要に応じて
列を操作するにはを参照してください。
2 目的の列の
(その列行の最も左にある列選択アイコン)をクリックします。
複数の列を選択するには、
Shift または
Ctrl キーを押したままにし、次に目的の追加列の
をクリックします。
3 (主キー アイコン)をクリックします。
その列(単独または複数)が主キーではない場合、この操作はその列を主キーに設定します。
その列、または複数の列を選択した場合に列の中のいくつかが既に主キーの場合、この操作によってすべての列の設定が削除されます。
たとえば、既に列 1 が主キーであるが、列 1、2、3 を主キーにしたいとします。Ctrl キーを押し、押したまま列 1、2、3 をクリックします。主キー アイコンをクリックすると、主キーは列 1 から削除されますが、列 2 と列 3 には追加されません。主キー アイコンをもう一度クリックすると、列 1、2、3 が主キーとして示されます。
4 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
インデックスのタスク
►インデックスを作成するには
作成されたテーブルに IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列があると、テーブルにはこれらの列で自動的に作成される一意のインデックスが追加されます。これらの列のいずれにも 2 番目のインデックスを作成することはできません。ただし、その列が複数セグメントのインデックスの一部として含まれている場合は作成できます。『
SQL Engine Reference』の
AUTOINCREMENT も参照してください。
Table Editor では、テーブルを保存していなければ、IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列をインデックス リストに含めることができます。ただし、テーブルを保存しようとするとデータベース エンジンがエラーを返します。この列をリストから削除すると、テーブルを保存することができます。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 [追加]をクリックします。
[インデックスの新規作成]ダイアログが表示されます。
3 新しいインデックスの名前を入力したら、[OK]をクリックします。
ヒント: データベース オブジェクトの長さと無効な文字の一覧については、『
Advanced Operations Guide』の
識別子の種類別の制限を参照してください。
新しいインデックスがインデックス リストに表示され、[インデックス セグメントの詳細]が表示されます。列リストの最初の列が設定されているのに注目してください。
メモ:新規インデックスは、デフォルトで標準として作成されます。
4 列リストで、インデックスまたはインデックス セグメントに指定する列を選択します。
注意: インデックスには、少なくとも 1 つの列を指定する必要があります。インデックスに列を指定しないと、先頭列が選択されたままになります。
デフォルトのソート順は昇順です。ソート順を降順にする必要がある場合は、変更する列のソート順で "降順" を選択します。
メモ:LONGVARBINARY など、データ型によってはインデックスに使用できないものがあります。そのようなデータ型の列は選択できません。
5 リストから列を選択する操作を続けてすべてのセグメントを追加します。
1 つの列はインデックスに 1 度しか選択できません。選択すると、その列は選択リストから除外されます。これは、その列が既にインデックスに指定されたためです。
6 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
『
Zen Programmer's Guide』の
インデックスの作成も参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
►重複のないインデックスを作成するには
作成されたテーブルに IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列があると、テーブルにはこれらの列で自動的に作成される一意のインデックスが追加されます。これらの列のいずれにも 2 番目のインデックスを作成することはできません。ただし、その列が複数セグメントのインデックスの一部として含まれている場合は作成できます。
Table Editor では、テーブルを保存していなければ、IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列をインデックス リストに含めることができます。ただし、テーブルを保存しようとするとデータベース エンジンがエラーを返します。この列をリストから削除すると、テーブルを保存することができます。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 [追加]をクリックします。
[インデックスの新規作成]ダイアログが表示されます。
3 新しいインデックスの名前を入力したら、[OK]をクリックします。
ヒント: データベース オブジェクトの長さと無効な文字の一覧については、『
Advanced Operations Guide』の
識別子の種類別の制限を参照してください。
新しいインデックスがインデックス リストに表示され、[インデックス セグメントの詳細]が表示されます。
メモ:新規インデックスは、デフォルトで標準として作成されます。
4 [インデックス セグメントの詳細]で[一意]を選択して、インデックスを一意に指定します。
[一意]を選択すると重複可能性が無効になり、重複が禁止されます。
列リストの最初の列が設定されているのに注目してください。
5 列リストで、インデックスまたはインデックス セグメントに指定する列を選択します。
注意: インデックスには、少なくとも 1 つの列を指定する必要があります。インデックスに列を指定しないと、先頭列が選択されたままになります。
デフォルトのソート順は昇順です。ソート順を降順にする必要がある場合は、変更する列のソート順で降順を選択します。
メモ:LONGVARBINARY など、データ型によってはインデックスに使用できないものがあります。そのようなデータ型の列は選択できません。
6 リストから列を選択する操作を続けてすべてのセグメントを追加します。
1 つの列はインデックスに 1 度しか選択できません。選択すると、その列は選択リストから除外されます。これは、その列が既にインデックスに指定されたためです。
7 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
『
Zen Programmer's Guide』の
インデックスの作成も参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
►部分インデックスを作成するには
作成されたテーブルに IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列があると、テーブルにはこれらの列で自動的に作成される一意のインデックスが追加されます。これらの列のいずれにも 2 番目のインデックスを作成することはできません。ただし、その列が複数セグメントのインデックスの一部として含まれている場合は作成できます。『
SQL Engine Reference』の
AUTOINCREMENT も参照してください。
Table Editor では、テーブルを保存していなければ、IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列をインデックス リストに含めることができます。ただし、テーブルを保存しようとするとデータベース エンジンがエラーを返します。この列をリストから削除すると、テーブルを保存することができます。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 [追加]をクリックします。
[インデックスの新規作成]ダイアログが表示されます。
3 新しいインデックスの名前を入力したら、[OK]をクリックします。
ヒント: データベース オブジェクトの長さと無効な文字の一覧については、『
Advanced Operations Guide』の
識別子の種類別の制限を参照してください。
新しいインデックスがインデックス リストに表示され、[インデックス セグメントの詳細]が表示されます。
メモ:新規インデックスは、デフォルトで標準として作成されます。
4 [インデックス セグメントの詳細]で[部分]を選択して、部分インデックスに指定します。
列リストの最初の列が設定されているのに注目してください。
5 列リストで、インデックスまたはインデックス セグメントに指定する列を選択します。
注意: インデックスには、少なくとも 1 つの列を指定する必要があります。インデックスに列を指定しないと、先頭列が選択されたままになります。
デフォルトのソート順は昇順です。ソート順を降順にする必要がある場合は、変更する列のソート順で降順を選択します。
メモ:部分インデックスでは、CHAR または VARCHAR データ型の列で、インデックスの唯一のセグメントまたはインデックスの最後のセグメントとして指定するという制限があります。
6 リストから列を選択する操作を続けてすべてのセグメントを追加します。
1 つの列はインデックスに 1 度しか選択できません。選択すると、その列は選択リストから除外されます。これは、その列が既にインデックスに指定されたためです。
7 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
『
Zen Programmer's Guide』の
インデックスの作成も参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
►既存のインデックスを変更するには
データベース エンジンは、IDENTITY、 SMALLIDENTITY、または BIGIDENTITY 列インデックスおよび主キー インデックスなどのいくつかのインデックスを作成します。これらのインデックスは読み取り専用で、変更できません。
Table Editor では、テーブルを保存していなければ、IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列をインデックス リストに含めることができます。ただし、テーブルを保存しようとするとデータベース エンジンがエラーを返します。この列をリストから削除すると、テーブルを保存することができます。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
インデックス セグメントの詳細が表示されます。
3 セグメントの詳細を変更します。
4 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックスを削除するには
データベース エンジンは、IDENTITY、 SMALLIDENTITY、または BIGIDENTITY 列インデックスおよび主キー インデックスなどのいくつかのインデックスを作成します。これらのインデックスは読み取り専用で、削除できません。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
3 インデックス リストで削除するインデックスを選択し、[
削除]をクリックします。
4 削除の確認で[はい]をクリックします。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックス セグメントを挿入するには
セグメントの詳細については、『
Zen Programmer's Guide』の
セグメント化を参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
作成されたテーブルに IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列があると、テーブルにはこれらの列で自動的に作成される一意のインデックスが追加されます。これらの列のいずれにも 2 番目のインデックスを作成することはできません。ただし、その列が複数セグメントのインデックスの一部として含まれている場合は作成できます。『
SQL Engine Reference』の
AUTOINCREMENT も参照してください。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
[インデックス セグメントの詳細]が表示され、選択したインデックス セグメントがリストされます。
3 最初の空のセルをクリックし、次に列のリストを開きます(
をクリックします)。
4 リストから、セグメントに指定したい列をクリックします。
メモ:LONGVARBINARY など、データ型によってはインデックスに使用できないものがあります。そのようなデータ型の列は選択できません。
デフォルトのソート順は昇順です。ソート順を降順にする必要がある場合は、変更する列のソート順で降順を選択します。
5 リストから列を選択する操作を続けてすべてのセグメントを追加します。
1 つの列はインデックスに 1 度しか選択できません。選択すると、その列は選択リストから除外されます。これは、その列が既にインデックスに指定されたためです。
6 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックス セグメントを変更するには
セグメントの詳細については、『
Zen Programmer's Guide』の
セグメント化を参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
作成されたテーブルに IDENTITY、SMALLIDENTITY、または BIGIDENTITY 列があると、テーブルにはこれらの列で自動的に作成される一意のインデックスが追加されます。これらの列のいずれにも 2 番目のインデックスを作成することはできません。ただし、その列が複数セグメントのインデックスの一部として含まれている場合は作成できます。『
SQL Engine Reference』の
AUTOINCREMENT も参照してください。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
3 [インデックス セグメントの詳細]領域の[列]セルで目的のセグメントをクリックし、次に列のリストを開きます(
をクリックします)。
4 列リストで、インデックス セグメントとして指定した目的の列をクリックします。
メモ:LONGVARBINARY など、データ型によってはインデックスに使用できないものがあります。そのようなデータ型の列は選択できません。
デフォルトのソート順は昇順です。ソート順を降順にする必要がある場合は、変更する列のソート順で降順を選択します。
5 すべてのセグメントの変更を終えるまで、リストから列を選択する操作を続けます。
1 つの列はインデックスに 1 度しか選択できません。選択すると、その列は選択リストから除外されます。これは、その列が既にインデックスに指定されたためです。
6 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックス セグメントを削除するには
メモ:各インデックスは、少なくとも 1 つのセグメントを必要とします。セグメントが 1 つだけのインデックスを削除するには、インデックスそのものを削除します。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
[インデックス セグメントの詳細]が表示され、指定したすべてのインデックス セグメントがリストされます。
3 目的のインデックス セグメントをクリックします。
4 [インデックス セグメントの詳細]の列リストで削除するインデックス セグメントを選択し、[
削除]をクリックします。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックス セグメントの順序を変更するには
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
インデックス セグメントの詳細が表示されます。
3 順序を変更するインデックス セグメントをクリックします。
4 セグメント グループの先頭方向へセグメントを移動するには[上へ]をクリックし、末尾方向へ移動するには[下へ]をクリックします。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックスのソート順を指定するには
ソート順の詳細については、『
Zen Programmer's Guide』の
ソート順序を参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
インデックス セグメントの詳細が表示されます。
3 ソート列のセルをクリックし、次にソート順選択のリストを開きます(
をクリックします)。
4 ソート順リストから[昇順]または[降順]を選択します。
インデックス セグメント作成時のデフォルトのソート順は昇順です。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックスに重複を許可するには
重複の詳細については、『
Zen Programmer's Guide』の
重複可能性を参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
インデックス セグメントの詳細が表示されます。
3 [インデックス セグメントの詳細]でほかのオプション([部分]または[標準])を選択して、[一意]オプションをクリアします。
メモ:デフォルトでは、インデックスは標準で作成され、重複を許可します。
4 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►インデックスを変更可能に指定するには
変更可能性の詳細については、『
Zen Programmer's Guide』の
変更可能性を参照してください。このマニュアルは、Zen 開発者用ドキュメントに含まれています。
1 Table Editor の[インデックス]ページがアクティブであることを確認してください。必要に応じて
インデックスを操作するにはを参照してください。
2 インデックス リスト内の目的のインデックスをクリックします。
インデックス セグメントの詳細が表示されます。
3 [
変更を許可する]オプションをクリックします。
チェックマークの付いたボックスは、そのインデックスが変更可能であることを示します。チェックマークが付いていないのは、そのインデックスが変更不可能であることを示します。
オプション ボックスの状態 | 説明 |
---|
| 値は変更可能 |
| 値は変更不能 |
| 変更可能性は適用されない |
すべての SQL データ型のデフォルトでは、インデックス列は変更可能です。
4 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
外部キーのタスク
►外部キーを追加するには
データベースに主キーを持つテーブルが少なくとも 1 つないと、外部キーを追加することはできません。
1 Table Editor の[外部キー]ページがアクティブであることを確認してください。必要に応じて
外部キーを操作するにはを参照してください。
2 [追加]をクリックします。
3 新しい外部キーの名前を入力します。
ヒント: データベース オブジェクトの長さと無効な文字の一覧については、『
Advanced Operations Guide』の
識別子の種類別の制限を参照してください。
4 [OK]をクリックします。
新しい外部キーが外部キー リストに表示され、詳細も表示されます。
5 [主テーブルの選択]で
をクリックして、主テーブルとして指定できるテーブルのリストを表示します。
6 リスト内で目的のテーブルをクリックします(主キーを持つテーブルのみがリストに表示されます)。
テーブルの主フィールドが[主テーブル フィールド]列に表示されます。
7 主テーブルのフィールドを持つ外部テーブルのフィールドと合致させます。
[主テーブル フィールド]の対応する列のために[外部テーブル フィールド]列で空のセルをクリックし、次に
をクリックして許可可能なフィールドのリストを表示します。
メモ:フィールドのデータ型とサイズが一致している必要があります。外部テーブル フィールドのリストには、主テーブル フィールドと同じデータ型およびサイズのフィールドのみが含まれています。
8 リスト内の目的のフィールドをクリックします。
9 手順
7 および
8 を繰り返して、[主テーブル フィールド]列にリストされているフィールドが[外部テーブル フィールド]列と一致するようにします。
10 参照整合性規則として[制限の削除]または[カスケードの削除]のいずれかのオプションをクリックします。
Zen では、自己参照するテーブルに対し、循環するカスケード削除を使用できます。このため、削除カスケードは慎重に使用してください。『
Advanced Operations Guide』の
削除制限および
削除カスケードを参照してください。
11 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►外部キーを変更するには
1 Table Editor の[外部キー]ページがアクティブであることを確認してください。必要に応じて
外部キーを操作するにはを参照してください。
2 外部キー リスト内の目的の外部キーをクリックします。
3 外部キーの詳細が表示されます。
4 必要に応じ、主テーブルの選択、外部テーブル フィールドとフラグメントテーブル フィールドの一致、および参照整合性規則の設定を行います。
外部キーを追加するにはの手順
5 から
10 を参照してください。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
►外部キーを削除するには
1 Table Editor の[外部キー]ページがアクティブであることを確認してください。必要に応じて
外部キーを操作するにはを参照してください。
2 外部キー リスト内の目的の外部キーをクリックします。
3 [削除]をクリックします。
4 削除の確認で[はい]をクリックします。
5 Table Editor でページを変更する前に、[
ファイル]>[
保管]をクリックするか、または
をクリックします。
[SQL ビュー]のタスク
►SQL ステートメントをコピーするには
2 カーソルを目的のステートメント ビュー、CREATE ステートメントまたは ALTER ステートメントに位置付けます。
3 マウスを使用して目的のテキストを選択します。マウスの右ボタンを押したまま、目的の行の上をドラッグします。
ヒント: Ctrl+A キーを押すと、テキスト全部を選択することができます。
4 右クリックしてから、[コピー]をクリックするか、Ctrl+C キーを押します。
►SQL ステートメントのビューを最大化または元に戻すには
2 CREATE ステートメント または ALTER ステートメントのビューで、ビューの右上隅にあるアイコンをクリックします。
アイコン | 操作 |
---|
| ステートメント ビューを最大化します。 |
| ステートメント ビューを最大化する前のサイズに戻します。 |