Editing Entities
To edit an entity, double-click on it in the entity relationship diagram, or
double-click on its name in the model (Main model or a submodel) in the overview
tree. The Entity Edit window displays.
Entity Name
The logical name of the entity.
Table Name
The physical name of the entity, this is the way it will be generated in
the script.
Generate
Here you can choose if you want the entity to be generated into the SQL output
script.
ATTRIBUTES
{bmc CSS_0000.BMP} List of all attributes the entity contains. You can edit
the attributeScribble40 by selecting it in the grid and clicking the EDIT button,
or double-clicking on the selected attribute.
Columns:
Key
States whether it is a key attribute. It can acquire values, such as: {bmc
CSS_0001.BMP} Primary key.
{bmc CSS_0002.BMP} Foreign key that is a primary key at the same time.
{bmc CSS_0003.BMP} Foreign key.
To change the column value double-click the field.
Name
Attribute name
Type
Data type of attribute.
Not Null
States whether the attribute can acquire zero values. Column value can be
changed by a mouse click.
Buttons:
Little Add
Fast attribute adding.Fill the attribute name in the field left off the button.
Add
Attribute adding.
Edit
Attribute editing.
Delete
Attribute deleting.
{bmc CSS_0004.BMP} and {bmc CSS_0005.BMP} Change the attribute order.
PROPERTIES
Entity properties.
Primary Key Constraint
Name of the primary key constraint. You can use a macro %tablename%.
EXTENDED
Here you find all the user-defined variables defined in the user-defined variables
editor.
INDEXES
{bmc CSS_0006.BMP} A list of indexes the entity contains. Index editing is
invoked the same way as the attributes editing, described above.
Columns:
Name
Index name
Index
List of attributes forming the index, or the index term.
Unique
States, whether the index is unique.
Descend
States, whether the index is descending.
ALTERNATE KEYS
List of alternate keys the domain contains. The alternate key editingEditing_Alternate_Keys
procedure is similar to the one described under Attributes.
TRIGGERS
Here you can enter any triggers not generated by the program. You can also
use the macro %tablename% here. You can view all the triggers in the trigger
list.
RELATIONSHIP
List of relationships coming from and going to the entity.
STORAGE
Data written in some db servers under the SQL command Create Table. They usually
specify their physical storage parameters. For example in Oracle this is: tablespace
, or in Sybase anywhere: in
You can also use the macro %tablename% here.
NOTES
Here you can enter any remarks you might have about the entity.
Editing Attributes
Select the Attributes tab on the Entity window and click the Edit button to
open the Attribute edit window.
Key
Attribute is a part of the primary key
{bmc CSS_0007.BMP}
Your access to the dictionary of user typesScribble95.
Attribute Name
Logical name of the attribute
Column Name
Physical name, this is the way it will be generated in the database.
Rolename
You can change an attribute's name, in case it is imported from a different
entity. If you want to export the attribute into other, different entities,
than under the given name. You can also drag a name over from the Rolename into
a column name with your mouse by using the Drag and Drop function.
Tip - If you check the Full rolenames item in Display
menu, you will see the initial attribute name and the new rolename in file format
rolename.atrname
Datatype
Here you can choose the data type of the attribute from the basic database
types or from user-defined types. In case of special requirements, you can also
use an Empty typeScribble538.
Default
Default value of the attribute.
Default Constraint Name
Default Constraint Name for the default value of the attribute (if the SQL
server supports it)
Check
Integrity limitation of the attribute. You can use macro %colname%.
Check Constraint Name
Constraint name for Check. You can name it directly, or use macro %colname%
(a column name) and %tablename% (a table name), eventually combine them. We
can use, for example, CS_%tablename%_%colname%, which means, that in column
"ZIP" and in table "T_ADRESS" you will get a constraint name CS_T_ADRESS_ZIP,
in the generated SQL script. The script name can be generated only if the previous
field Check is filled-out as well.
Unique Constraint Name
Constraint name for the unique limitation of the attribute (if the SQL server
supports it). You can use macro %tablename% and %colname%, just like in Check
Constraint Name.
Def
An all-applicable item. Its usage depends on the output database. ExampleScribble545
Def 2
2nd all-applicable item.
Note
Any type of text.
Editing Indexes
Select the Indexes tab on the Entity window and click the Edit button to open
the Indexes edit window.
Index Name
Current logical and physical name.
INDEX
Unique
Unique index.
Descend
Descending index.
Case sensitive
Index recognizes small and capital letters. Not available for any database
at this time.
Left Table
List of attributes inside of entity usable for indexing.
Right Table
List of attributes used in index.
{bmc CSS_0004.BMP} and {bmc CSS_0005.BMP}
Used to change item's order in index.
Expression
Term designed index. So far not used, it is ready for databases Foxpro, Clipper,
etc.
Filter
Filter for the term designed index. So far not used.
STORAGE
Parameters of physically stored index. Here you can use a macro %indexname%.
Only some databases support it, for example Oracle.
Editing Relationships
Select the Relationships tab on the Entity window and click the Edit button
to open the Relationships edit window.
TYPE
Name
Relationship name
Linking Method
There are three ways of linking the parent and child entities : ?
Through a primary key of parent entity. (recommended) ?
Through a unique attribute of parent entity. ?
Through an alternative key of parent entity.
Relationship Type
Here you can select either identifying, non-identifying or informativeScribble910
relationship from the relationship type group.
Partiality Parent
Parent partiality towards the parent entity.
Mandatory - At least one record related to the child entity must exist inside
of the parent entity, connected through relationship.
Optional - No record related to the child entity must exist inside of the parent
entity , connected through relationship.
Partiality Child
Same as partiality parent, but in the reversed direction.
REFERENTIAL INTEGRITY
Integrity rules concerning a relationship. DetailsScribble555.
Constraint Name
Here the constraint name is defined, if you are going to generate the referential
integrity declarative. You can either explicitly name the editing field Constraint
Name with your name, or you can use macro %parenttablename%, %childtablename%
or %relname%, eventually combine them. For example, you can name the constraint
as fk_%relname%, so if the relationship is named as e.g. "has_address", then
the Constraint Name is "fk_has_address".
KEYS
List of all keys, used to link up the parent and child entities through this
relationship.
Editing Alternate Keys
Select the Alternate Keys tab on the Entity window and click the Edit button
to open the Alternate Keys edit window.
Name
Logical name of alternate key.
Physical name
Physical name of alternate key. Use it as Constraint name
Left table
List of attributes in entity, which you can use for alternate key.
Right table
List of attributes used in alternate key.
Note: Alternate key is mostly generated this way:
alter table add constraint ‹tablename› unique ‹AlterKeyName›
Model Properties
The Model Properties can be found by selecting Model | Model Properties on
the menu bar, by clicking the Model Properties button on the tool bar, or by
double-clicking on the Main model in the overview tree.
PROPERTIES
Project
Project name
Model
Model name
Company
Company name
Author
Model author
Version
Model version
Created
Date and time of model creation
Updated
Date and time of last model change
Database
Database, the model is designed for
NOTE
Any type of text
SETTINGS
Attributes synchronization
Complete
Foreign key properties (default, check, etc.) are fully synchronized with
the primary key properties, and you can not change them.
Partial
Foreign key properties are synchronized with primary key properties, but here
you can change them. If you do so, the properties will not get synchronized
anymore. To get them synchronized again, you must enter the same values into
the foreign key properties as they are in the primary key.
None
Foreign key properties do not get synchronized at all.
Explanation and example:
To get the primary key to create its own unique value, you need to enter the
AUTOINC function into the default value of the primary key. There are foreign
keys in other entities to this primary key that would not make sense to have
their default value set as AUTOINC. So, if you have set the Partial or None
synchronization, then you can delete the AUTOINC value in foreign keys.
Please, be careful with this option and do not change it much! If you change
this option from Partial or None to Complete, you can lose a part of your work.
It will rewrite the values in foreign keys that you just worked on so hard.
When you change the setting, the values will not rewrite automatically, but
you've got to help it. That means, to open the entity with primary keys and
close it back. Then the Primary keys properties migrate into the Foreign keys.
Table name synchronization
A method of transfer between the entity name and the table name. The default
value is %entname%. It means the table name originates from the entity name.
Spaces and disallowed characters will be removed at the same time.
Example:
The entity name is Aircraft, method of transfer is set to t_%entname%. This
will produce a table name t_Aircraft. Column name synchronization A method of
transfer between the attribute name and the column name. The default value is
%atrname%. You can also use macro %atrname%. The behavior is similar to Tables
(Entities).
Physical names of dictionary items synchronization
A method of transfer between the attribute name and the column name. The default
value is %dictname%. The behavior is similar to Tables.
Model Check
check ERD
When checking the model, the ERD diagram is checked also.
check DFD
When checking the model, the DFD diagram is checked also.
check DFD against ERD
When checking the model, the DFD-ERD sequence checked also.
Default Values
Returns the methods of synchronization back to original values defined in
Environment Setup....
DEFAULT VALUES
Here are settings that will be used as implicit for new objects.
DEFAULT STORAGE
The storage default setting is used for all new entities. If you want to change
the existing entities, use button Set all entities.
ADVANCED
Setting of the user-defined variables that are valid for the complete model.
Submodel Properties
The Submodel Properties can be found by selecting Model | Submodel on the menu
bar, by clicking the Edit Submodel button on the tool bar, or by double-clicking
on the Submodel name in the overview tree.
Submodel name
Name of the submodel
ENTITIES
List of entities included in a given submodel. Here you can add or remove
an entity from the submodel.
GRID
Show Grid
A grid will appear on the desktop.
Snap to Grid
All objects on the desktop will snap to the grid.
Horizontal in mm
The grid's horizontal spacing. The size is calibrated by a printer.
Vertical in mm
Same as horizontal.
ADVANCED
Straight Relationship Lines
The relationships are shown as straight lines from one entity to another.
If the option is unchecked, the lines are broken.
Shadow
A shadow appears under the entity.
Physical View
The physical name of the entity (table name), physical names of attributes
(column names) and their types appear on the screen.
Full Rolenames
If you have a defined rolename in the foreign key, the attribute will appear
in format rolename.attributename.
Attributes Syntax Highlighting
The attributes are in the same color as the keys they belong to. Primary keys,
Foreign primary keys, Foreign keys.
Display Indexes
A list of indexes in the entity appears.
Display Relationship Names
Name of the relationship appears.
Align in Columns
In entity the attributes align into columns. Name under name, data type under
data type. It is well arranged, but it takes up more space.
Print
Prev.Page
Previous page is shown.
Next Page
Next page is shown.
Print Page
Actual page is printed.
Print All
Complete model is printed.
Exit
Simply exit
Printer Setup
Here you setup the printer. The setting is valid throughout the runtime of
the program.
If you have a feeling that the size of entities is being deformed, check the
true type font setting for your submodel. If a true type font is not set, then
the preview could look deformed.
Dictionary
Dictionary of user-defined types. These types will appear when defining attributes.
Buttons:
Add
New user-defined type.
Edit
Editing the selected user-defined typeScribble105.
Delete
Deleting the selected user-defined type.
Load
Loading a dictionary of user-defined types from a file. Even from different
models.
Save
Saving a dictionary of user-defined types into a file.
Dictionary Item
Name
Name of user-defined data type.
Physical Name
It is used when the user-defined types are generated as domains.
Datatype
Data type of the user-defined type.
Width
Width of the user-defined type.
Scale
Number of decimals of the user-defined type.
Check
Integrity limitation of the user-defined type. You can use macros %colname%
or %value%, both will be replaced with the corresponding value of the column
name for a particular attribute. (The macro %value% is obsolete, it is only
used for compatibility feedback. We recommend using the macro %colname%).
Default
Default value.
Note
Any type of text.
Used in
List of attributes using the user-defined type.
Database Server Selection
Select a database server from the list when creating a new data model.
Environment Setup
DESKTOP
Switch back...
The way you work with the cursor on your desktop. When checked (implicit),
the cursor switches back to an arrow type each time you place an object on the
desktop (for example Delphi behaves similarly). When unchecked, the cursor type
does not change. (Most of the other CASE programs behave similarly).
Visible page boundaries
To display page boundaries on your desktop (implicitly checked).
Color printing
To print a model in color. For color printers only. On black and white printers
the colors will turn to shades of gray (implicitly unchecked).
Editor font
Setting a font for text editors.
Default desktop color
Desktop color value for new models.
Zoom
Zoom value for new models.
DIRECTORIES
Models directory
Directory where you save the models.
Definition file
Location of a file with system templates.
User's definition file
Location of a file with user-defined templates.
Script file
File where you save a generated SQL script.
HTML File
File where you save HTML report.
Gallery File
File where you save a gallery.
Lock models
If checked, the program will lock up this file at opening. The file is locked
up then and nobody can open itor write anything into it. It is recommended that
you set this option in the same way on all your computers in the network.
TEXT EDITOR
Generated SQL scripts and reports are displayed in a text editor.
Editor type
Internal simple editor, used as an alternative solution.
External you can select your own editor (Notepad recommended). Associated
the Windows will bring up an editor that is associated with relevant suffix.
External editor
Set external editor name including a path.
SYNCHRONIZATION
Attribute synchronization
Implicit setting. Use it only for new models. For existing models use Model
propertiesScribble65.
Table name synchronization
Implicit setting. Use it only for new models. For existing models use Model
propertiesScribble65.
Field name synchronization
Implicit setting. Use it only for new models. For existing models use Model
propertiesScribble65.
Physical names synchronization of dictionary items
Implicit setting. Use it only for new models. For existing models use Model
propertiesScribble65.
Constraint primary key synchronization
Implicit setting. Use it only for new models. For existing models use Model
propertiesScribble65.
INTEGRITY
Implicit setting of integrity limitations of the relationships. These settings
will be used for all new relationships.
LICENSE
License code
A code needed to activate a full version of the program. A write-only field.
User
User name
Organization
Organization name
VERSION MANAGER
Saving method inside the version manager
Set what you want to offer as an implicit option
-
Save into current revision
-
Save into the new revision
More info inside the versions managerScribble615.
Ask before saving
If checked, the Version manager will ask for saving method before it executes
the command.
Generating Scripts
Generate
Launches the generating of the SQL script.
View
Reviewing the generated script.
Exit
Exit generating.
Stop
Forced interruption of the generating process.
WHAT TO GENERATE
File
Name and location of the file the SQL script will be generated into.
Domains
If a database supports it, a command CREATE DOMAIN will be generated, eventually
its equivalent.
Drop domain
A command DROP DOMAIN will be generated.
Tables
Tables will be generated.
Drop table
The commands DROP TABLE will be generated for all tables.
Primary keys
Some programmers do not use the primary keys and they solve the integrity
differently, for example, by using indexes. That is not a good practice, but
it is everybody's choice. So that's why you have an option of the Primary keys.
If checked, the keys will be generated automatically, otherwise not.
Indexes
Indexes will be generated.
Drop index
A command DROP INDEX will be generated.
Referential integrity
Referential integrity will be generated, but only on those platforms supporting
the referential integrity.
Triggers
Triggers will be generated, but only on those platforms supporting the triggers.
Drop trigger
A command DROP TRIGGER will be generated.
User-defined triggers
The triggers that are saved directly in entities, and triggers from the list
of triggersScribble595 are added to SQL-script.
Procedures
Procedures from the list of triggers will be added to script.
Views
Views from the list of triggers will be added to script.
Alternate Keys
Alternate keys are generated into the script. This depends on the database
server, but mostly they are generated as Constraint unique.
Insertions before script
Script insertions from the trigger listScribble595 are placed before the
script.
Insertions after script
Script insertions from the trigger listScribble595 are placed after the script.
Font size
Setting the fonts for generated script. There are 3 options:
Preserve Characters (default setting).
Lower Characters
Upper Characters
Check Script
Gives you choice to check the model before generating the script.
HOW TO GENERATE
Parent, Child
Gives you choice of selecting the method of generating the referential integrity.
You can set for each event of the referential integrity, if it will be generated
declarative, that is, as a foreign key or as a trigger.
User-defined datatypes as domains
If checked, then the attributes whose data types are in the dictionary of
user-defined types will be generated as a domain typeScribble565. But only if
the database supports it.
Primary keys as constraint
If checked, then the primary keys will be generated as Constraints.
Foreign keys as constraint
If checked, then the foreign keys will be generated as Constraints. The Constraint
nameScribble55 from the form Relationships is used as the name.
ADVANCED
User-defined variables, you can define them in the templates editor.
ENTITY LIST
List of entities ready to be generated.
Empty
Empty data type. Use only when you need to declare a column with special
type not supported by the program.
Example:
You can declare a calculated column using this method in Interbase:
Attribute name = First Name
Column name = first_name
Type = empty
Def = computed by (first_name || " " || surname)
Program will generate attribute as:
first_name computed by (first_name || " " || surname)
Def, Def 2
Help items for some special insertions of attributes. The Def is placed behind
a definition type and the Def2 at the end of attribute declaration.
Example:
You can set a character set and sorting criteria:
Attribute name = First Name
Column name = first_name
Type = char(20)
Def = CHARACTER SET WIN1250
Def 2 = COLLATE WIN1250
Program will generate attribute as:
first_name char(20) CHARACTER SET WIN1250 NOT NULL COLLATE WIN1250
See also Empty data type.
Referential Integrity
You can define integrity rules of a relationship related to changing, adding
or deleting a record inside the parent or child entity.
Parent update:
An event where the primary key of the record is going to be changed inside
the parent entity. The rules are:
None
No rule.
Restrict
In the case that the primary key is changed inside the parent entity record,
and inside of the child entity are records allocated to the original parent
record primary key, then the change is not made and db-system reports an error.
Cascade
In the case that the primary key is changed inside the parent entity record,
and inside of the child entity are records allocated to the original parent
record primary key, then the db-system will change appropriate foreign keys
inside of the child entity.
Set NULL
In the case that the primary key is changed inside the parent entity record,
and inside of the child entity are records allocated to original the original
parent record primary key, then the db-system will set appropriate foreign keys
inside of the child entity to NULL.
Set Default
In the case that the primary key is changed inside the parent entity record,
and inside of the child entity are records allocated to the original parent
record primary key, then the db-system will set appropriate foreign keys inside
of the child entity to a default value.
Parent Delete
An event when a record inside of the parent entity is being deleted. The
rules are
None
No rule.
Restrict
If a record inside the parent entity is being deleted and inside of child
entity are records allocated to parent entity, then the command won't be executed.
Cascade
In case of record deletion inside the parent entity, the records inside of
child entity will be deleted as well.
Set NULL
In case of record deletion inside the parent entity, the foreign keys inside
of child entity will be set to NULL. Set Default : In case of record deletion
inside the parent entity, the foreign keys inside of child entity will be set
to default value.
Child Insert
An event when a record inside of the child entity is being added. The rules
are:
None
No rule.
Restrict
In case of adding a record into child entity that does not have an related
record inside of the parent entity, then the db system reports an error and
the command will not be executed.
Child Update
An event when a foreign key of a record inside of the child entity is being
changed. The rules are:
None
No rule.
Restrict
In case of changing a foreign key of a record inside of the child entity,
and there is no related record inside of the parent entity for the new value,
then the db system reports an error and the command will not be executed.
Domains
Interbase example:
create domain number INTEGER default 5 check (value < 100)
create table xx(
item number
)
it is equivalent to record
create table xx(
item integer default 5 check (item < 100)
)
Gallery
Some times you need to save a part of model, or just one entity "aside",
for later use in different models.
For example:
Let's say you create an entity Address book, which contains 20 attributes.
It appears to you universal enough and you do not want to create it again in
the next model.
In that case go to your desktop and mark a random number of entities. Click
your right mouse button and go to Add To Gallery on the pop-up menu. Gallery
Item dialog box appears. There you fill out the file name (any), your name and
some notes, if you have any.
On the next card you can see the gallery item structure.
Here is a list of gallery items. Each contains the Name, Database, Author
and Date of creation. When you click on any of the gallery items, a window with
more detailed data appears (picture below). You can edit this data.
{bmc CSS_0021.BMP}
If you want to use a gallery item in your model, right-click it with the
mouse and drag it on your desktop.
You are free to use an item created for any kind of database. It means, that,
for example, you can use a gallery item created in the Interbase in a model
designed for the Oracle database.
Physical Creation Of Database
The CASE Studio 2.x does not really perform the physical creation of a database.
You have to use the utilities that come with your database servers. For example,
it is the ISQL for Interbase or the SQL Plus for Oracle.
If you are users of Delphi 1,2,3,4,5 and the Paradox tables, you can use a
simple utility. You can find its source files in directory : ..\RKSoft\CaseStudio2\delphi.
The files are : psql_form.dfm and psql_form.pas.
Triggers
Menu Settings
Quick Edit
When unchecked, it will be saving a changed trigger (procedure or view) content
anytime you switch to a different trigger (procedure or view). If left unchecked,
then you have to either confirm or cancel every single change.
Fonts
Editor fonts.
Buttons
{bmc CSS_0022.BMP} Confirming the applied changes.
{bmc CSS_0023.BMP} Canceling the applied changes.
{bmc CSS_0024.BMP} Loading text file from disk to editor.
{bmc CSS_0025.BMP} Saving the editor content to disk.
{bmc CSS_0026.BMP} Printing the trigger (procedure or view).
{bmc CSS_0027.BMP} Setting the editor fonts.
{bmc CSS_0004.BMP} {bmc CSS_0005.BMP} Changing the sequence of the trigger
(procedure or view) generating process.
{bmc CSS_0028.BMP} The actual trigger (procedure or view) is changed.
Enabled
If checked, the triggers will be generated. If unchecked, the triggers will
be ignored.
List
User-defined triggers
The triggers connected straight to an entity. It is the same trigger available
to you in the Entity Editor.
Before
Insertions before the created script. Here you can write, for example, a
physical creation of database code, connection, etc.
After
Insertions after the created script. {bmc CSS_0029.BMP}
Version Manager - Introduction
How to begin
-
Create a new model or just open an existing one.
- From the Model menu select the Insert Model into Version Manager menu item.
- This form (window) appears on your screen.{bmc CSS_0030.BMP}
- Insert the project file name into the File field, in a separate directory,
if possible. For that use button {bmc CSS_0024.BMP}
- Now the model is a part of the project and is controlled by the Version
Manager. To know more about the Version Manager just click here.
Version Manager - Work
If you do not know how to insert a model into the Version Manager, start
by clicking hereScribble605.
Buttons
{bmc CSS_0025.BMP}
Saves the project on disk. You need not use it, the project will be automatically
saved after each change.
OUT
Check out, opening the model (revision) from the repository.
IN
Check in, saving the model (revision) into the repository. When you use Check
In on a modified model the following windowScribble625 appears on your screen.
1
A tree structure displaying development of the project. Here the models are
arranged by the time of their creation.
2
A tree structure displaying development of the project. Here the models are
displayed in full hierarchy.
DETAIL
Name
Revision Name
Version
Revision Number
Created
Date and time of creation of the revision.
Modified
Date and time of last modification of the revision.
NOTE
Any type of text.
Symbols
{bmc CSS_0031.BMP} Revision was opened, but no change occurred inside the
model.
{bmc CSS_0028.BMP} Revision was opened and a change occurred inside the model.
When you use Check In on a modified revision, the following windowsScribble625
appears on your screen.
{bmc CSS_0032.BMP} Revision
{bmc CSS_0033.BMP} Version
If you want to back-up the project, then back-up the complete directory containing
your project. If you are opening a new project, create a new directory for that
project. By doing so you will eliminate many problems.
The project can be:? file with project containing list of individual model
files.? files with models (they are created automatically in the same directory
with the project file).
More on the files and their suffixes here.
{bmc CSS_0034.BMP}
Version Manager - Saving Revision
Save into current revision ‹revision_no›
A changed model is saved into current revision. In case this revision has
some successors, the option is gray and cannot be saved. You have to create
new version or revision (you could bypass it by saving the revision straight
from the desktop, but we do not recommend this).
Save into a new revision
The changed model is saved into the new revision.
Save into new version ‹version_no›
The changed model is saved into new version. The version number is the number
of the last created version + 1, in format of "‹ver_no›.0"
Don't save
The changed model is not saved, you lose all changes. {bmc CSS_0035.BMP}
Comparing Versions
TERMS
Newer version
Actual version you will be comparing with others. Its number is located on
the top of the form.
Older version
This is a version you are comparing with the newer version. It is from combobox
or from button {bmc CSS_0024.BMP} Open older version. Newer and older does not
mean the time of creation, but only the relation between the actual and the
compared versions. The older version could be virtually newer and vice-versa.
BUTTONS
{bmc CSS_0024.BMP}
Opening the older version. Here you open and compare the older version straight
from a file, without using the Version Manager.
G
comparing by GUID. Each object (entity, attribute etc.) has its own unique
identifier (GUID). If the objects have the same GUID in two different versions,
they are considered as the same object, and the changes between those two objects
will be shown (even when you change the object name). If they have different
GUID, they are considered as two different objects. This comparing process is
good for models in the Version Manager. This way you can compare only the models
with a common past, the models that were created separately cannot be compared
this way. The option is gray.
N
comparing by an object name. Compared by the name of an object.
F
comparing by a physical name of an object. Compared by a physical name of
an object (e.g. Attribute by a column name, entity by a table name). It is good
for comparing a hand-created model and a reverse engineering created model.
Combobox
If you compare the Version Manager models, then they are all Manager versions,
except for the actual.
Warning:
The comparing is done with the older versions saved on disk. If there is
any older version with some applied changes open, those changes will be ignored.
This does not concern the newer version, of course.
{bmc CSS_0036.BMP} Older version is one of the successors of the actual newer
version in the Version Manager.
{bmc CSS_0037.BMP} Older version is one of the predecessors of the actual
newer version in the Version Manager
{bmc CSS_0038.BMP} Older version is out of the development line toward the
actual newer version.
SYMBOLS IN TREEVIEW
{bmc CSS_0039.BMP} New object, did not occurr in the older version.
{bmc CSS_0040.BMP} Object is only in the older version, does not occurr in
the newer one.
{bmc CSS_0041.BMP} Object contains changes in the newer version, compared
to the older one.
COLORS OF REVIEW ON THE RIGHT SIDE
Yellow
Object or its property is new, did not occurr in the older version.
Green
Object or its property did not change in the newer version compared to the
older one.
Blue
Object or its property was deleted from the newer version, remains only in
the older one.
{bmc CSS_0042.BMP}
Editing Processes
PROCESS
Name
The process name
SPECIFICATION
Text description of the process. If you check the checkbox, you lose the
option to further divide this process .
NOTE
Any type of text.
Editing Terminators
Name
The terminator name.
Editing Datastores
Name
The datastore name.
Entity
An entity corresponding to this datastore in the ERD.
Editing Dataflows
Name
The dataflow name.
Flow type
The dataflow type. It can be either Data Flow or Control Flow.
Dataflow Table
The left bar contains a list of processes, the top bar contains a list of
datastores and entities. You can see from the table which process is reading
or writing from which datastore.
{bmc CSS_0047.BMP}
Files And Their Suffixes
*.dm2
Native format for model saving.
*.dmx
Alternative format for model saving. It is slower, more universal and with
its help the older version of the program can load a model from the newer version.
We will use it possibly for transition on to CASE Studio 3.0. It is in XML format.
*.dmr
Native format for saving the model in the old version of CASE Studio. The
CASE Studio can read it, but cannot save it. *.dg2 File with a gallery. We recommend
to back-up this file constantly! It is in XML format. You can set it in the
Environment Setup...Scribble508.
*.dp2
File with a project, it is used by the Version Manager. It is in XML format.
If you want to back-up the project, then do the complete directory, that is
the file *.dp2 and all the files *.dv2 in that directory.
*.dv2
File with a model included in the project. Format is similar to *.dm2. It
has a different suffix because it cannot be opened directly, but only through
the Version Manager.
*.ts2
File with system templates. These templates are part of the program distribution.
It is in XML format. You can set it in the Environment Setup...Scribble508 .
*.tu2
File with user-defined templates. These templates are edited and managed by
the user. We recommend to back the file up constantly. It is in XML format.
You can set it in the Environment Setup...Scribble508.
*.dd2
File with exported dictionary. Used for dictionary exchange between models.
It is in XML format.
Casestud.exe
The CASE Studio program itself.
Css.chm
This help file.
Templ.chm
Help file with templates description. ( in future versions of CASE Studio
)
Relationship Types
Identifying
Primary key migrates from the parent entity to the child entity and there
becomes a part of the primary key. It is used when the primary key of the child
entity is unable to provide definite identification. An entity, connected with
a parent entity through an identifying relationship, is called a "dependent"
entity and is shown in a model with rounded corners.
Example:
// parent entity
Create Table Invoice(
InvoiceNo integer not null,
ExportDate date,
Primary key (NumberInv)
)
// child entity, invoice lines
Create Table InvItem(
InvoiceNo integer not null,
LineNumber integer not null,
Amount money,
Primary key (NumberInv, LineNumber)
)
The line number as a unique record identifier is not enough. The child entity
has to help itself with the Invoice number. That is the reason for using the
Identifying Relationship. An invoice item cannot exist without the invoice itself,
therefore an invoice item is a Dependent entity.
Nonidentifying
Primary key migrates from the parent entity to the child entity and does not
become a part of the primary key.
Example:
// parent entity
Create Table AddressBook(
BLN char (8) not null,
Name char (30)
Primary key (BLN)
)
// child entity
Create table Invoice (
NumberInv integer not null,
BLN char (8),
Primary key (NumberInv)
)
The invoice number (NumberInv) as the Invoice unique identificatier is good
enough. Therefore the nonidentifying relationship is used. The BLN is only a
foreign key. The invoice can exist without being related to a firm, therefore
the invoice is an Independent entity.
Informative
Primary key does not migrate at all, no referential integrity or triggers
are generated, it is only information about the existence of some relationship.
Contact
WEB:
www.casestudio.com
E-mail:
info@casestudio.com
or
support@casestudio.com
( for registered users )
Please write your question in English or German.
Reverse Engineering For Paradox
DIRECTORY LIST
Write in this column a list of all directories you want to load their structure
from. Do not forget to add a backslash at the end of each directory. Example:
C:\Progam\MyProject\Data\
SETTINGS
Indexes
Structure of indexes is loaded also.
Load directories into storage
A directory, which physically contains a table, is loaded into storage for
each entity.
Close when loading is finished
After loading table structures is finished, the window closes automatically.
Buttons:
{bmc CSS_0024.BMP}
Adds a directory to the list.
{bmct CSS_0052.BMP}
Refreshes the list.
{bmct CSS_0054.BMP}
Launches the reverse engineering.
{bmct CSS_0055.BMP}
Opens this help file.
Universal Reverse Engineering
This dialog is reached by the following path: File | Reverse Engineering
| Universal Reverse Engineering.
Alias
Select an existing Alias from the drop down list or type a new Alias name.
Once all the following options are set, the Alias can be saved by clicking the
Save button, {bmc CSS_0025.BMP}.
Execute Script
Select an existing script from the drop down list.
Connection Via
Select a connection method from the drop down list. Click the Build button,
{bmct CSS_0053.BMP}, to set the specific parameters needed to connect to the
database. You can choose from:
Connection via ADO
(The Connection string shows the present settings. Click the Data link properties
button to set the properties necessary to connect to the database using ADO.)
or Connection via ODAC.
User name
Name of user connected to the SQL server
Password
User password
Save Password
Save the password with this Alias.
Settings
Here you can select the database objects to be loaded. The choices vary with
the chosen script.
Buttons
Connect
Connecting to the database.
Disconnect
Disconnecting from the database. This button is activated after the connection
is completed.
Execute
Launching the reverse engineering. This button is activated after the connection
is completed.
Help
Opening this help topic. Close when loading is finished - After the reverse
engineering is finished, the window closes automatically. {bmc CSS_0049.BMP}
Oracle
DB 2 version 7.1
MySQL 3.23
Obsolete Reverse Engineering
The options appearing under File | Reverse Engineering | Obsolete might or
might not work depending on the versions of certain software components installed
on your computer. It is strongly recommended that the Universal Reverse Engineering
option be used instead. Included under Obsolete are:
Oracle via native link
Hoststring
Type in the Hoststring to Oracle here.
Reverse Engineering For Interbase
Interbase via native link
Database
Path to database file (*.gdb)
User Name
User to log on to the database.
Password
That user's password.
Interbase type
Choice of Interbase 4, 6 and 6. The difference is in the support of declaratory
referential integrity.
Entities
The entities found in the database.
Settings
The database objects to be reverse engineered and loaded into the model.
Load Triggers
Loads the triggers.
Load Procedures
Loads the procedures.
Indexes
Loads the indexes.
Collation
Loads the sorting method of attributes.
Character set
Loads the national character set of attributes.
Views
Loads the views.
Permissions
Loads the permissions.
The Interbase is unable to recognize to which attribute the Check constraint
belongs. Therefore all the Checks are loaded into the entity trigger.
Interbase via BDE
Alias
Alias from BDE
The rest is similar to Interbase through native connection.
Reverse Engineering For MS SQL Server
MS SQL via native link
Database server
Name of database server and the database in format
‹server›:‹database›
MS SQL via ODBC
Alias Name of the data source ODBC ODBC Version Setting of ODBC version installed
on your computer. You can try both.
MS SQL via ADO
Reverse Engineering
CASE Studio 2 is able to reverse engineer many different database structures.
These databases include Interbase by Borland, SQL Server by Microsoft, Oracle
by Oracle, Paradox by Borland, and DB2 by IBM. Other databases which support
ODBC could be processed.
The reverse engineering process will extract the database's entities, attributes,
relationships, indexes, triggers, procedures, and other objects depending on
the particular database. Not all of those features are supported by all databases.
In addition to being able to work with a number of databases, CASE Studio
2 is able to use a number of different communication methods: ODBC, ADO, ODAC,
and direct native connections where appropriate. The choice is your's.
When you select Reverse Engineering from the File menu you see the following
choices:
Universal Reverse Engineering
A general purpose connection to the database. See Reverse Engineering for
SQL ServersScribble1110 for more information.
Paradox
Connection to Paradox databases. See Reverse Engineering for ParadoxScribble1100
for more information.
Interbase via Native Link
Connection to Interbase databases. See Reverse Engineering for InterbaseReverse_Engineering_For_Interbase
for more information.
Interbase via BDE
Connection to Interbase databases. See Reverse Engineering for InterbaseReverse_Engineering_For_Interbase
for more information.
MS SQL via Native Link
Connection to Microsoft SQL Server databases. See Reverse Engineering for
MS SQL ServerReverse_Engineering_For_MS_SQL_Server for more information.
MS SQL via ADO
Connection to Microsoft SQL Server databases using ADO. See Reverse Engineering
for SQL ServersScribble1110 for more information.
MS SQL via ODBC
Connection to Microsoft SQL Server databases using ODBC. See Reverse Engineering
for SQL ServersScribble1110 for more information.
ADO
Connection to any database using the ADO communication methodology.
Obsolete
This shows you a set of database connections which have been replaced by
the Universal Reverse Engineering. They are included here only for compatibility.