4D v16.3テーブルプロパティ |
||||||||||||||
|
4D v16.3
テーブルプロパティ
テーブルプロパティ
インスペクターパレットを使用してテーブルのプロパティを設定できます。また特定のプロパティについてはテーブルのコンテキストメニューからも設定できます。 トリガーはテーブルに関連する特定のイベントが発生した際に自動で実行されるメソッドです。以下のイベントがあります:
トリガーイベントはインスペクターパレットまたはテーブルに割り当てられたコンテキストメニューを使用して設定できます: 有効にしたいトリガーにチェックします。 テーブルのトリガーには、ストラクチャーエディターのテーブルインスペクターパレットで編集...ボタンをクリックするか、テーブルのコンテキストメニューからメソッド編集...サブメニューを選択します。トリガーに関する情報は“4Dメソッドのタイプ”を参照してください。 注:
メソッドエディターに記述したトリガーは、選択したイベントが検出されたときにのみ実行されます。 アピアランスや一般的な振る舞いを指定するために、テーブルごとに異なる属性を設定できます。 このオプションを使用して、アプリケーションモードおよびプラグインからテーブルを見えなくできます。このオプションはユーティリティテーブルや、一時的に使用しないテーブルに対して使用できます。 テーブルを非表示にすることで、アプリケーションモードのすべてのエディター上やいくつかのダイアログボックスでそのテーブルとフィールドが非表示になり、ユーザーがテーブルに対して行うことのできる処理を制限できます。 アプリケーションモードの関連するエディターやダイアログボックスは以下の通りです:
これらのエディターそれぞれで、ユーザーはテーブルやそのフィールドを見たり選択したりすることはできません。例えばレポートやラベルに非表示テーブルのフィールドを含めることはできません。 注: これらのエディターを使用する際、ユーザーは設定をディスクファイルに保存することができます (例えば作成したクエリや並び替え設定)。その設定ファイルが使用される場合、設定が作成された後に非表示にされたテーブルやフィールドは、あとの操作でも使用することが可能です。さらに、ユーザーはフォーミュラエディターダイアログボックスに非表示テーブルやフィールド名をタイプ入力することが可能です。 非表示テーブルとフィールドはストラクチャーエディターウィンドウ内でイタリックで表示されます。 テーブルイメージごとにカラーを割り当てることができます。カラーを使用すると、大きなデータベースストラクチャーでグループを視認しやすくできます。例えば顧客や顧客にリレートするすべてのテーブルに同じカラーを設定し、在庫や在庫にリレートするすべてのテーブルに別のカラーを割り当てることができます。 注: 個々のフィールド (参照) やリレーション (定義参照) にカラーを割り当てることもできます。 テーブルにカラーを設定するには、テーブルを選択し、以下の方法でカラーを選択します:
自動オプションを使用すると、テーブルのデフォルトカラーが使用されます。 このオプションを使用すると、DELETE SELECTIONコマンドを使用して選択したレコードを削除する際の動作を最適化できます。 4Dはレコードのセレクションを削除する際、レコードマーカーも削除します。レコードマーカーはそのレコードに関連する情報を含む、レコードに添付されたヘッダーです。マーカーとレコード両方を削除するのは、レコードだけを削除するよりも時間がかかります。特定のケースのためにレコードマーカーを自動では削除しないように設定できます。 このオプションを使用して希望する削除のタイプを設定できます。DELETE SELECTIONを使用して実行される大量のセレクションの削除を加速するために、 レコードを完全に削除オプションの選択を解除できます。そうするとレコードマーカーは削除されなくなります。このオプションをプログラムで設定することはできません。 このオプションがチェックされていると、4Dはテーブルのレコードを複製するために必要な情報を生成します (特にテーブルの主キーに基づきます)。レコードの複製機能は2つあるいはそれ以上の4Dデータベース間でのデータの同期を可能とし、セキュリティを高めます。 オプションを有効にしたら、特定の4DのSQLランゲージコマンドやHTTPプロトコルを使用して複製メカニズムを実装しなければなりません。このオプションと複製メカニズムに関する詳細はSQLを使用した複製を参照してください。HTTPを使用した複製に関する情報はURL 4DSYNC/を参照してください。 デフォルトで、このオプションはチェックされていません。このオプションを利用するには、複製するテーブルに対して主キーを設定しなければなりません。そうでなければこのオプションをチェックすることはできません。4Dはストラクチャーエディターで直接テーブルの主キーを設定できます。 (後述)。 このオプションはそのテーブルが4Dデータベースへと送られる4D Mobileリクエストのコンテキストにおいて公開されるかどうかを管理します。デフォルトでは全てのテーブルがREST経由で4D Mobileに公開されています。 セ キュリティ上の理由から、4D Mobile要求に対してデータベースの一部のテーブルのみを公開したい状況もあるでしょう。例えば、[Users]というテーブルを作成しその中にユー ザー名とパスワードが保存されていたとしたら、そのテーブルは公開しない方が賢明でしょう。 テーブル(あるいはそれに含まれるフィールド全て)を公開したくない場合は、そのテーブルの4D Mobileサービスで公開のオプションのチェックを外しましょう。 注: このオプションは、テーブル内の個別のフィールドレベルで設定する事ができます。フィールドプロパティ を参照して下さい。 このオプションは "4D Mobile" 機能のコンテキストの中でも使用されます。詳細な情報に関しては、 4D Mobile のマニュアルを参照して下さい。 このオプションは、作成された全ての新しいテーブルと変換されたデータベースにおいては、デフォルトでチェックがされています。 テーブルのデータに対して行われたオペレーションを、全てデータベースのログファイル(作成時)に含めたい場合にはこのオプションにチェックを入れて下さい。このオプションは一般的に、ほとんどのテーブルにおいてチェックされるべきものです。しかしながら、最適化の観点から、例えばデータをインポートするために一時的に使用するテーブルなどではチェックを外すこともできます。 注: このオプションはテーブルがプライマリーキーを持っていない場合にはグレーになって選択することができません。 このオプションは、データベースがログファイルを使用する場合には、そのテーブルのデータがログに記録されなければならないという指示にすぎず、データベースレベルでのデータログ処理そのものを有効化するスイッチではないということに留意して下さい(詳細はログファイルの管理を参照して下さい)。 必要要件を満たしていない場合は、ログファイルに含めるのオプションの横に警告アイコンが表示されます。 このアイコンが表示されている限り、データログは有効化されていません。この警告にマウスオーバーすることで警告の原因を調べることができます: 以下のメッセージのいずれかが表示されます:
インスペクターパレットのコメントエリアにはテーブルに関する追加の情報を格納できます。このコメントはすべての開発者が利用できます。 インスペクターパレットのSQLエリアにはスキーマメニューと情報エリアがあります。
プライマリーキーは、テーブル内のレコードを個別に識別するために使用されるフィールドを指定します。4Dテーブルのレコードの複製(SQLを使用した複製を参照して下さい)とデータログ機能を使用する(ログファイルの管理を参照して下さい)ためにはプライマリーキーを設定しなければなりません。 ストラクチャーエディターのコンテキストメニューを使用して、直接プライマリーキーを作成/編集/削除することができます。 注: プライマリーキーは、SQLランゲージにてPRIMARY KEY節のあとカラムのリストを記述することでも作成することができます(詳細な情報は 4D SQL Reference Guide 内の主キーを参照して下さい)。 プライマリーキーフィールドは、データの整合性を保証するために常に細心の注意で管理すべきものです。具体的には、プライマリーキーフィールドは以下のルールを遵守する必要があります:
プライマリーキーフィールドを変更することは、たとえ4Dが特殊な場合に対して許可しているとしても、変更しないことが強く推奨されます。どうしてもプライマリーキーフィールドを変更しなくてはいけない場合(例:マイナンバーをプライマリーキーとして指定してしまい、誤った番号を入力してしまった、等)でも、変更する代わりにカレントのプライマリーキーを無効化(削除)して自動割り当てをつけた新しいフィールドを追加してプライマリーキーフィールドとして使用する方が望ましいです。 プライマリーキーフィールドは、倍長整数型がUUIDフォーマット(文字型)が選べます。多くの場合、自動UUIDオプションを有効化したUUIDフォーマットの方が推奨されます。倍長整数型の方が使用するディスク容量が小さいのですが、UUIDには他の多くの利点があります。例えば、独立したデータベースの統合が容易であったり、データの読み込み/書き出し、精巧なミラー/複製戦略の実装、あるいは外部システムとの同期、などにおいて有利です。 ストラクチャーエディターからプライマリーキーを作成するためには、以下の手順に従って下さい:
プライマリーキーは直ちに作成されます。プライマリーキーに含まれるフィールドはエディター上では下線が引かれ、インスペクターのSQLの詳細にはPRIMARY KEYのキーワードが入ります。 既にレコードが存在するテーブルに主キーを作成した場合(既存フィールドを使用、あるいは新規に追加した場合)、4Dは存在している全ての値の適合性をチェックするか、あるいは自動的にアップデート操作を実行します:
注: プライマリーキーに所属するカラムは、ヌル値を受け付けません。 テーブルからプライマリーキーを削除するためには、以下の手順に従って下さい:
確認のダイアログボックスが表示されます。プライマリーキーを削除するためにはOKをクリックします。 4D v14 以降、新しく作成されるテーブルには全てデフォルトでプライマリーキーが含まれています: このフィールドは、デフォルトで名前が "ID" の倍長整数型のフィールドであり、以下の属性を持ちます:
注: 4Dアプリケーションの設定のストラクチャーページ にて、プライマリーキーのデフォルトの名前と型を変更することができます。 このフィールドはそのまま使用することもできますし、必要に応じて名前やプロパティを変更する事もできます ( 例えば UUID フィールドを使用する等 )。また、他のフィールドをプライマリーキーとして使用する場合はプライマリーキーを削除することはできます。 ただし、全ての 4D テーブルに最低一つずつプライマリーキーを用意しておくことが強く推奨されます。 注: デフォルトのプライマリーキーは、SQL CREATE TABLE コマンドを使用して作成されたテーブルやデータベースにインポートされたテーブルには追加されません。
参照
|
プロパティ
プロダクト: 4D
履歴
タグ primary key, replication ARTICLE USAGE
デザインリファレンス ( 4D v16) |
||||||||||||