Oracle Designer

ID #

Questions

Answers

1

When a new version is released, how can I find out about what has changed since the last version?

If you need to know what’s different in a new release, you can look under the “What’s New” topics in each help system.

2

How can I tell which repository elements have associations?

An easy way to tell which elements have associations is to look at the Usages node under any element definition. You can also start a new matrix diagram and select one element in the row area. The associated elements will appear in the column area on the right. This means that these two elements have an association.

3

How can I edit objects in a diagram?

You can often apply in-place editing techniques to the objects in a diagram. For example, you can click once on the entity name in an Entity Relationship Diagram. When you click again, a field will open where you can edit the value without having to open the Property Palette or property dialog. Click outside the field to close it when you are done.

4

How can I get a set of objects to fill the screen?

Use "Fit to Area" to get a particular set of objects to fill the screen. You may not be able to do this as easily with the granularity of Zoom In and Zoom Out.

5

How can I save preferences between Designer Diagrammer or utility sessions?

Click the Save button in the Preferences dialog to hold these preferences between sessions of the diagrammer or utility. If you set preferences and do not save them, those preferences will not be there when you reopen that tool. Also, the preferences are saved for each tool individually, so you may have to make the same choice in several tools.

6

The menu item or toolbar that I want to use isn't enabled. What's wrong?

If a menu item or toolbar button you need to use is not enabled, check that you have selected the proper element. You can use the “What’s This” button to get help on a menu item or button as described above. This should tell you what needs to be selected before that menu item or button is enabled. Similarly, if there is a menu missing, the cursor may not have focus on the correct window. For example, in Design Editor, if you click on the Navigator window, a Navigator menu will appear, but if you click the Property Palette window, the Navigator window is replaced by a Properties menu.

7

Can I move the Entity Relationship Diagrammer toolbars to make working with them easier?

Although the default location of these toolbars is one on top of the other, you can actually drag and drop them anywhere. If you click and hold the mouse button on a non-button region within the outline of the toolbar, you can reposition the toolbar anywhere on the screen. If you drop the toolbar in the toolbar area at the top or side of the window, it will attach to the MDI window itself. If you drop it outside the toolbar, it will become a floating toolbar that you can move around inside or outside the window. This sort of toolbar is handy for maximizing the space in the drawing area because moving the toolbar out of its normal location leaves that much more area for the drawing.

8

What is meta-data?

Keep in mind that meta-data is not the actual data structure. For example, table definitions in the repository are not actual tables in the database. Rather, they only contain the information needed to create actual tables that may or may not exist in the database. The repository stores the table definition and its property values, but no table exists in the database until you run a CREATE TABLE statement to create it. This is an important, but not necessarily obvious, concept.

9

What is the difference between Edit/Cut and Edit/Delete in the ER Diagrammer?

Edit®Cut removes the element from the diagram but not from the repository. Edit®Delete (or pressing the DEL key) removes the element both from the diagram and from the repository. When you delete an entity, Oracle Designer also deletes all attributes and attached relationships.

10

How can I set the default icons used by Process Steps, Stores, and Flows?

You can set the default icons used by Process Steps, Stores, and Flows from the Options®Customize®Advanced menu item. You can also set up default icons based on various words in the name of the object. For example, if you include the word “fax” in the process step name, the Process Modeller can use a certain icon. If you include the word “create” in the process step name, it can use a different icon. You do this by creating a file that contains the key words and file names. For example:

create   factory1.bmp
fax      fax1.bmp

You specify the name of this file in the same Customize-Advanced dialog. If you do not include the path, the tool looks for the file in the Windows directory or the root directory where Windows is located. This is a fast way to attach various icons without having to visit the Multimedia tab for each one.

11

In the ER Diagrammer, does the order that the relationship is drawn make a difference?

When you create a relationship, you need to draw the relationship in the order it appears on the button. Therefore, if you choose the >----- (many-to-one) relationship from the toolbar, the first entity you drop it on will be the "many" side, and the second will be the "one" side.

12

How can I easily make the relationship lines consistent in my ERD's?

 

Move the entities around on the diagram to the proper position without worrying about how the relationship lines wrap. When the entities are in the right place, select one relationship line, choose Edit®Select Same Type from the menu, and click the Autolayout button. This will perform an autolayout on the relationship lines alone. Be sure to Select Same Type not Select All or you could undo the careful layout you just completed.

13

What is the best way to correctly line up my diagrams?

Modify the grid size and turn Snap on using Options®Customize. Then the objects you place and lines you draw will "snap" to the grid lines (invisible or not), and you will find creating straight lines much easier. The Customize option also lets you display the grid, which will help you line up entities and relationships. The grid will print if it is displayed when you start printing the diagram.

14

I can't find an object I created. What's wrong?

Be sure to expand the node you think the object will be in, or Find will not locate the object, unless the node in which the object exists has been expanded at some time in your session. Once the parent node has been expanded, even if it is collapsed when you run the search, the Find command will work properly. When you run subsequent searches, RON will start a prefix search, trying to match the item as you are still typing it.

15

Why can't I see the vertical scrollbar in the Repository Object Navigator?

The vertical scrollbar may be partially hidden if your Navigator window is too small. This might even be true if your window is maximized but your monitor is set to a low resolution (under 1024×768). You can move the Navigator window up and gradually manipulate it to reveal the buttons or turn off the display of the top toolbar buttons and status line (in the View menu), but the long-term solution is a higher resolution.

16

How can I include a certain subset of elements on a particular report even if the elements do not have a similar name?

Some reports include a parameter for the name of a diagram on which the elements appear. For example, the Entity Definition report includes an ER Diagram parameter, which lists the existing diagrams. If you select one, Oracle Designer uses it as the source for the entities it reports on. Thus, suppose a diagram called ERD PERSON contains the entities PERSON, ORGANIZATION, and PURCHASE ORDER. You can fill in the name of the diagram in the ER Diagram parameter, and the report will include only the PERSON, ORGANIZATION, and PURCHASE ORDER. The wildcard % works here too, so if you have similarly named diagrams and specify the wildcard name in this parameter, Oracle Designer will report on all entities on all diagrams with names that match the parameter.

17

How can I change the name of a user-defined repository report?

You can edit the name of a user-defined report by clicking on its name in the Navigator and editing the existing text.

18

How can I capture the design of an object that already exists in the repository?

You can capture the design of an object that already exists in the repository. If you do that, the utility will add any columns that are not in the repository that are in the database. It will not modify columns that already exist even if they have different datatypes or sizes. It will also not drop columns from the repository that no longer exist in the database. 

To reconcile the database definitions with the repository definitions, run the Generate Database from Server Model item in the Generate menu of the Design Editor. Specify that you want the target to be a Database. When you run this utility, it will generate a script with DDL ALTER statements as well as a reconcile report (described in Chapter 20) that you can view from dialogs in the utility. These files will show you the differences between the repository and the database so you can determine how to synchronize them.

19

How should I design capture a large number of objects?

If the number of objects to design-capture is large, you may find it easier to run the Capture Design of Server Model from Database Utility more than once with subsets of objects. If the objects are owned by different schemas (users), you will have to run the utility once for each user.

20

How can I easily create multiple elements of the same type in the Repository Object Navigator?

If you need to create multiple elements of the same type in the Repository Object Navigator, use the Fast Create dialog in the Design Editor’s Edit menu. This is a way to get a list of definitions sketched out in the repository quickly. You call up this utility after selecting the Modules node, and it will give you a list to fill in of module names and languages. This is the minimum amount of information needed to create a module. After you press the OK button, the utility will create the definitions, and you can fill in the details.

21

The button for the action that I want to perform is dimmed? What can I do?

In all Oracle Designer diagrammers, if the button or menu choice you wish to use is disabled (dimmed), you have not performed the prerequisites for that task. Usually, all the diagrammer requires is for you to select an object on the drawing, but you may have to do something else as well. The quickest way to find out what to do is to press the Context-Sensitive  Help button and then click the help cursor on the button (or select the menu item) in . A help screen with information on that particular activity will appear.

22

Can I base a domain on another domain?

Domains can be based on domains. The Definition tab of the Domains dialog has a Supertype property, which allows you to specify an existing domain name that is the parent of the one you are defining. This documents that the domain is a subset of another domain and has characteristics in common with it. The Supertype property is used for documentation only; you have to specified the subset of allowable values in both the child and parent domain.

23

How can I quickly change the cardinality, optionality, or transferability of a relationship?

 

You can quickly change the cardinality, optionality, or transferability of a relationship by right-clicking on the end you want to change and selecting from the popup menu.

24

How long should entity names be?

Although a short name for an entity can contain up to ten characters, it’s better to use seven or fewer, especially if you’ll be generating Oracle Developer forms from your application. The Database Design Transformer uses the short name as the table’s Alias property, which eventually becomes the block name in a generated form, and forms coding is easier if the block names are short.

25

How can I pin a button drawing?

All diagrammers in Oracle Designer allow you to pin a drawing button so you do not have to reselect it if you are drawing multiple objects of the same type. If you want to draw three functions, for example, you can hold down SHIFT when you click the function button. This pins the button so you can draw as many functions as you want without having to press the function button before drawing each one. When you want to stop placing functions, just click the Select toolbar button.

26

I tried to perform a Design Capture but it failed. What's wrong?

 

You should be sure the definitions exist in the repository for the tables and columns used by the form or report you are design capturing. Otherwise, the Design Capture utility will fail.

27

I removed some filters in a previous Designer session but they were reactivated when I restarted the application. What happened?

If you remove filters that have previously been saved as the default, the next time you open the Design Editor, the filters will be in place. To remove the filters permanently, clear the filters, select Options®Customize, and check the Save Settings as the Default checkbox in the dialog.

28

Why is it important to start the Database Design Transformer from the Repository Object Navigator (RON)?

Start the Database Design Transformer from RON, because if you select entities in the RON Navigator, those entities will automatically have the In Set box checked when DDT starts. This could save a significant amount of time if you are running the utility for a subset of the entities. Starting DDT from RON is also recommended when you are just getting started with Oracle Designer or with a new team of developers, so you can check the output of DDT and make corrections to the analysis-level objects before all the design-level objects are created.

29

How can I see more characters in my table name columns in the Database Design Transformer?  

 

In the Table Mappings tab, you can reorder and resize the columns if you need to see more characters. For example, the values in the table name column may not be totally visible, but you can move the column to the left by dragging and dropping the Table column heading. You can then resize the column by dragging the side of the heading left or right. The Database Design Transformer remembers the new layout the next time it’s used.

30

I need to restart the Application Design Transformer but I've already created some modules. What do I need to do?

If you need to start over with the Application Design Transformer (ADT) but have already created modules, you must delete the modules first or you will get naming conflict errors when you run the utility again. The fastest way to delete a group of modules is to select them in RON or DE and use Utilities®Force Delete. If you simply try to delete the modules, you might have to run the delete process a number of times, as the delete will fail on modules that are called by other modules.

31

How can I assign different preference sets to different levels?

While you cannot assign a preference set to another preference set, you can assign different preference sets to different levels. For example, if you have PREFERENCE SET 1 that you assign to MODULE1, all module components, items, item groups, and constraint usages under MODULE1 will inherit that preference set. If you want to apply PREFERENCE SET 2 to that module as well, you could attach it to all module components for that module. In effect, you would have two active preference sets governed by the precedence and inheritance rules.

32

How can I set up the Design Editor to display both dialog and Property Palette styles of dialogs?

If you set the default for properties to the Property Palette (using the toolbar button or Options menu item) and display the properties, you will see the palette window open. 

If you then switch to Property Dialogs (button or menu item), when you double-click an object in the Navigator, the dialog will appear, even though the palette window is still open. Once you dismiss the dialog, you can set any properties in the Property Palette that were not in the dialog. For example, you prefer the dialogs but can only set text properties like Description or Notes in the palette, so you use the dialog to do what is possible there and enter the text using the Property Palette.

33

What is the best way to do table-level validation on column values ?

 

Database procedures called from database triggers are often a better way to do table-level validation on column values than using check constraints. You can easily perform most validation with a check constraint because it can use a database function as part of its SQL expression. However, check constraints are not a normal place to look for code; if someone tries to determine where validation is firing for a column, she or he may not find that code easily. In addition, you can do operations in a procedure that might not be possible with a function that has SQL restrictions. For example, writing a record to an audit table if validation failed is straightforward in a database procedure called by a trigger but may not be possible using a function in a check constraint.

34

When should I use the Fast Create utility?

You can enter a number of definitions for a particular type very quickly with the Fast Create utility. Run this from the Edit®Fast Create menu item after selecting an element type in the Navigator. You will be able to enter a number of definitions at once. The only property you fill in for this dialog is the Name, so you will need to complete the definition later, but this will give you a starting point.

35

How can I create foreign key constraints in the Repository Object Navigator?

You can create foreign key constraints by dragging and dropping in the Navigator. Drag the primary key table’s node and drop it on the foreign key table’s node. This will create a new foreign key in the table that was the target of the drop. You still have to assign columns to this constraint, but the constraint will be created. This drag-and-drop facility can be a problem if you accidentally drop a table on another table when you meant to drop it on a free space to create a diagram. While you can always delete the foreign key you accidentally create, it is best to exercise caution when performing drag and drop with tables. 

Another tip for using foreign keys in RON: click on the blue arrow to the left of the foreign key name in the Navigator. The selection will jump to the table definition of the table to which the foreign key points.

36

Besides the Help system, where can I find information about what a particular property of a database object is intended for?

Check the Oracle server documentation, which is optionally installed with the server software. This is a set of HTML files (for Oracle versions 7 or 8) that contains all manuals describing the server. The HTML files are searchable and have sample syntax and descriptions of all clauses. A good document to start with is the “SQL Language Reference,” since most of the objects you are creating from repository definitions will produce CREATE syntax.

37

The package installed by my Table API script does not compile correctly. What's wrong?

Be sure you have the CG$ERRORS package installed or accessible. The Table API procedures call this package, but it may not be installed into your schema. This is documented in the help system, but you may get the error before you see the note in the help system. You can install it by running the CDSAPER.PKS and CDSAPER.PKB scripts in SQL*Plus from the ORACLE_HOME/CGENS70/SQL directory.

38

How can I create Type Model definitions from Server Model definitions?

There is no utility to create Type Model definitions from Server Model definitions, but you can create DDL scripts from the Server Model using the Generate Database from Server Model utility. You can then use these DDL scripts as a source for the Capture Design of Type Model from Database. This will effectively create Type Model definitions from objects in the Server Model.

39

What can I do if my drawing contains a stray pixel or two of a line that remained when something was moved or when I scrolled the window?

Since there is no redraw action in any of Oracle Designer's diagrammers, you have to force the tool to perform a redraw operation. The easiest way to do this is to use the window icons in the top-right part of the window to minimize the drawing window (not the MDI window) and then maximize it again.

40

How do I move a pig's ear (self-referencing) foreign key line?  

To move a pig's ear (self-referencing) foreign key line, click it to select it and move the whole line by clicking the middle of the arc (not the end). You can drop it close to a corner, and the line will span the two adjacent sides.

41

After initially laying out the existing objects, how can I reduce the number of blank pages?

Select Layout Minimize Number of Pages to reduce the number of blank pages. Remember that you can change the page orientation in the File Print Setup dialog box at any time if you prefer to use landscape mode.

42

How can I find out ahead of time what DDL statement or clause a particular property will generate?

The key to success in the Server Model Diagram (indeed, in all of Oracle Designer) is knowing what the result will be when you set or ignore a particular property. When in doubt regarding what DDL statement or clause a particular property will generate, create a test table or element and run the generator before and after specifying the setting to note the differences in the script that the Generate Database from Server Model utility creates. The extra time it takes to learn the properties will benefit you in the long run.

43 How can I save a server model diagram to a file?

Several solutions were suggested:

 

A. From Alex Haralampiev, Ph.D, M.Eng, CNA, CCP

Nationwide Financial Services

My experience with copy/paste is slightly different from the earlier

suggested ones:

1. Select all elements in the Design Editor diagram

2. Ctrl-C for copy to clipboard

3. Switch to blank document in MS-Word'97

4. Go to Edit | Paste Special (don't do direct Ctrl-V)

5. In the pop-up box there are three choices; select 'Picture'

6. The result is diagram in WMF format that can be resized without loss

of resolution (or even edited in Word)

The main difference in my procedure are steps 4 and 5; I never had

success pasting directly the diagram as an OLE object (which is the

default behavior of Paste in this case). Even on machines with lot's of

memory I was getting message about "Insufficient Memory" and only the

names of the tables in the diagram are pasted as a paragraph of text.

(One additional exception is the "Legend", which shows as selected in

step 1. is never transferred to the picture in Word)

These results are from server installation of Designer (R2.1.2 and R6.0)

and Windows NT clients (PIII 400Mhz, 128M RAM)

 

 

B. From Paul Sunners 

Screen captures will only give you what's displayed on the screen, if

your diagram doesn't fit then you'll have problems. You can use

copy/paste instead (I think this was mentioned a few days back on this

list). Just make sure that nothing is selected in the diagram, then

select Edit/Copy, switch to Word and Paste. You can then resize the

image to fit the page.

 

C. From Paul Dorsey

An alternative is to use PDFs. To do this you will have to a) buy the

full Adobe Acrobat, which comes with a PDF printer dirver that allows

you to "print" from any application to a PDF file, or b) use Ghostscript

(a freeware program that can convert from PostScript files to PDF). To

use Ghostscript, you simply set up a "dummy" printer in Windows using

the Postscript driver, and set the destination to FILE instead of a

port. The resulting Postscript file can then be passed through

Ghostscript and converted to a PDF. You can download Ghostscript from

http://www.cs.wisc.edu/~ghost/

 

D. From Alex Campbell  

Download a shareware copy of SnagIt from www.snagit.com . Great screen

captures and you can save them to BMP(Paintbrush), etc.

 

44 How do I get started with Oracle Designer?

Training is NOT enough to get you started. This product has a VERY

large learning curve. If you get training, it will only teach you product features.

 

The Oracle Designer Handbook (2nd Edition) that Peter Koletzke and I and wrote tried to address  how to use the product, but I would still not assert that it is a complete answer to the question. It is a very big question.

 

Without a mentor, your first project (or 6) will be a throw away learning exercise that will cost you more in frustration and pain than any benefits you will receive from using Designer. There are lots of ways to use the product. How to best use it depends on your available talent and your specific requirements. Only a mentor can really help to guide you.

 

You should also be aware that there is a sizable contingent that has abandoned using whole parts of

the product. Probably the only parts of the product that everyone agrees are useful are the ER/database diagrammers that can be used to design and generate your tables.

 

In terms of finding a mentor, there are not a lot of people whose opinions I would trust to help guide you in joining the wide world of Designer. Try to contact one of the senior people on the ODTUG forum

and try to get their help. If you want to do it locally, talk to your user group president and ask who they would suggest to provide help (you want the best Designer person in your area). Then bring in that

person for 2-3 days to meet with you and your team and help you to decide on your next steps.

Question submitted by Kent Graziano

In your conclusions you state as one of the reasons to not use generation: "...if your team is relatively inexperienced and you are trying to train new people, generating applications is not likely to produce satisfactory results. Using Designer successfully requires a huge learning curve."

No argument there (on the learning curve issue). Given that, what approach to application building (in the Oracle world) do you advocate that does NOT have a huge learning curve and can be used by an inexperienced team to produce satisfactory results?

 

Question submitted by Kent Graziano

In your conclusions you state as one of the reasons to not use generation: "...if your team is relatively inexperienced and you are trying to train new people, generating applications is not likely to produce satisfactory results. Using Designer successfully requires a huge learning curve."

No argument there (on the learning curve issue). Given that, what approach to application building (in the Oracle world) do you advocate that does NOT have a huge learning curve and can be used by an inexperienced team to produce satisfactory results?

This is an empirical question.  I submit that in the existing projects, there is no more consistency in Designer-generated apps than in hand coded apps.  This is particularly true in shops that are less experienced.  The norm is to generate and break the link by doing post generation modifications.  Such shops clearly have as much (if not more) non-maintainability in their applications as shops that have hand-built their applications.

It really comes down to standards and standards enforcement.  This is true for either environment.  If you don't have solid, enforced standards, you will have chaos.  It doesn't matter which environment you use.

Even in the rules based environment that I now use, there is the ability to ignore the environment and place hard code the rules into the applications (I can't PREVENT someone from being stupid and doing that).

To paraphrase the gun lobby "Software doesn't enforce standards; people enforce standards." However, we all know that papers on project management and standards enforcement are usually ignored.  The comment that will forever make me roll my eyes (even in memory) was when Peter Koletzke and I were criticized by a reader on our first Designer/2000 Handbook as follows: "Why do you have all this nonsense about building a system in your book, I KNOW how to build systems - just show me what I have to click on to use the tool."  And we wonder at the high failure rate of projects.

 

Oracle Designer FAQs
Oracle Developer FAQs
Oracle RDBMS FAQs
PL/SQL FAQs
Data Modeling FAQs
JDeveloper FAQs
BRIM® FAQs
Business Rules FAQs

Oracle Consulting Services | Application Development | Custom Training | Data Migration | Data Warehousing

About Dulcian | Papers & Presentations | Related Links

Publications | Employment Opportunities | Products | Home | Contact Us

©2000 Dulcian, Inc.