エディタ
エディタはオブジェクトやデータ型の属性、パラメータを変更するために使います。
オブジェクトをダブルクリックすると、そのオブジェクトに対応したエディタが開きます。
テーブル・エディタ
テーブル上でダブルクリックするか、テーブル上のポップアップメニューでEdit Objectを選択すると、テーブルエディタが開きます。DB-Model パレット上のテーブル名でも同じ操作でテーブルエディタが開きます。
テーブルエディタの使い方
テーブルエディタは主に下記のように使用します。
I.) モデル上に新しくテーブルを作ります。テーブル上でダブルクリックし、テーブルエディタを呼び出します。
テーブル名にフォーカスを移して、新しいテーブル名を入力します。その後、Enterを押します。
II.) フォーカスはテーブルエディタ上のColumnの最初の行に移ります。
最初の行の列名はid+テーブル名となっています。違う名前にしたい場合は新しい列名を入力し、Enterを押します。
III.) 次の行で列名を入力しEnterを押します。これを全ての列で繰り返します。
このときは列のデータ型については気にしないでください。このため、全ての列は初期設定のデータ型となります。
IV.) 全ての列を入力したら、Escを押して列名編集モードから抜けます。
V.) データタイプパレットから設定したいデータ型を最初のコラムのデータ型にドラッグします。パラメータエディタがPopupした場合は、データ型を入力します。例) VARCHAR(___)
この作業をすべてのカラムに対して行います。
VI.) プライマリーキーを設定します。カラム名の左にあるアイコンをクリックすると、そのカラムがプライマリーキーに追加され、アイコンが変わります。もう一度クリックすると、プライマリーキーが解除され、元のアイコンに戻ります。
VII.) 追加機能として、インデックスの追加・テーブルオプション・初期インサートとテーブルコメントを使うことができます。
![[テーブル エディタ]](images/docs/editors/editortable.gif)
The Table Editor
テーブル設定
テーブル名
Table Nameには現在のテーブル名が表示されます。
Enterキーを押す、またはTable Nameの編集を終了した場合にテーブル名と予約語をチェックします。テーブル名が予約語に含まれていた単語と一致した場合は、テーブル名は自動的に別の名前に変更されます。
テーブルプレフィクス
MySQLではDBを指定するためにTable Prefixをつけることができます(db_name.tbl_name)。
この機能を使うと、ひとつのモデルで複数のDBを管理することができます。Table PrefixはOption - Modelで設定できます。
テーブルタイプ
MySQLは複数のテーブルタイプをサポートしています。最もよく使われるのはMyISAMで、デフォルトではこれが使用されます。
InnoDBもサポートされており、このタイプでは列Lockによりトランザクションをサポートしています。
ウィークエンティティ
テーブルがn:mテーブルのときに、[is n:m Table]チェックボックスをチェックします。
テーブルカラム
カーソルキーを使うことでColumn Name, Datatype,Default Value上のフォーカスを切り替えることができます。同様にカラムを切り替えることもできます。
Enterキーを押すと、フォーカスのある項目の設定を変更できます。
Datatype Palette上のデータ型をマウスでカラム上にドラッグすることでデータ型を変更できます。ダブルクリックするとデータ型のパラメータを変更できます。
NOT NULLフラグ、Autoinclementフラグ,Columnオプションはマウスでクリックすることで変更できます。
![[テーブル カラム]](images/docs/editors/editortablecolumns.gif)
The Table Columns
新たにカラムを追加するには、カラム名上でPageDownキーを押します。すると、カーソルが最後のカラムの下の列に移動しますので、追加するカラムの名前を入力します。
新たにカラム名を入力した後にEnterを押すと、カーソルが下の行に移動します。
同様にして新たにカラムを追加することができます。
Datatype Paletteから新しく追加したカラムにデータ型をドラッグします。必要ならデータ型のパラメータを入力してEnterを押します。
必要ならNOT NULL,Autoinclement,Column Optionを設定します。
テーブルインデックス
すべてのテーブルに対し、インデックスを定義できます。インデックスの数に制限はありません。PRIMARYインデックスは自動的に作成され、削除はできません。
![[インデックス リスト]](images/docs/editors/editortableindexlist.gif)
The Indices List
新たにインデックスを追加するには、Index Typeを選択後、+ボタンをクリックします。その後、インデックス名を入力すれば完了です。
PRIMARYタイプのインデックスは手動で作成はできません。PRIMARYタイプのインデックスはPRIMARYインデックスだけでほかのインデックスはないためです。
インデックスリスト中でインデックスを選択し、消しゴムボタンをクリックすると選択したインデックスが削除されます。
![[インデックス]](images/docs/editors/editortableindex.gif)
An Index
インデックスにテーブルのカラムを追加するには、Table ColumnをIndex Columnリストにドラッグします。Index Columnリストボックス上のカラムをドラッグ&ドロップするとインデックス上のカラムの順番を変更できます。
Indexからテーブルのカラムを削除するには、Index Columnリスト上の削除したいカラムを選択し、その右側の消しゴムボタンをクリックします。
スタンダードインサート
すべてのテーブルはスタンダードインサート機能を持っています。この機能により作成したテーブルに初期値を設定できます。
シンクロナイズ機能でデータベースが作成された場合もスタンダードインサート機能が実行されます。同様に、SQLクリエート機能によりSQLが出力されたときはスタンダードインサートに対応したSQLが出力されます。
![[スタンダード インサート]](images/docs/editors/editortablestdinserts.gif)
The Standard Inserts
SQLのInsert文を追加するには、マウスの右ボタンをクリックしてスタンダードインサートのポップアップメニューからInsertSQLを選択します。
スタンダードインサートを消去するには、該当するスタンダードインサートの右側にある消しゴムボタンをクリックします。
テーブルオプション
テーブルオプションは、MySQL特有のテーブルオプションを設定する機能です。
詳細は、MySQLのドキュメントにあるテーブルオプション機能を参照してください。
![[テーブルオプション]](images/docs/editors/editortableoptions.gif)
The Table Options
拡張テーブルオプション
拡張テーブルオプションはテーブルオプション機能と同様にMySQL特有のテーブルオプション機能を設定します。
詳細は、MySQLドキュメントのテーブルオプションを参照してください。
![[拡張テーブルオプション]](images/docs/editors/editortableadvoptions.gif)
The Advanced Table Options
コメント
テーブルのコメント欄を選択してコメント情報を入力できます。
![[テーブルコメント]](images/docs/editors/editortablecomments.gif)
Table Comments
リレーションエディタ
リレーションエディタは、リレーション種別・フォーリンキー・参照設定を変更します。
![[リレーションエディタ]](images/docs/editors/editorrelation.gif)
The Relation Editor
リレーション名
リレーションの名前を変更します。
リレーション種別
リレーションの種別を下記から一つ選択できます。
| 種別 | タイトル | 概要 | 例 |
| 1:1 | 1対1 リレーション | ソーステーブルの1行にたいし、対応するテーブルの1行が対応します。 | [customer]と[address]テーブル間のリレーション。一人の顧客にたいし、一つの住所が対応します。 |
| 1:n | 1対多 リレーション | ソーステーブルの1行にたいし、対応するテーブルの複数行が対応します。 | [order]と[orderproduct]テーブル間のリレーション。一つの注文にたいし、複数の製品が対応します。つまり、[orderproduct]内の1行は注文の一部ということになります。 |
| 1:n (Non Identifying) | 1対多 リレーション (FK制約無し) | ソーステーブルの1行にたいし、対応するテーブルの複数行が対応します。ただし、FKがPK内に含まれていない値でも良しとします。 | [payment]テーブルと[order]テーブル間のリレーション。[order]テーブルの各行が[payment]に関連付けられますが、[order]テーブルのPKである[idorder]に対応するFKはありません。 |
| n:m | 多対多リレーション | 多対多リレーションは、常に2つの1対多リレーションにブレークダウンになります。 | |
| 1:1 (Generalisation) | 1対1リレーション | このリレーションはDBDesigner 4では通常の1対1リレーションと同様に扱われます。プラグインの中でこのリレーションを利用するものがあります。 |
透明化
このオプションを使うとリレーションを隠すことができます。リレーションを再度表示するには、モデルパレットで片方のテーブルのリレーションの項目を開き、表示させたいリレーションをダブルクリックします。
すると、リレーションエディターが開くので、オプションを変更します。
フォーリンキー
Foreign Keys項目ではディスティネーションテーブル中の外部キーの項目名の変更とコメントの追加ができます。
これらを行うには、該当する項目をダブルクリックします。
参照設定
Create Reference Definitionチェックボックスをチェックすると、参照設定が有効になります。
参照設定のコンボボックスでdelete,update時の動作を選択できます。
注意:通常のMySQLのテーブルでは参照キー制約はサポートしていません。制約を使いたい場合はInno DBを使う必要があります。
オプショナル リレーション
Optional Relationに切り替えるとリレーションのオプションが表示されます。必要なオプションをチェックします。
コメント
Commentに切り替えるとコメント欄が表示されます。コメント欄はリレーションについてのコメントを追加することができます。
リージョンエディタ
リージョンエディタはリージョンのポップアップメニューから呼び出されます。リージョンエディタでは、リージョン内のテーブルのデフォルトテーブルセッティングを決めることができます。
セッティングを反映させるには、設定したいオプションを選択し右のチェックボタンをチェックします。
![[リージョンエディタ]](images/docs/editors/editorregion.gif)
The Region Editor
リージョン名
リージョンの名前を変更します。
色
全てのリージョンはそれぞれ別の色で塗られます。一覧から色を選択することで、色を帰ることができます。
テーブル設定書き換え
必要なオプションを選びoverwriteのチェックをすることで、それらを反映させます。
コメント
リージョンについてのコメントを書き込めます。
ノート・エディタ
新しく作られたノートの上でダブルクリックするとノートエディタが開きます。ノートには文章を記述できます。

The Note Editor
イメージ・エディタ
イメージをダブルクリックするとイメージエディタを開きます。
![[イメージエディタ]](images/docs/editors/editorimage.gif)
The Image Editor
画像のロード
画像を変更するには、イメージフォルダーボタンをクリックします。ファイル選択ダイアログが開くので、新しい画像ファイルを選択します。
現在、PNGとBMP画像ファイルのみサポートしています。
ストレッチイメージ
Stretch Imageオプションをチェックすると画像のサイズを変更できます。
元のサイズに戻す
サイズを編越した画像を元に戻すには、、Restore Sizeボタンを押します。
元の比率に戻す
サイズ変更によりアスペクトが変わった場合に、Restore Aspeect Rationボタンを押すと元に比率に合わせて画像の高さを変更します。
画像の消去
Clear Imageボタンを押すと、画像を消去します。
データ型エディタ
Datatype Paletteのデータ型をダブルクリックするとデータ型エディタが開きます。
クエリーエディタ
デザインモードからクエリーエディタを開くには、テーブル上で右クリックしポップアップメニューからEdit Table Dataをクリックします。
DBDesigner 4がQuery Modeのときは、クエリーエディタをメインウィンドウ下部に表示します。
適当なテーブルをダブルクリックすると他のエディターを開きます。
DBに接続していないときには、Database接続代ログが表示されます。
新規に接続を作成するか、すでにある接続を選択してクリックすると、DBに接続します。
![[クエリーエディタ]](images/docs/editors/editorquery.gif)
The Query Editor
メインエリア
クエリーエディターはSQLコマンドエディタとDataGridに二分割されています。
SQLコマンドエディタには、SQL文を入力します。Data GridはSQLを実行した結果を表示します。
SQLコマンドエディターはSQLコマンドStorage Treeとして拡張されています。Storage Treeはモデル中にSQLコマンドを格納し、ヒストリー機能を実現します。
Data GridにはBLOBエディターが含まれています。BLOBエディターはBLOBフィールド上のデータの変更、読み込み、保存が行えます。
エリアの表示On/Off
Queryエディターがデザインモードから開かれた場合やクエリーモードでテーブルをダブルクリックした場合は、Data Gridのみ表示されます。SQLコマンドエディターを表示するには、右側のSQLボタンをクリックします。
SQLコマンドStorage TreeはSQLコマンドエディタの右のツリーIconをクリックすると表示されます。
BLOBの右のボタンをクリックするとBLOGフィールドを編集できます。