
ERMaster is GUI editor for ER diagram.
It runs as Eclipse plug-in.
It can be done graphically to making ER diagram, printing ER diagram, exporting the DDL from ER diagram, etc. .
Moreover, importing from DB, management of the group, and the historical management, etc. are supported.
ERMaster is being developed with Eclipse3.5 now.
We are occasionally confirming operation by 3.2 / 3.3 / 3.4 .
It corresponds to the following data bases now.
-MySQL
-Oracle (developing)
-DB2 (developing)
-PostgreSQL
-HSQLDB (developing)
-SQLITE (developing)
-SQLServer (developing)
It is comparatively possible to use DB which are not developing with stability,
though it doesn't completely correspond to those DB.
Please add following URL in
[Help] -> [Softward Updates] -> [Find and Install...] -> [Search for new features to install]
[New Remote Site...] from the menu of Eclipse.
http://ermaster.sourceforge.net/update-site/

Push [Finish] button while selected for added URL.

Put the check to [ERMaster], and push [Next] button in the Update dialog.

Execute the installation according to the displayed message.



After restarting Eclipse
If [right-clicks in the project] -> [New] -> [other...] -> [ERMaster] is added, it is a success.


The ERMaster editor starts by default when the file with extension "*.erm" is opened by double-clicking.
When you want to make the file newly,
select [right-clicks in the project] -> [New] -> [other...] -> [ERMaster].


Input the file name, and select the database system to be used after the wizard opens.
(Even after making the file, it is possible to change the database system. )


The file is made when the [Finish] button is pushed, and the editor starts.

The Eclipse view that can be used with ERMaster is the following.
- Editor view
- Outline view
- Problem view
- Task view
- Property view

Moreover, when the editor has been selected, the icons that can be used are displayed in the toolbar.

Main veiew of ERMaster.

ER diagram is drawn in this view. The palette is displayed on the left side.
The tab of each [category] is displayed below.
The list of the object is displayed in the upper side in the outline view,
and in the lower side, the whole image of ER diagram is displayed as thumbnail.

The problem that present ER diagram has is displayed in the problem view.
The content of the problem view is not updated only by changing data, and updated by [saving] the file.

The content that the manufacturer is describing as a task is displayed in the task view.
The task can be registered by describing the description that starts by "// TODO"
in [Description] field of [Table], [Column], etc.
The content of the task view is updated by saving the file just like the content of the problem view.

The property of the object that has been selected now is displayed in the property view.
The displayed content might not stand so much in the post because there is an alone not cervine yet now.
This view might be so useless, because information displayed in this view is still little now.
When the campus is clicked, a present database is displayed.
You are able not only to confirm the value but also to change the value in the property view.

It is possible to save the file by [Ctrl] + [S] or [File] -> [Save] in the menubar.

"*.erm" file is XML form.
It is possible to edit it directly by opening with the text editor.


Click the [New Table] tool in the palette of the ER editor.
And when becoming a selective state, click an arbitrary place of the canvas.
Click the [New Table] tool.

Click the canvas.

[Table Information] dialog opens when the table is double-clicked.
The table name and the columns can be edited by this dialog.

Right-clicks the table, and select [Delete] in the popup menu.
It is possible to delete it by even pushing the [Delete] icon in the toolbar
or [Delete] key with the table has been selected.
Select [Delete] in the popup menu.

[Delete] icon in the toolbar

[Column Information] dialog opens when the [Add] button is pushed
in [Table Information] dialog.
When 'Physical Name', 'Logical Name', 'Type and length', 'Constraint',
'Description', and 'Default value' are set in this dialog, and [OK] is pushed,
it is reflected in [Table Information] dialog.
When [OK] is pushed in [Table Information] dialog, the column is added to the table.
Push [Add] button in [Table Information] dialog.

[Column Information] dialog.

Reflected in [Table Information] dialog.

Columns are added to the table.

To edit the column, select the column and push [Edit] button.
When 'Physical Name', 'Logical Name', 'Type and length', 'Constraint', 'Description', and 'Default value'
are changed in opened [Column Information] dialog, and [OK] is pushed,
it is reflected in [Table Information] dialog.
When [OK] is pushed in [Table Information] dialog, the column of the table is changed.
Select the column and push [Edit] button in [Table Information] dialog.

Edit in [Column Information] dialog.

Reflected in [Table Information] dialog.

The columns of the table are changed.

The idea of [word] has been introduced into the column.
Please see Management of word for details.
To add the culumn with another word, set the word pull-down at the blank.
To delete the column, select the column and push [Delete] button.
When [OK] button is pushed after it is reflected in [Table Information] dialog,
the column is deleted from the table.
Select the column and push [Delete] button in [Table Information] dialog.

Reflected in [Table Information] dialog.

The columns of the table are changed.

To add constraints such as primary key, unique key, and the NOT NULL to the column,
check the check box of Primary Key, NOT NULL, and UNIQUE respectively in [Column Information] dialog.
[Column Information] dialog is opened by selecting the column to be changed
and pushing [Edit] button in [Table Information] dialog that is opened when the table is double-clicked.
Select the column and push [Edit] button in [Table Information] dialog.

Edit in [Column Information] dialog.

To set the constraints other than a primary key, NOT NULL, and a unique key,
describe it in [Detail] tab of [Column Information] dialog.
For instance, to set the CHECK constraint to the column, it makes it as shown in the following figure.

The setting of the constraint name of a primary key and complex unique key are done
in the [Constraint] tab of not [Column Information] dialog but [Table Information] dialog.
Double-clicking the table, and select the column to which you want to set [Default value],
and push [Edit] button.
When [Default value] is changed, and [OK] is pushed, it is reflected in [Table Information] dialog.

When [OK] is pushed, it is reflected in the table.

Double-clicking table, and select the column to which you want to set [Description],
and push [Edit] button.
When [Description] is changed, and [OK] is pushed, it is reflected in [Table Information] dialog.

When [OK] is pushed, it is reflected in the table.

The order of the column can be changed with selecting the column that is wanted to change,
and pushing [Up] or [Down] button in [Table Information] dialog.


Complex unique key is added to the table in [Complex Uniqu Key] tab of [Table Information] dialog.
Check the check box of target columns, and push [Add] button in [Complex Unique Kye] tab.

The comlex unique key is added, and the added comlex unique key is displayed to the pull-down.

To change the pair of the columns that composes the complex unique key,
select the complex unique key to be edited by the pull-down
and change the status of checkbox, and push [Update] button.

The pair of the columns that composes the complex unique key is updated,
and the display of the pull-down is updated.

To delete the complex unique key,
select the complex unique key to be deleted by the pull-down and push [Delete] button.

The Complex unique key is deleted, and it disappears from the pull-down.

Neither the update nor the deletion to the complex unique key referenced by the foreign key can be done.
When you select the complex unique key referenced by the foreign key by the pull-down,
[Update] and [Delete] button become nonactive.

The index is added to the table in [Index] tab of [Table Information] dialog.
When [Add] button is pushed in [Index] tab, the [Index Information] dialog is displayed.
[Double-clicking the table]. Select [Index] tab. Push [Add] button.

[Index Information] dialog.

Input [Index Name], move all columns which compose the index to [Index column].
The order of index column can be changed by pushing [Up] or [Down] button.

When [OK] is pushed, it is reflected in [Index] tab of [Table Information] dialog.

When [OK] is pushed, It is added to [Index] of [Outline] view.

Double-click the table, and select [Index] tab.
Select the upper radio button of the index that is want to change,
and push [Edit] button.

When it is edited in [Index Information] dialog, and [OK] is pushed,
it is reflected in [Table Information] dialog.


When [OK] is pushed, It is reflected to [Index] of [Outline] view.

Double-click the table, and select [Index] tab.
Select the upper radio button of the index that is want to delete,
and push [Delete] button.

The index is deleted from [Index] tab.

When [OK] is pushed, It is reflected to [Index] of [Outline] view.

The relation can be made by pushing the button on the palette.
The line of the relation becomes a straight line that connects the middle point of each table by default.
When the column that can be referenced doesn't exist, the relation cannot be made.
The column that can be referenced indicates the following either.
- Primary Key (or Complex Primary Key).
- Complex unique key
- Unique Key
It is not possible to select the referenced column excluding by [Relation with existing column].
It sequentially looks for the corresponding one from the above-mentioned candidate,
and what is found first is automatically decided as a referenced column.
Execute [Edit relation (Setting of constraint name, reference operation, referenced column, and multiplicity)]
when you want to change the referenced column.
Click [1:N Relation] tool on the palette.

The mouse pointer is changed to the one for the relation,
so after clicking the table for one, click the table for N.


The foreign key column for the relation is added to the table for N, properly edit it.
Moreover, a related column is displayed with the color by selecting the relation.

[1:N Relation] tool automatically adds the foreign key to the table for N.
When the column for foreign key already exists as a usual column in the table for N,
and if you want to make only the relation, use not [1:N Relation] tool
but [Relation with existing column] tool.
Click [Relation with existing column] tool on the palette.

The mouse pointer is changed to the one for the relation,

The dialog to set the correspondence of the referenced column and the foreign key column is displayed.

When the correspondence of the referenced column and the foreign key column is set and [OK] is pushed,
the relation is made.


Click [N:N Relation] tool on the palette.

The mouse pointer is changed to the one for the relation,
so after the table for one is clicked,

the table for the other is clicked.

The relation table is made, so properly edit it.

Click [Self Relation] tool on the palette.

The mouse pointer is changed to the one for the relation,
so click the table for which you want to make the self-relation.

The foreign key column for the relation is added to the table, properly edit it.

Double-click the line for relation.

[Relation Information] dialog is displayed, so edit necessary parts.
At [Referenced Column] field only the column that can be referenced is displayed.
The column that can be referenced indicates the following either.
- Primary Key (or Complex Primary Key).
- Complex unique key
- Unique Key

When [OK] button is pushed, it is reflected in the relation.

Click the line for relation, and right-click it that became selective state.
Select [Delete] in the pop-up menu.

The confirmation dialog whether to delete the column set to the foreign key
at the same time is displayed.

The foreign key is deleted at the same time as relation when [Yes] is chosen by the confirmation dialog.

When [No] is chosen by the confirmation dialog, only the relation is deleted,
and the foreign key remains as a usual column.

The addition, the edit, and the deletion for the view look like
the addition, the edit, and the deletion for the table.
Click the [Create View] tool in the palette of the ER editor.
And when becoming a selective state, click an arbitrary place of the canvas.
Click the [Create View] tool.

Click the canvas.

[View Information] dialog opens when the view is double-clicked.
The view name and the columns and the sql can be edited by this dialog.

Right-clicks the view, and select [Delete] in the popup menu.
It is possible to delete it by even pushing the [Delete] icon in the toolbar
or [Delete] key with the view has been selected.
Select [Delete] in the popup menu.

Because the management of the column of the view is similar to the management of the column of the table,
refer to Management of column.
However, the constraint such as primary key, NOTNULL, unique key
and the default value cannot be set to the column of the view.
Moreover, because information on the column set here is used only to display it in ER diagram
and in the DB definition document on the Excel/HTML form,
it is not reflected in DDL at all.
[Note] can be added to ER diagram.
Click [Create Note] tool of the palette.

The mouse pointer is changed, so click an arbitrary place of the canvas.

If [Note] is double-clicked, the direct edit becomes possible.

To connect the note to the table, click [Connect Note] tool of the palette,
and click the note and the table.

[Category] is a tool to express the classification of some tables.
The table that belongs to two or more categories can be expressed.
If [
] icon of the palette is selected,
and the mouse is changed, click the canvas,
and without releaseing the mouse button select the tables that you want to have them belong to the category,
and release the mouse button.

The category is added at the clicked point.
When the category is added, the tab for the category is added under the canvas.

Only the tables that belong to the category are displayed in the tab of each category.
When the tab of a category is selected with three categories exist as shown in the figure below,

only the tables that belong to the category are displayed.

The category can be added by inputting the category name in [Category] dialog
displayed by [right-clicks on the canvas] -> [Category] -> [Management of category],
and pressing [Add] button.

Input the category name, and push [Add] button.

The category name can be changed.
[right-clicks on the canvas] -> [Category] -> [Management of category]

Make the category to be edited a selective state.

Edit the category name, and push [Update] button.

The category name displayed on the canvas and the tab name are changed.

Right-click in the category, and select [Delete] by the pop-up menu.
It is possible to delete it by even pushing [Delete] icon of the toolbar
or by pushing [Delete] key with the category has been selected.


The category can be deleted by selecting the category to be deleted and
and pressing [Delete] button in [Category] dialog displayed by
[right-clicks on the canvas] -> [Category] -> [Management of category].

The table can be added to the category by dragging the table in the area of the category.


The table can be added to the category by even completely enclosing the table
by dragging the frame of the category and expanding the category area


Moreover, the table can be added to the category by selecting the category and
checking the right side tables, and even pressing [OK] button in [Category] dialog
displayed by [right-clicks on the canvas] -> [Category] -> [Management of category],

The table can be removed from the category by dragging the table,
and removing from the area of the category completely.


The table can be removed from the category by even selecting the category,
and removing the check on the right side tables, and even pressing [OK] button in [Category] dialog
displayed by [right-clicks on the canvas] -> [Management of category],

In ERMaster, the one that "Logical Name", "Physical Name", "Type", "Length", "Decimal", and "Description"
were grouped is expressed by [Word].
The column of each table is made from [Word], and "Constraint" and "Default value" are added.
Sets of [Word] are assumed [Dictionary], and displayed in [Outline] view.

[Word] cannot be added only by it.
When the column was added if [Word] having same "Logical Name", "Physical Name", "Type", "Length", "Decimal", and "Description"
had not been registered yet, [Word] is newly registered automatically.
The table is newly added,

and two columns are added, and [OK] button is pressed.

Two columns are added to the table, and [Word] is registered in [Outline] view.
The tables that use [Word] is displayed under [Word].

When [Word] is edited, the content of the edit is reflected in all columns that use the [Word].
There are two methods of editing [Word].
The first method is a method of editing the column that uses [Word].
When the column is edited, [Word] used is edited at the same time.
Therefore, when you use the same [Word] by two or more columns as shown in the following figure

When you change information by editing the column of one of tables

The column information on the other table is updated at the same time.

If you want to update column information on the only one of tables,
it is necessary to update it to use a separate word.
If the column is edited with selecting empty at [Word] field as shown in the following figure,
a new word with same information is made.

By doing so, two columns that was originally using the same one [Word] can be divided
into the column using former [Word] and the column using the [Word] newly added.

The second method is a method to editing the word by [Word Information] dialog
that is opened by double-clicking [Word] icon [
] under [Dictionary] of outline view.
Outline view

[Word Information] dialog opens, and [Word] can be edited.

There is no operation that deletes [Word].
[Word] which is not used with any column is automatically deleted.
The column with information of the [Word] can be added to the table by
drag and dropping the [Word] icon[
] of [Outline] view
to the table of the canvas.


The columns can be registered, edited, deleted with the group as a unit,
by making the group that collects some columns.
For instance, if columns such as "UPDATED_DATE", "REGISTRATION_DATE", "UPDATED_USER", and "REGISTRANT_USER"
that all tables similarly have are registered as a group,
it becomes very easy to add four columns for each table.
However, note that it is impossible to making the foreign key that refers to the column of the group,
or selecting the column of the group as the member of a complex unique key.
Right-click in [Group] of [Outline] view,
and select [Management of group] from the displayed pop-up menu.

[Manage of group] dialog opens, so push [Add group] button.

It becomes possible to input group information.
Input the group name, and push [Add] button.

Input column information in the displayed [Group Column Information] dialog
and push [OK] button.

Column information is added to the group.
Add necessary columns to the group by the same procedure.
When the addition of the columns are finished, push [Update] button.

When [OK] button of [Management of group] dialog is pushed, the added groups are reflected.

Moreover, the group management dialog can be opened even by pushing [Management of Group]
button in [Table Information] dialog opend by double-clicking the table

Double-click the group to be edited in [Group] of [Outline] view.

[Group Information] dialog opens, so select the column to be edited and push [Edit] button.

When [Group Column Information] dialog is displayed,
edit the content, and push [OK] button.

When the edit of all columns is finished, push [OK] button.

It is reflected in the table.

Select the group to be deleted from [Outline] view,
and right-click it and select [Delete] menu.

The group is deleted, and the group is removed from all tables that use the group.

Drag the group name displayed in [Outline] view and drop to the table.


Moreover, the group can be added even by the following method.
Selected the group by [Group] pull-down field in [Table Information] dialog
opend by double-clicking the table,

and click [Add the group item to the table] button.

The group is added to the table when information is fixed by pushing [OK] button.


It is possible to removing [Group] from the table in a similar way to removing a usual column.
Selected the group that wants to be delteted and push [Delete] button in [Table Information] dialog
which is opend by double-clicking the table.

When the group is deleted, fix the information by pushing [OK] button.


It is possible to register the group that wants to be shared by two or more projects as a [Global group].
When the .erm file is newly created, the file contains the group registered as a [Global group] from the beginning.
To manage a global group, select [Window] -> [Preferences...] from the menu of Eclipse,
and select [ERMaster] in [Preference] dialog, and push [Management of global group] button.

The group is added/edited/deleted in the same way as in usual group management.

It is possible to add a group to global groups by selecting the group and pushing
[Add to global group] button in [Group Management] dialog of a usual group.


The group added to the table is expanded and all columns are displayed in default.

By selecting [Expand group] in the pop-up menu displayed by right-clicking on canvas,

the group will be folded, and only the group name comes to be displayed.

The addition, the edit, and the deletion of the trigger are done in [Outline] view.
Right-click [
] trigger icon in [Outline] view,
and select [Add Trigger] by the pop-up menu.

[Trigger Information] dialog opens, so input the name and SQL of the trigger and push [OK] button.

The created trigger is added to [Outline] view.

Double-click the trigger to be edited from the triggers of [Outline] view.

[Trigger Information] dialog opens, so input necessary information and push [OK] button.

The trigger is edited, and it is reflected in [Outline] view.

Right-click the trigger to be deleted from the triggers of [Outline] view,
and select [Delete] of the pop-up menu.

The trigger is deleted, and it is reflected in [Outline] view.

The addition, the edit, and the deletion of the trigger are done in [Outline] view.
The created sequence cannot be related to the table.
Right-click [
] sequence icon in [Outline] view,
and select [Add Sequence] of the pop-up menu.

[Sequence Information] dialog opens, so input necessary information and push [OK] button.

The created sequence is added to [Outline] view.

Double-click the sequence to be edited from the sequences of [Outline] view.

[Sequence Information] dialog opens, so input necessary information and push [OK] button.

Right-click the sequence to be deleted from the sequences of [Outline] view,
and select [Delete] of the pop-up menu.

The sequence is deleted, and it is reflected in [Outline] view.

[Management of tablesapece] is being developed now.
[Edit all attributes] is being developed now.
Copy the selected tables by [Ctrl]+[c],
and paste the copied tables by [Ctrl]+[v].
Copy by [Ctrl]+[c]

Paste by [Ctrl]+[v]

Copy/Paste of the table is able to be done from not only current file,
but also other files.
Copy by [Ctrl]+[c]

Open another file, and paste by [Ctrl]+[v]

It is possible by drag and drop to move the column to another table.
Select the column that you want to move.

Drag and drop to the destination table.

When you cannot select the column,
please confirm [
] of the toolbar is not locking.

The table can be moved by dragging the table directly.
The whole image is displayed under the outline view, and refer to it.
Moreover, refer to [Change scale] to expand figure or to reduce.
In default, to enable [Move column], it is necessary to select the parts other
than the column of the table to select the table.
If it is difficult to select the table, by putting [
] of the toolbar
into the state of the lock, even if the column part is clicked, the table comes to be selected.

When you want to move a table besides the canvas displayed now,
Screen scrolls by dragging the table to the edge of the canvas and stopping at the point
without releasing the mouse button.
Draggin the table

Screen scrolls by stopping at the point without releasing the mouse button.

Drop at the point that you want to move to.

The tables can be lined up by pushing the following icons in the menubar
with two or more tables selected.
The table treated as a base is a table selected at the end.
For instance, selecte two or more tables that want to put the upper part together and
click [
] icon,

so the tables are lined up.

The following icons are prepared to line up tables.
-
:The left end of the tables that have been selected are put together on the same position.
-
:The right end of the tables that have been selected are put together on the same position.
-
:The vertical center line of the tables that have been selected are put together on the same position.
-
:The top of the tables that have been selected are put together on the same position.
-
:The bottom of the tables that have been selected are put together on the same position.
-
:The horizontal middle line of the tables that have been selected are put together on the same position.
-
:The size of the tables are changed to be the same in width.
-
:The size of the tables are changed to be the same in height.
-
:The interval of the tables that have been selected are vertically evened up.
-
:The interval of the tables that have been selected are horizontally evened up.
To change the size of the table, drag the white point (handle) that is displayed when the table is selected.


After selecting the table,
and selecting [Self adjustment of size] by the pop-up menu which is displayed by right-clicking,
the size of the table can be adjusted by present volume of data.


When the table is selected, and [
] icon of the menubar is pushed,
the color of the table is changed.
Select the table.

When you click the icon of the menubar

The color is changed.

To change the color of [
] icon of the menubar,
push [
] icon on the side of [
] icon,
and select the color by the displayed dialog.

Though the line of the relation becomes a straight line by default,
The connection point to the table can be changed, and the line can be bent.
When a related line is selected, the handle is displayed in connected part of the table.

It is possible to move to an arbitrary place of the table by dragging this handle.

Moreover, when a related line is selected, the handle is displayed at the center of the line.

The line can be bent by dragging this handle.

Moreover, the line is selected, and it right-clicks.
The line can be squarely done by selecting [Right Angle Line] in the pop-up menu.


When you return it to the one when a related line is created,
select the line and right-click it, and select [Back to the default] by the displayed pop-up menu.


The font of the table is changed when the table is selected,
and the value is changed by the font pull-down in the menubar.

Similarly, the fontsize of the table is changed, when the value is changed
by the fontsize pull-down in the menubar,

The display scale of the canvas is changed to scroll the mouse wheel while pushing the [Ctrl] key.
Reduction:25%

Expansion:200%

Moreover, it is possible to change by [
] [
] [
] icon
or the scale pull-down
in the menubar.
It becomes impossible to distinguish the table name when the scale becomes small.
The table name can be displayed with the tooltip for mouse over and the range selection.
Turn on [Tooltip] in the menubar.

The table name is displayed in case of the mouse over.

Even if the range is selected, the table name is displayed.

The grid line is displayed on the canvas by default.
If it is difficult to see figure because the grid line is obstructive,
the grid line can be non-displayed by turning off [Grid] in the toolbar.


The notation of IE and IDEF1X can be selected.
IE notation

IDEF1X notation

It is possible to switch by selecting either from [Notation] of the pop-up menu
which is displayed by right-clicking on the canvas.

The display level of the table on the canvas and the table of the [Outline] view can be changed.
It is possible in both canvas and [Outline] view, displaying the only logical names,
displaying the only physical names, and displaying both of logical and physical names.
For the canvas
It is possible to do by selecting either from [View Mode] in the pop-up menu
which is displayed by right-clicking on the canvas.

For [Outline] view
It is possible to do by selecting either from [Outlines's View Mode] in the pop-up menu
which is displayed by right-clicking on [Outline] view.

The following display levels can be selected with the table in the canvas.
- Only the table name
- Only the table name and the key columns
- Only the table name and the column names
- Display all
It is possible to change by selecting either from [Notation Level] in the pop-up menu
which is displayed by right-clicking on the canvas.

Three designs that can be selected are prepared.
Each image is as follows.
Funny

Frame

Simple

It is possible to change by selecting either from [Design] in the pop-up menu
which is displayed by right-clicking on the canvas.

When physical name of the tables or the columns are set by the small letter as shown in the following figure

It is possible to display it by the capital letter in the display by selecting [Display by the capital letter]
in the pop-up menu which is displayed by right-clicking on the canvas.
Select [Display by the capital letter]

Physical names are displayed by the capital letter.

It is possible to display it as a stamp by setting the property of the project name
and the manufacturer, etc. to ER diagram.
Select [Display the stamp] in the pop-up menu which is displayed by right-clicking on the canvas
to display the stamp.

By selecting [Display the stamp], the stamp is displayed in ER diagram.

You can set the properties displayed in the stamp in [Model Property] dialog
displayed by double-clicking the stamp.

In the [Model Property] dialog, it is possible not only to set the value of the properties prepared by default
but also to add or remove the property.

Information of the properties that is set is reflected in the stamp of figure.

The ER diagram can be made by loading the table definition from the database that exists now.
Create empty ER diagram.

Select [Import] -> [Database] in the pop-up menu which is displayed by right-clicking on the canvas.

[Import from Database] dialog opens, so input necessary information to connect database and push [OK] button.

If it succeeds to connect, then the list of tables and indexes, etc that exist in the database will be displayed,
so check the ones that you want to import and push [OK] button.

ER diagram is made by loading the checked ones.

The ER diagram can be made by loading the table definition from another .erm file.
erm file that another file will be imported to.

erm file that will be imported.

Select [Import] -> [File] in the pop-up menu which is displayed by right-clicking on the canvas.

[Open] dialog opens, so select the erm file to be loaded and push [Open] button.

The list of tables and indexes, etc that exist in the selected file will be displayed,
so check the ones that you want to import and push [OK] button.

The tables and indexes, etc loaded from another erm file are added.

The image, the DB definition document(EXCEL from), the DB definition document(HTML from), the DDL, the dictionary,
and the translation dictionary can be output from made ER diagram.
Made ER diagram can be output to image.
Select [Export] -> [Image] in the pop-up menu which is displayed by right-clicking on the canvas.

The [Save as] dialog opens, so input the file name and push [Save] button.

The message is displayed when succeeding in the output.

The image can be output by three kinds of forms of "*.png", "*.jpeg", and "*.bmp".

The DB definition document can be output from made ER diagram by the Excel form.
Jakarta POI is used for the Excel library.
Select [Export] -> [Excel] in the pop-up menu which is displayed by right-clicking on the canvas.

[Output of the DB definition book] dialog opens, so
push [OK] button with specifying the the template which is used and output file.

The following file is output.

The layout of the output Excel can be edited by making an custom template file.
Refer to Create custom DB definition book template for the method of making the template file.
The DB definition document can be output from made ER diagram by the HTML form.
Select [Export] -> [HTML] in the pop-up menu which is displayed by right-clicking on the canvas.

[Reference for folder] dialog opens, so
push [OK] button, then the folder named [dbdocs] is made under the selected folder.

The files as shown in the following figure are made under [dbdocs].

The generated DB definition document is a design of the Javadoc style.
The template of this design cannot be customized unlike the DB definition book (EXCEL form).

DDL for the database construction can be output from made ER diagram.
Select [Export] -> [DDL] in the pop-up menu which is displayed by right-clicking on the canvas.

[Output of the DDL] dialog opens, so input necessary information and push [OK] button.

Output DDL

When there is incompleteness in the table definition the message dialog is displayed,
but DDL can be output by continuing as it is.

The [word] used in made ER diagram can be output by CSV form.
Select [Export] -> [Dictionary] in the pop-up menu which is displayed by right-clicking on the canvas.

The [Save as] dialog opens, so input the file name and push [Save] button.

The message is displayed when succeeding in the output.

The output form becomes "Physical Name", "Logical Name", "Type", and "Description".

ERMaster has the function of [Translation].
It translates a physical name to a logical name when importing the data from DB.
The translation is done along the translation dictionary.
To use the correspondence of a physical name and the logical name made for a certain database design
even for other database designs, the translation dictionary file can be output from ER diagram.
To output the translation dictionary file from ER diagram,
selecte [Export] -> [Translation Dictionary] in the pop-up menu which is displayed by right-clicking on the canvas.

The [Export translation dictionary] dialog opens, so input the name of translation dictionary and push [OK] button.

The generated dictionary is stored in '$workspace$/.metadata/.plugins/org.insightech.er/translation/',
and can be used from other ER diagrams as a translation dictionary file.


Refer to [Translation] for the usage of the translation dictionary.
It is possible to execute DDL for the table construction directly from made ER diagram to database.
* Because this function delete all content of the database once,
use it only when there is no problem even if the content of the database is deleted.
To export to DB, click [Export to DB] icon of the toolbar.

When ER diagram is imperfect, the error dialog is displayed,
so execute it again after solving the error.

The dialog to specify DB to export to is displayed when there is no problem in ER diagram.

When [OK] button is pushed, all SQL that will be executed is displayed.

If you want to execute only a part of displayed SQL,
make the part to be executed a selective state and push [Execute] button.
Moreover, edited SQL can be executed by editing the displayed SQL and pushing [Execute] button.

When [Execute] button is pushed, the dialog that confirms whether to execute it is displayed,
so push [OK] button.

The following dialog is displayed when succeeding in updating the database.

The following dialog that show the reason of the error is displayed when failing in the update of the database.

It explains the method of making the custom template of the DB definition book here.
Download the standard template prepared with ERMaster.
Select [Window] -> [Preferences] in the menu of the Eclipse.

Select [ERMaster] -> [Template of Definition Book] in the left tree.

push [Download template] button.

[Save as] dialog opens, so save the file in a suitable place.

A standard template is composed of some seats.
The first sheet is a [Cover] sheet.

You may delete the [Cover] seat if unnecessary.
Moreover, the favorite number of seats of favorite name can be added,
if there are firmly attached seat.
These firmly attached seats are left for the generated DB definition document as a firmly attached seat.
The second sheet is a [sheet_index_template] sheet.

This sheet becomes to the list of the sheets of generated Excel,
and it has the links to the each sheet.

The key words that can be used are defined in
[Keyword in sheet_index_template] of [words] sheet.
[Printing character] of [Sheet Name] becomes the genereted sheet name.

The third sheet is [Diagram] sheet to stick ER diagram.

The sheet name of [Diagram] sheet is arbitrary. You may change to another name.
The image of ER diagram is put on the part described [$ER(width, height)].
In this case, the image is expanded and contracted to fit into width and the height specified in ()
with maintaining the fineness ratio of the size of the former image.
It can be described only [$ER] specifying neither width nor height.
In this case, the size of the image is used as it is as for the size.
Contents of each template sheet can be freely edited.
Moreover, an unnecessary template sheet can be deleted.
The template sheet is described by using the key word.
The key word that can be used is defined in the [words] sheet.
Neither each template sheet, the [words] sheet nor the [loops] sheet
exist in the generated DB definition document.
A sheet is made by each table,
and the physical name or the logical name of the table becomes a sheet name.
The key words that can be used are defined in
[Keyword in table_template/category_template/all_tables_template] of [words] sheet.

There is a restriction that it is necessary to describe information on one column by one line.
The part described [$PIDX] or [$LIDX]

is replaced by the matrix table of the index.

Though it is not described in a standard template,
The number is sequentially applied from 1 to the part
where $ORD was described as information on the column.
Use it when the number is necessary.
A sheet is made by each index,
and the physical name of the index becomes a sheet name.
The key words that can be used are defined in
[Keyword in index_template/all_indices_template] of [words] sheet.

There is a restriction that it is necessary to describe information on one column by one line.
The number is sequentially applied from 1 to the part
where $ORD was described as information on the column.

A sheet is made by each sequence,
and the physical name of the sequence becomes a sheet name.
The key words that can be used are defined in
[Keyword in sequence_template/all_sequences_template] of [words] sheet.

A sheet is made by each view,
and the physical name of the view becomes a sheet name.
The key words that can be used are defined in
[Keyword in view_template/all_view_template] of [words] sheet.

A sheet is made by each trigger,
and the physical name of the trigger becomes a sheet name.
The key words that can be used are defined in
[Keyword in trigger_template/all_trigger_template] of [words] sheet.

A sheet is made by each category,
and the name of the category becomes a sheet name.
The key words that can be used are defined in
[Keyword in table_template/category_template/all_tables_template] of [words] sheet.

In the sheet of each category, all tables contained in the category are
described by the content of the template
To describe the header part of the category,
it is possible to specify what number of line it is repeated from
by [First Line] of [category_template] of [loops] sheet.
Similarly, how many space lines is put between one table and the other table
is specified by [Space Line].

Moreover, the sheet where tables not contained in any category were collected is made.
The name of this sheet can be specified by [Sheet Name] of [category_template] of [loops] sheet.
It is a template to describe all columns of all tables.
The key words that can be used are defined in
[Keyword in column_template] of [words] sheet.

The printing character of $SHTN in the key word of the words sheet that can be used with column_template can specify the name of this sheet.
The name of this sheet can be specified by [Printing character] of [$SHTN] in
[Keyword in column_template] of [words] sheet.
It is a template to describe all tables in one sheet.
The key words that can be used are defined in
[Keyword in table_template/category_template/all_tables_template] of [words] sheet.

All tables are described in this sheet by the content of the template.
To describe the header part,
it is possible to specify what number of line it is repeated from
by [First Line] of [all_tables_template] of [loops] sheet.
Similarly, how many space lines is put between one table and the other table
is specified by [Space Line].

The name of this sheet can be specified by [Sheet Name] of [all_tables_template] of [loops] sheet.
It is a template to describe all indices in one sheet.
The key words that can be used are defined in
[Keyword in index_template/all_indices_template] of [words] sheet.

All indices are described in this sheet by the content of the template.
To describe the header part,
it is possible to specify what number of line it is repeated from
by [First Line] of [all_indices_template] of [loops] sheet.
Similarly, how many space lines is put between one index and the other index
is specified by [Space Line].

The name of this sheet can be specified by [Sheet Name] of [all_indices_template] of [loops] sheet.
It is a template to describe all sequences in one sheet.
The key words that can be used are defined in
[Keyword in sequence_template/all_sequences_template] of [words] sheet.

All sequences are described in this sheet by the content of the template.
To describe the header part,
it is possible to specify what number of line it is repeated from
by [First Line] of [all_sequences_template] of [loops] sheet.
Similarly, how many space lines is put between one sequence and the other sequence
is specified by [Space Line].

The name of this sheet can be specified by [Sheet Name] of [all_sequences_template] of [loops] sheet.
It is a template to describe all views in one sheet.
The key words that can be used are defined in
[Keyword in view_template/all_view_template] of [words] sheet.

All views are described in this sheet by the content of the template.
To describe the header part,
it is possible to specify what number of line it is repeated from
by [First Line] of [all_view_template] of [loops] sheet.
Similarly, how many space lines is put between one view and the other view
is specified by [Space Line].

The name of this sheet can be specified by [Sheet Name] of [all_view_template] of [loops] sheet.
It is a template to describe all triggers in one sheet.
The key words that can be used are defined in
[Keyword in trigger_template/all_trigger_template] of [words] sheet.

All triggers are described in this sheet by the content of the template.
To describe the header part,
it is possible to specify what number of line it is repeated from
by [First Line] of [all_trigger_template] of [loops] sheet.
Similarly, how many space lines is put between one trigger and the other trigger
is specified by [Space Line].

The name of this sheet can be specified by [Sheet Name] of [all_trigger_template] of [loops] sheet.
It is possible by [words] sheet not only to defining the key word
that can be used in each template sheet,
but also to changing the character which will be written in the generated DB definition document
by editing the value of [Printing character] corresponding to each key word.
For instance, if you change [Printing character] of [PK] to [#] in [words] sheet,
when the column is a primary key, [#] is written at the position of [$PK]
described in the template sheet.

In this sheet,
what number of line it is repeated from is specified by [First Line] to describe the header part
of a sheet with repetition such as [all_tables_template sheet] [all_indices_template sheet] [all_sequences_template sheet]
[all_view_template sheet] [all_trigger_template sheet] and [category_template sheet].
Similarly, how many space lines is put between one trigger and the other trigger
is specified by [Space Line].
Moreover, the name of each sheet (in case of [category_template sheet] the name of sheet that
collect tables not contained in any category) is specified by [Sheet Name].

To register the made template, push [New...] button in a screen of [Template of DB definition Book].

The file selection dialog opens, so select the made template.

The selected template is added to the list of custom templates.

The registration of the template ends by this.
The registered template comes to be displayed in the template selection pull-down
of [Output of the DB definition book].

It is possible to search to all the data used in ER diagram.
It is possible to search by not only a logical name or a physical name but also a type or a length, etc.
To search, push [Ctrl]+[F] key or select [Find] in the pop-up menu
which is displayed by right-clicking on the canvas.

[Search] dialog opens, so input the string used for the search,
and push [Find All] or [Find Next] button.

The search result is displayed on [Result] tab of [Search] dialog.

To change the range of the search,
after uncheck [All] check box, check the item in [Range of the search] tab

Moreover, the string for the search can be substituted.
Input [Replace Word] and select the item to be substituted from the search result list,
and push [Replace] button.

Though the substituted item disappears from the search result, the tables have been changed.

The state of ER diagram can be saved as a history.
It is possible to compare the present ER diagram and the history, and
to restore it from the saved history.
[Change Tracking] dialog is displayed by
selecting [right-clicks on the canvas] -> [Change Tracking].

Input the content of the change in [Change Tracking] dialog,
and push [Add] button.

The history is added.

The content of [Change Tracking] can be changed.
Select the history that you want to change in [Change Tracking] dialog,
and input the content of the change, and push [Update] button.

The content of the change is changed.

The history can be deleted.
Select the history to be deleted in [Change Tracking] dialog,
and push [Delete] button.

The corresponding history will be deleted.

To compare saved history and present ER diagram,
select the history in [Change Tracking] dialog,
and push [Comparison display] button.

For the table and the note,
tables added compared with history are painted in blue,
tables changed compared with history are painted in green,
tables deleted compared with history are painted in red,
tables without change compared with history are painted in white.
For the column,
columns added compared with history are painted in blue,
columns changed compared with history are painted in red (before changing) and in blue (after changing),
columns deleted compared with history are painted in red.

The column deleted compared with the history are displayed in red,
and the column added are displayed in blue.

To clear this display, push [Comparison reset] button in [Change Tracking] dialog.

To restore from the saved history,
select the history, and push [Display the data of this data] button in [Change Tracking] dialog.

The dialog to confirm whether to save present data as a history is displayed.

It is changed to the selected history data, even if a present history is saved or isn't.

When importing from DB is done, the word translated from a physical name can be used for a logical name.
The dictionary file which is used to translate is necessary to use the function of translation.
However, only the Japanese one is prepared in default as for this dictionary file.
Therefore, only when the locale is japanese, the function of translation is turning on in default.
First of all, it is necessary to prepare the dictionary file to use the
function of translation excluding Japanese.
The dictionary file is described by the following Comma Separated Value.
UTF-8 is used for encoding.
updated_date,AAA
date,BBB
first_name,CCC
last_name,DDD
name,EEE
item,FFF
It is not strict Comma Separated Value. The value to the first comma is assumed to be a physical name,
and the value after it assumes to be a logical name.
The words described in the dictionary are sequentially applied
to replace _*physical name*_ (regular expression) by the logical name.
Therefore, when it is described as stated above, it is translated like
first_name -> CCC
item_name -> FFFEEE
item_ID -> FFFID
Moreover, because it is applied to both the capital letter and the small letter,
ITEM_NAME is translated into "FFFEEE" by similar item_name.
The made dictionary file is registered by [menu] -> [Window] -> [Preferences...] -> [ERMaster] -> [Dictionary for translation].

When two or more dictionary files exist, it is applied sequentially according to the file list.
Therefore, change the order of file properly in consideration of the priority level.

The dictionary file is not used only by being registerd.
Which dictionary files are used by the translation is set in [Translation] dialog.
[Translation] dialog is displayed by right-clicking on the canvas and selecting [Management of translation].

To use the function of translation, check the check box of [Use the function of translation].
(The function of translation is turning off by default excluding a japanese environment)
Next, check the check box of the dictionary file which you want to use to translate.

If the function of translation is turning on, when importing from DB is executed,
the function of translation is automatically used.

When a necessary JDBC driver is not registered at the DB import,
the dialog to set the JDBC driver opens.
When a correct setting is done once, this dialog is never displayed again.

Select [ERMaster] -> [JDBC Driver] in [Preferences] dialog displayed
by selecting [Window] -> [Preferences...] in the menu of Eclipse to change the JDBC driver which is used.

It is possible to print by using a standard function of Eclipse.
select [File] -> [Print...] in the menu of Eclipse.
The print is done with the pages devided by fat lines in the grid lines.
Therefore, if there is a table on page division line as shown in the following figure,
the table extends over two or more paper when printing.

For this case, it is possible to adjust it by setting the expansion reduction
and setting the blank by setting of page.
By setting of page, it is possible to change the direction of print and the size of the paper besides this.
Setting of page is done by [Setting of page] dialog displayed by selectiong
[right-clicking on the canvas] -> [Setting of page].


When the expansion reduction rate etc. are changed by setting of page,
the position of page division lines are changed according to it.

The setting of this ER diagram can be done in [Option] dialog
which is displayed by selecting [right-clicking on the canvas] -> [Setting of page].


The database specified when the file is made can be changed in [Database] tab of [Option] dialog.

When the database is changed, the information peculiar to the database that was not able to be converted
will be lost , so the confirmation dialog will be displayed.

If the check box of this option is checked,
IME changes into turning on when focus in the fields of the logical name or the explanation, etc.
Please remove the check if this function is unnecessary,
because it is checking it by default.

The character that can be used for a physical name
is limited to [a-ZA-Z0-9_] by default,
and when the character excluding this is input,
it becomes an input error.
If you want to use the character excluding this for a physical name,
please remove the check on the check box of this option.

Bezier curve can be used for a related line in ERMaster.
Please check the check box of this option, when you want to use Bezier curve.
This is specification for all lines.
It is not possible to specify it for each line.


The test data can be generated by the SQL or the XML(dbUnit) form by using this function.
Select [Create test data] of the pop-up menu displayed by right-clicking on canvas.

Click [Add] button in the displayed [Management of testdata] dialog.

When you input the name of the test data,
Select the tables for which data is made by this test data
from all the table lists and click [Add],
and it is moved to the selected table list.

Next, chose one table from the selected table list and input the data.
When you finish to input the data, click [OK] button.

There are two methods of inputting data.
The first is a method of setting the value of data one by one.
This method is used when the accurate data is necessary.
The second is a method of setting information on the repetition.
This method is used when you want regular, a large amount of data.
Click [Direct Input] tab under the screen of the [Edit Testdata] dialog.
All rows except the final row become the data rows.
The value can be set to the cell by double-clicking the cell.

When you want to add the line, input data at the final line
or select [Insert] (or [Insert and Paste]) from the pop-up menu which is displayed by right-clicks.

Current timestamp can be set as a value of the cell by pushing [Ctrl] + [;].

In the input of the test data, the clipboard of OS can be used.
Because it can copy/cut/paste by assuming the data of the selected area
to be data of the tsv (tab separeted values),
It is possible to put it on ERMaster by copying it from Excel.
(Or, it is opposite of that. )
It is possible to copy/cut/paste by selecting from the pop-up menu
which is displayed by right-clicks,
or by pushing [Ctrl] + [c] / [Ctrl] + [x] / [Ctrl] + [v].
Click [Repeat Input] tab under the screen of the [Edit Testdata] dialog.

When the number of records to be made is input to the [Record Num] field,
the preview of the records which are made by the default repetition condition
are displayed.
(Previews are displayed up to 50. )

Because the displayed value is a preview value, it is not possible to change.
The repetition condition is editable in the [Repetition condition setting] dialog
displayed by clicking the column header.


The type of the repetition condition that can be specified are 4 types. Such as
NULL
Format
Foreign Key
Enumeration
When this type is specified, null is set as for all values.


When this type is specified, the value is set according to the specified format.

Format
It is a format that becomes the origin of the value.
The part of the % of this format is replaced by the decided value
from other specification.
Repeat Num
After the same value is repeated of the frequency specified by this value,
the next value is used.
Start/End/By
The increasing value from the beginning value to the end value
is set to the part of the % of the format.

When the column type is a date type and if the format is specified like "yyyy-MM-%",
the next value of 2010-01-31 is 2010-02-01.


This type of the repetition is a default value for the column of the foreign key.
As for the column to which this type is set,
the values of the test data are set based on the values of the test data
of the column referred to as a foreign key.

Repeat Num
After the same value is repeated of the frequency specified by this value,
the next value is used.

Because only data with a different only figure can be made by the format type,
data "apple, orange, peach" cannot be made.
The enumeration type is used to make such data.

Enumeration values
The data to be set is enumerated by the changing line delimitation.
Repeat Num
After the same value is repeated of the frequency specified by this value,
the next value is used.

Though the clipboard of OS can be used in the method of repeating input data,
The function that can be used is only copy unlike in the method of repeating input data.

Select [Create test data] of the pop-up menu displayed by right-clicking on canvas.

Click [Edit] button in the displayed [Management of testdata] dialog.

When information of the test data is set as well as the addition of the test data,
click [OK] button.
Select [Create test data] of the pop-up menu displayed by right-clicking on canvas.

Select the test data to be deleted, and click [Delete] button
in the displayed [Management of testdata] dialog.

Select [Create test data] of the pop-up menu displayed by right-clicking on canvas.

Select the test data to be exported, and click [Export test data] button
in the displayed [Management of testdata] dialog.

[Export test data] dialog is displayed, then
input [Format], [Output file], [Encoding], and click [Export] button.

ERMaster provides some Ant tasks.
But, note that all these Ant tasks run only on Eclipse.
If Ant is run on Eclipse in which the plug-in of ERMaster is installed,
Neither the setting nor any definition by Taskdef are necessary.
It is possible to run the task only by describing the task in build.xml.

When the following exception is thrown and it is not possible to run the task
though it is run on Eclipse,

It is because the JRE environment when Ant is run is not Eclipse.
Please set the JRE environment as follows.
1.Select [Run As] -> [External Tools Configurations...] from the menu which is
displayed by right-clicking build.xml.

2.[Runtime JRE:] in [JRE] tab of [External Tools Configurations] dialog may be set to
[Separate JRE], so set it to [Run in the same JRE as the workspace].

ERMaster provides the following four Ant tasks now.
The task for export a DDL.
<ermaster.ddl diagramFile="newfile.erm" outputFile="ddl.sql" encoding="UTF-8" />
Set the path of .erm file of ERMaster.
This attribute must be set.
Set the path of the output file.
Specification by the absolute path or the relative path is possible.
It becomes a relative path from baseDir of the Ant project
when it is specified by the relative path.
This attribute must be set.
Set the encoding of output DDL file.
This attribute is option.
The default encoding of runtime environment is used when omitted.
The task for export a image.
<ermaster.image diagramFile="newfile.erm" outputFile="ddl.png" />
Set the path of .erm file of ERMaster.
This attribute must be set.
Set the pass of the output file.
Specification by the absolute path or the relative path is possible.
It becomes a relative path from baseDir of the Ant project
when it is specified by the relative path.
The output format is decided according to the extension of the file.
There are four extensions that can be used such as png/jpg/jpeg/bmp.
This attribute must be set.
The task for export the database definition document of HTML format.
<ermaster.htmlReport diagramFile="newfile.erm" outputDir="html_report" />
Set the path of .erm file of ERMaster.
This attribute must be set.
Set the pass of the output directory.
Specification by the absolute path or the relative path is possible.
It becomes a relative path from baseDir of the Ant project
when it is specified by the relative path.
The directory 'dbdocs' is made under the specified directory,
and the files are made under that.
Note that when the directory 'dbdocs' exists under the specified directory,
this directory is deleted once.
This attribute is option.
The baseDir of the Ant project is used when omitted.
The task for export the database definition document of Excel format.
<ermaster.excelReport diagramFile="newfile.erm" outputFile="sample.xls"
template="default_en" outputImageFile="sample.png" useLogicalNameAsSheetName="true" />
Set the path of .erm file of ERMaster.
This attribute must be set.
Set the pass of the output excel file.
Specification by the absolute path or the relative path is possible.
It becomes a relative path from baseDir of the Ant project
when it is specified by the relative path.
This attribute must be set.
Set the template of the Excel to be used.
The values that can be used are
"Default_en" (template of English default) or
"Default_ja" (template of Japanese default) or
file names registered as the custom template.
This attribute must be set.
To put the image of ER diagram on the Excel definition book,
set the pass of the output image file to this attribute.
Specification by the absolute path or the relative path is possible.
It becomes a relative path from baseDir of the Ant project
when it is specified by the relative path.
The output format is decided according to the extension of the file.
There are three extensions that can be used such as png/jpg/jpeg.
The bmp form cannot be used.
This attribute is option.
The image is not put when omitted.
It is specified with true/false whether to use the logical name for the seat name
of the Excel definition book.
When "True" is specified, the logical name is used,
and when "False" is specified, the physical name is used.
This attribute is option.
It becomes "True" when omitted.