Data Modeler: Naming

OK guys, I'm struggling.
I've watched the on-line tutorials, read the white papers (especially "Naming Standardization"), and looked through the help pages. There are so many options for controlling naming that I think I'm lost in the trees trying to find the forest. Between the name, short name, synonym, synonym to display, preferred abbreviation, naming rules, glossaries, naming standards, templates, object name prefixes, name abbreviations, name translations, design rules, and classification types, I'm a bit overwhelmed.
I'd like to take this logical model:
| facility category |
facility category identifier <PK>
     1:1
      |
      |
      |
     0:M
| facility |
facility identifier <PK>
facility category id <FK>and create the following relational model:
| t_fac_cat |
fac_cat_id <PK>
  1:1
   |
   |
   |
  0:M
| t_fac |
fac_id <PK>
fac_cat_id <NN,FK>which, in turn, generates this DDL:
create table t_fac (
     fac_id integer  not null ,
     fac_cat_id integer  not null ) ;
alter table t_fac add constraint pk_fac primary key ( fac_id ) ;
create table t_fac_cat ( fac_cat_id integer  not null ) ;
alter table t_fac_cat add constraint pk_fac_cat primary key ( fac_cat_id ) ;
alter table t_fac
    add constraint fk_fac_cat_2_fac foreign key ( fac_cat_id )
    references t_fac_cat ( fac_cat_id ) ;Note: I could live with the relational model table names not being prefixed with a 't_' as long as the DDL includes it.
I think the tool has the ability to do what I want, but I'm missing how all the parts fit together to enable me to accomplish my goal.
Does anyone have a simple approach that might decrease the learning curve a bit?

Well,
I'll try to explain it in several posts.
I. Name abbreviations tool
this is something separate from big picture but can be useful in some cases.
1. Create a text file containing <name,abbreviation> pairs - name forum.csv and content:
facility,fac
category,cat
identifier,id
2. Set following template for PK name (it's in Naming standard>Templates):
pk_{table}
3. Set following template for FK column name:
{ref column}
4. Set following template for FK name:
fk_{parent abbr}_2_{child abbr}
2), 3) and 4) are according your example
5. Create tables (not entities) in relation model using full names, no abbreviations
following DDL is generated:
CREATE TABLE facility
facility_identifier INTEGER NOT NULL ,
facility_category_identifier INTEGER NOT NULL
ALTER TABLE facility
ADD CONSTRAINT pk_facility PRIMARY KEY ( facility_identifier ) ;
CREATE TABLE facility_category
facility_category_identifier INTEGER NOT NULL
ALTER TABLE facility_category
ADD CONSTRAINT pk_facility_category PRIMARY KEY ( facility_category_identifier ) ;
-- ERROR: FK name length exceeds maximum allowed length(30)
ALTER TABLE facility
ADD CONSTRAINT fk_facility_category_2_facility FOREIGN KEY
facility_category_identifier
REFERENCES facility_category
facility_category_identifier
6. Invoke "Name abbreviations" and select forum.csv file, leave the rest as it is, press ok - message appear with list of changed objects and here is the new status:
CREATE TABLE fac
fac_id INTEGER NOT NULL ,
fac_cat_id INTEGER NOT NULL
ALTER TABLE fac
ADD CONSTRAINT pk_fac PRIMARY KEY ( fac_id ) ;
CREATE TABLE fac_cat
fac_cat_id INTEGER NOT NULL
ALTER TABLE fac_cat
ADD CONSTRAINT pk_fac_cat PRIMARY KEY ( fac_cat_id ) ;
ALTER TABLE fac
ADD CONSTRAINT fk_fac_cat_2_fac FOREIGN KEY
fac_cat_id
REFERENCES fac_cat
fac_cat_id
7. Change abbreviations with related full name - it's possible to restore initial status if abbreviations in file (forum.csv in our example) are unique - they are in our case;
- repeat step 6) but now for "Direction" select "Abbreviation to name".
8. Well, if we want to have long names for table and columns (i.e. table "facility_category" and column "facility_category_identifier") we'll get into problem with names for objectors that use these names in their name template (see 'Naming standard>Templates"). We can use table abbreviation and column abbreviation in name templates however we have to define these abbreviations. This can be done manually using dialogs for each table/column or "Name abbreviations" toll can be used.
8.1 change template for primary key to *pk_{table abbr}* - (we already set template for FK as fk_{parent abbr}_2_{child abbr}
8.2 Invoke "Name abbreviations" and select forum.csv file, and select "Abbreviations" for "Scope"; press ok - report is shown for applied changes
9. We need to generate names according changed templates and defined abbreviations. This could be done at relation model level or at table level - at least this is the idea however bug was introduced in patch 1 (build 584) and "Apply naming standards for key and Constraints" at model level works only for foreign key columns. So, we have to apply naming templates at table level. And new DDL is:
CREATE TABLE facility
facility_identifier INTEGER NOT NULL ,
facility_category_identifier INTEGER NOT NULL
ALTER TABLE facility
ADD CONSTRAINT pk_fac PRIMARY KEY ( facility_identifier ) ;
CREATE TABLE facility_category
facility_category_identifier INTEGER NOT NULL
ALTER TABLE facility_category
ADD CONSTRAINT pk_fac_cat PRIMARY KEY ( facility_category_identifier ) ;
ALTER TABLE facility
ADD CONSTRAINT fk_fac_cat_2_fac FOREIGN KEY
facility_category_identifier
REFERENCES facility_category
facility_category_identifier
10. Logical model - at this point I will transform tables to entities in relational model in order to have starting point for next example. You can check that table abbreviation goes to "Short Name" for entity
Philip

Similar Messages

  • Data Modeler - Naming Conventions

    I was using Oracle Designer for several year.
    This product could drive you crazy because sometimes, but the strength was in my opinion the datamodelling part.
    It saved you a lot of time because you kept stuck to the logical model generated your relational model and had all scripts satisfying all naming conventions you needed.
    In Data Modeler i really miss the naming conventions and can't understand some parts, sometimes somebody here can help me if i have overseen something or it is just not implemented.
    Naming conventions as example:
    We work with surrogate keys.
    Two well known tables - Employees (abbreviation EMP), Departments (abbreviation DEP)
    They have one relation 1:N one department has many employees
    In Designer i would define the EMPLOYEE entity, would set the table-abbreviation, the attributes and the primary key.
    The same with DEPARTMENT. I would design it WITHOUT any column for the foreign key constraint.
    Then i would create a relation between this two tables.
    Last step is to generate the relational model.
    a) Designer automatically adds ID as surrogate key on every table (you could configure that, it was dependent on a domain)
    b) it automatically adds the table abbreviation as prefix on every column (even here it's configurable)
    c) it automatically adds the a foreign key column in the child table with the prefix of the master table (f.e. EMP_DEP_ID or DEP_ID if you prefer not to prefix every column... what i do)
    It was really easy to get your scripts.
    Things i don't understand in Data Modeler:
    In a logical model you should design entities, attributes and relations and don't mess around with FK-columns.
    Is there any support for surrogate keys? I don't wanna add an ID manually with every table.
    In Data Modeler an additional COLUMN(!) is added with every Foreign key relation, i could live with that, but there is no way to tell
    Data Modeler to prefix it automatically. The name can just be changed in the Relational View afterward.
    P.S.
    Surrogate Keys.... There are some pros and cons for/against this out there. I have seen a lot of Oracle Projects and in all except one i always had a surrogate key column. It really makes life
    easier. In the one no-surrogate-key-project we began to add surrogate keys after a while...

    COLUMN(!) is added with every Foreign key relation, i could live with that, but there is no way to tell
    Data Modeler to prefix it automaticallyLook at "General options>Naming Standard>templates" - you can define template for FK columns/attributes and then apply them for whole relational/logical model using "Apply Naming .." functionality from pop-up menu in the browser. For Logical model (FK attributes) - you also need to clear related setting at "General options>Logical>Keep as the name of originating attribute".
    Templates are also used when objects are created, thus when new FK is created, then templates are used to generate name for foreign key and FK columns. Well you have to define table and column abbreviation in order to get them used in generated names - Re: Data Modeler: Naming
    There is no support for surrogate keys in current release.
    Philip

  • Naming Standardization (SQL Data Modeler)??

    Hi ,
    Thanks in responding to my posting.
    I am using SQL DM 3.0.0.665. I need your thoughs on following.
    I find a Oracle white paper on Oracle SQL Developer Data Modeler
    Naming Standardization (2009).
    It suggests us to get to Tools > General Options menu. Expand Naming Standard.
    I am not able to find it in my SQLDM. How do we get there?
    Thanks in helping us out.

    Hi,
    For DM 3.0 it is Tools->Preferences->Data Modeler->Naming Standard

  • Enforcing use of class word as naming standard via data modeler preferences

    Using data model preferences, I have set both the "attribute" and "column" naming standards to have mandatory name parts of both "prime word" and "class word". I have also used data model preferences to specify a glossary that has several terms of type "class word" defined.
    My assumption is that if I set a column naming standard preference to have class word as a mandatory name part, then I can apply the default design rules in my relational model and it will list an error "column with wrong naming standards" if any of my column names don't have a name part that is on the list of class words in the specified glossary. Is that assumption correct? If so, it doesn't seem to be working for me...
    How does SDDM determine if a class word is missing? I.e., how can I enforce a naming standard that all attribute/column names must have a class word from our approved list of class words?
    Thanks!

    My assumption is that if I set a column naming standard preference to have class word as a mandatory name part, then I can apply the default design rules in my relational model and it will list an error "column with wrong naming standards" if any of my column names don't have a >name part that is on the list of class words in the specified glossary. Is that assumption correct? yes it's correct.
    If so, it doesn't seem to be working for me...one of the settings cannot be changed - it's "Abbreviated only" in "Preferences>Data Modeler>Naming Standard". So only abbreviated part from glossary is taken into account - I logged bug for that.
    You can change it - it's in dl_settings.xml file in your design's directory - find - abbreviated_only="true".
    How does SDDM determine if a class word is missingIt needs glossary and separator setting.
    You can read more here http://www.oracle.com/technetwork/developer-tools/datamodeler/datamodelernamingstandards-167685.pdf
    Also can look at examples here Data Modeler: Naming
    Philip

  • Logical Model Naming Standard (Title Case) and Foward ENGINEERING how to???

    Hi,
    I just installed the datamodeler v3.3.0.747.
    I want to use the Title Case style as separator style in my logic Model... To do this, i go to the Preferences Settings (Tools > Preferences > Naming Starndard > Logic Model) and set the Title Case as separator Style...
    However, when i do foward engineering of the logical model... The Style is omitted and everything is like the logical model... For example,
    If i create an entity called: ManagedAccount, i will expected that when i do fwd enginnering, the table associated to that entity will be call as Managed_Account; However, i still getting ManagedAccount...
    So, What am i doing wrong??? or this is a bug???
    Thanks!

    Hi,
    in order to get it working in current release you need to create glossary even empty one and set its property "Incomplete Modifiers" to true (check the check box with that name), and to to add that glossary in "Tools>Preferences>Data Modeler>Naming Standard".
    We'll change it in next release to work without glossary for this particular case.
    Philip

  • Sql Developer Data Modeler 3.0 EA1: Preference- Naming standard- Templates

    I am trying to figure out how the naming standard templates work.
    When I go to:
    Preference -> Naming standard -> Templates
    It says that 'Attribute Relation' is '{ref entity} {ref attribute}'
    What is the consequence of this?
    I thought, it would mean that when creating a primary key attribute (ID) on an entity (DEPARTMENT), the related "foreign key" attribute (that is automatically created in related detail entities, such as EMPLOYEES) would be named DEPARTMENT ID.
    Instead it is just called ID. Is that the intended behavior?
    - Marc de Oliveira
    Edited by: marc66 on 2010-10-29 05:59

    Marc,
    you should check "FK Attribute name synchronization" setting in "Preferences>Data Modeler>Model>Logical model" - probably it's checked and you cannot change the name of FK attribute.
    I found another bug here - FK attribute doesn't follow changes in referred entity - I logged it in bug database. As workaround you can apply defined templates at entity level (there is button in entity dialog) or for whole logical model (using pop-up menu in the browser).
    Philip

  • Data Modeler - applying naming standards to relational model

    Hi,
    first of all thanks for the new data modeler build (584) - it really fixed some issues (e.g. unique keys with non mandatory referenced ids are now persistent) ...
    BUT ... why is there an option to disable foreign key names when applying naming rule although it does not work?
    I like my primary key names etc. to follow some naming rules, but I don't like foreign keys to follow rules, just because neither "Benutzer_Id3" follows the company internal naming rules nor is it very easy to understand at all.
    Steps taken:
    * logical model is complete
    * generate relational model
    * foreign key names are as intended (e.g. "User_Id_Modifier")
    * right click the relational model
    * click "Apply Naming Standards ..."
    * remove the check mark from "Column Foreign Key"
    * click "OK"
    The foreign key column is changed regardless of checkbox state :-( - even deselecting all check boxes still applies naming rules to the foreign key columns.
    Is there a fix/workaround for that or need I to go back to build 570?
    Thanks god I still have my 570 compatible model ins SVN
    regards stueckl

    Hi,
    unfortunately that functionality for all tables in relational model is broken - you still can use it at table level - "Naming rules" button in table dialog.
    Philip

  • Some observations on my first use of Data Modeler Beta

    First of all, I can see this tool has a lot of promise.
    I hope Oracle keeps at it, it could turn into a real winner if all the features I see being worked on mature.
    Thanks!
    Here are a few observations on things that I found non-obvious or tedious to do.
    1. When designing an entity, I want to give it a name, a definition, attributes and keys. I want that process to be quick and require the minimum amount of mouse-clicking/navigation fiddling as possible. The current way of defining the attribute's datatype and size is painfully slow. I have to click to get a pop-up. Then I have to click to choose from a set of categories. Then I have to click on a dropdown list. If I try to use the down-arrow on the dropdown list, it works, but not if I go past the one I want. The up-arrow won't take me backwards in the list, so more clicking. It's just a nasty, slow interface to do a simple task that I have to do a thousand times in a data model. If I need to change the size of something, back I go thru the entire process all over again.
    That makes it doubly slow to work in the most natural way, which is to list the attributes and the datatypes, then come back and refine the sizes once the model is maturing and relatively stable.
    2. Adding an additional attribute requires a mouse click instead of a down-arrow. That means I have to take my hands off the keyboard to add a new attribute. Maybe there is some short-cut key that does that, but I have better things to do than memorize non-standard keyboard mappings. Make the down/up arrows works as they should.
    3. Adding the comment that describes the attributes is not quite as slow, but still requires more keystrokes/mouse movements than it should. It's hard enough to get developers to document their attributes, don't discourage them.
    4. I can't see the list of attributes, data types, sizes, key/mandatory settings, and the comment at one time while editing the entity. Makes it harder to grasp what all the attributes mean at a glance, which slows down the modeling and the comprehension of an existing model.
    5. All the entities I created had primary keys with columns in them. But when I tried to have it build a physical model, it complained that some relationships had no columns in them. For the life of me, I couldn't figure out how to fix that. Never had that problem in any other case tool.
    6. Getting it to generate DDL was awkward to find. Make it something obvious, like a button on the toolbar that says "Generate DDL".
    7. Apostrophes in the Comments in RDBMS are not escaped, so the generated DDL won't run.
    8. For the ease of use/speed of use testing on high-volume key tasks, make the developers do the task 1000 times in a row. Make them use long names that require typing, not table A with columns c1, c2 and c3. Long before they get to iteration 1000 they will have many ideas on how to make that task easier and faster to do.
    9. Make developers use names of things that are the maximum length allowed. For example, for a table name in oracle, the max length of the name is 30 characters. The name of one testing table should be AMMMMMMMMMMMMMMMMMMMMMMMMMMMMZ. That's a capital A followed by 28 capital M's and a capital Z. For numbers, use the pattern 1555559. If the developers can't see the A and Z or 1 and 9 in the display area for the name in the default layout for the window, they did the display layout wrong. For places where the text can be really long, choose a "supported visible length" for that field and enter data in the pattern AMMMMMMMMMMMMMMMQMMMMMMMMZ, where Q is placed at the supported visible length. if the A and Q don't show, the layout is wrong.
    10. SQL Developer has quite a few truly gooberish UI interaction designs and I can see some of that carrying over to the Data Modeler tool. I really recommend getting a windows UI expert to design the ui interface, not a java expert. I've seen a lot of very productive windows user interfaces and extremely few java interfaces suitable for high-speed data entry. Give the UI expert the authority to tell the java programmers "I don't want to hear about java coding internals - make the user interface perform this way." I think the technical limitations in java UIs are much less than the mindset limitations I've seen in all to many programmers. That, and making the developers use their code 1000 times in a row to perform key tasks will cause the UI to get streamlined considerably.
    Thanks, and keep up the good work!

    Dear David,
    Again thank you for your valuable and highly appreciated feedback. Find included a more elaborated answer to your observations:
    *1. When designing an entity, I want to give it a name, a definition, attributes and keys.*
    In the new Early Adopter Release, a "SQL developer like" property window has been added for Entities and Tables. For each attribute/column you will have the ability to add name, datatype, Primary Key, Mandatory and comment from one and the same screen
    *2. Adding an additional attribute requires a mouse click instead of a down-arrow.*
    An enhancement request has been created
    *3. Adding the comment that describes the attributes is not quite as slow, but still requires more keystrokes/mouse movements than it should.*
    In the new Early Adopter Release, a "SQL developer like" property window has been added for Entities and Tables. For each attribute/column you will have the ability to add name, datatype, PK, M and comment from one and the same screen
    *4. I can't see the list of attributes, data types, sizes, key/mandatory settings, and the comment at one time while editing the entity. Makes it harder to grasp what all the attributes mean at a glance, which slows down the modeling and the comprehension of an existing model.*
    See former answers. For meaning of attributes you can also use the Glossary and Naming Standardization facilities: see Tools Option menu, Glossary and General Options for naming standards
    *5. All the entities I created had primary keys with columns in them. But when I tried to have it build a physical model, it complained that some relationships had no columns in them. For the life of me, I couldn't figure out how to fix that. Never had that problem in any other case tool.*
    A Bug report has been created. Issue will most probably be solved in the nexr Early Adopter release
    *6. Getting it to generate DDL was awkward to find. Make it something obvious, like a button on the toolbar that says "Generate DDL".*
    An enhancement request has been created.
    *7. Apostrophes in the Comments in RDBMS are not escaped, so the generated DDL won't run.*
    A bug report has been created
    *8. For the ease of use/speed of use testing on high-volume key tasks, make the developers do the task 1000 times in a row. Make them use long names that require typing, not table A with columns c1, c2 and c3. Long before they get to iteration 1000 they will have many ideas on how to make that task easier and faster to do.*
    I aplogize, but I don't understand clearly what you want to say with the use/speed of use here.
    *9. Make developers use names of things that are the maximum length allowed.*
    Our relational model is for use for not just Oracle, but also DB2, SQL Server and in the future maybe other database systems. Whicjh means that we can't taylor it to just one of these database systems. However you can set maxinum name lenghts by clicking right on the diagram and select Model Properties and here you can set naming Options. Here you can also use the Glossary and Naming Standardization facilities: see Tools Option menu, Glossary and General Options for naming standards
    *10. SQL Developer has quite a few truly gooberish UI interaction designs and I can see some of that carrying over to the Data Modeler tool.*
    Fully agree. As you will see in our next Early Adopter release we have started to use SQL Developer like UI objects.
    Edited by: René De Vleeschauwer on 17-nov-2008 1:58

  • PowerPivot removed table replicated into the data model on refresh

    Hey
    I am facing the following problem which is absolutely persistent and annoying in nature. I am using a data model created with PowerPivot with connections to three different SQL servers and 25 tables. The bug is that every time I refresh my data, a table
    that was initially added to the data model (and later removed) is replicated in equivalent number of tables that use this connection, which is currently around 12 tables, so I get 12 duplicates of the same unnecessary table on every refresh, named with the
    name of the schema on the SQL server that is followed by a running number. Removing these from the data model on every refresh simply takes too much time on a daily basis. The additional undesired table which is created is what is defined in the SQL query
    of the connection string of this connection.
    I tried to solve this problem by zipping the Excel file and modifying this SQL statement present in the connection string in the connections.xml file in a way that it would not return anything, but this always leads into a corrupted workbook.
    After encountering this I have managed to avoid this problem by making sure that the initial table I'm adding to the data model will remain in the model, but I really don't want to rebuild this current model. Is there any fix for this issue without
    rebuilding the data model?
    Thanks for all the help in advance!

    I am using 64-bit Office 2013 with the recent SP1 upgrade and the included PowerPivot plug-in on a Windows 8.1 machine.
    I always create the connection by using "From SQL server" then fill in the server and log in details and use a ready SQL statement that I have written by using SQL Server Management Studio to import the initial table. For all the preceding tables
    using the same server and schema, I always select it from existing connections and just paste the SQL queries required for any additional tables to the "Write a query that will specify the data to import", rather than using the table import tool.
    I am not sure if it could have any effect that I've been using the type connection "From SQL server" although the database is really running on Azure (there is a possibility to select From Other sources > Microsoft SQL Azure, but the functionality
    seems the same).
    I don't really understand what I should edit from the existing connections section. Just to clarify, apparently the Connection String parameters can be edited from PowerPivot, but not the Command Text which can be viewed from Excel Data > Connections
    > Properties, but is shown in gray with a message "Some properties cannot be changed because this connection was modified using the PowerPivot add-in."
    In the data model I am using two sets of identical tables, but connected to two different servers that are running a database 1:1 in structure. Initially the problem considered only the other of these, but I accidentally reproduced it by, again, editing
    the SQL query in the table that was initially imported when that connection was created (PowerPivot > Design > Table Properties). Now when refreshing I get tables that are structured as in what the "Connection Text" part of the connection would
    produce, which replicated for the equivalent amount of additional tables using the same connection, so now I'm getting 12 tables (the number of tables using the same connection) each named "*schemaname1* Query", "*schemaname1* Query2",
    "*schemaname1* Query3" "*schemaname2* Query" and so on.
    Personally I can definitely see a pattern here. If there isn't a table matching what has been specified in the "Command Text" that was described when the connection was created, then it for some reason runs this query anyway on every table that
    is using the connection.

  • Can I pass parameters from a dashboard via a dashboard prompt and presentation variable to publisher report based on a data model with select statements in OBIEE 11g ?

    I have a publisher 11g (v 11.1.1.7)  report with a single parameter. The report is based on a data model not a subject area.  I created a dashboard put a dashboard prompt and link to the report in separate section on the same page.  The dashboard prompt sets a presentation variable named the same as the parameter in the report. 
    The problem was when I created the dashboard prompt, it forced me to select a subject area which I did (though did not want to) and then I created both a column and variable prompts. But clicking on the
    report link completely ignored the value that I thought would be passed in the presentation variable to the report.
    Side note :  My report uses a pdf template for its layout where I have mapped the columns names from my data model to the form fields on the pdf form.  I noticed that if I create a publisher report based on a subject area, then I do not have the choice to choose a PDF as a template type for my layout.  (I only see BI Publisher Template as a choice). 
    I see some documentation online that suggest it could be done in 10g.
    Thanks
    M. Jamal

    Ok,
    I just tried that and it still doesn't pass anything to the prompt.
    I changed the prompt to an edit field and I made the following weblink but when i click the link from an account it doesn't put anything in the prompt and all data for all accounts is shown.
    This is the URL maybe I messed something up...
    https://secure-ausomx###.crmondemand.com/OnDemand/user/Dashboard?OMTHD=ShowDashboard&OMTGT=ReportIFrame&SelDashboardFrm.Dashboard Type=%2fshared%2fCompany_########_Shared_Folder%2f_portal%2f360+Report&Option=rfd&Action=Navigate&P0=1&P1=eq&P2=Account."Account Name"&P3=%%%Name%%%
    thanks

  • SQL Developer Data Modeler suggestions

    Not sure where to post this (unable to connect to the blog from work due to network restrictions), hope this is the correct forum.
    I am testing out the Data Modeler product. I've got a large database that I want to reverse engineer, then work with the resulting model. I used the import feature which successfully imported all 1849 tables from my schema. However, this created a diagram which wasn't really useful. A couple of things I believe would be useful.
    1. Add better connectivity between the browser that shows the table listing and the diagram. When I click on a table, I'd like the corresponding element in the diagram to be highlighted (and vice-versa). Also, an option to have the diagram show that table would be useful (maybe a ctrl-click or shift-click).
    2. Subviews - I don't see an easy way to add to a subview once it is created. So, add an option to the browser and diagram right-click menu to "Add to SubDiagram". Currently the diagram allows you to create a subdiagram, I didn't see an add option.
    3. More keyboard shortcuts. Specifically, CTRL-Z to undo, CTRL-Y to repeat.
    4. Defined column types. You've got naming rules, but I'd like to be able to define columns as a predefined type, like "Dollar Amount", which would make my column become a number(9.2) or something like that.
    That's it for now - may be more to come.
    Don

    Hi,
    Thanks for the feedback. Most of these are in the product:
    +1. Add better connectivity between the browser that shows the table listing and the diagram. When I click on a table, I'd like the corresponding element in the diagram to be highlighted (and vice-versa). Also, an option to have the diagram show that table would be useful (maybe a ctrl-click or shift-click).+
    Go to Tools > General Options: Select Diagram and check the synchronize with tree option.
    +2. Subviews - I don't see an easy way to add to a subview once it is created. So, add an option to the browser and diagram right-click menu to "Add to SubDiagram". Currently the diagram allows you to create a subdiagram, I didn't see an add option.+
    There are threads in the forum about subviews and you can look at the demos available online on the [Data Modeler|http://www.oracle.com/technology/products/database/datamodeler/index.html] page - we'll be adding more, but the import from Data Dictionary demo talks about subviews.
    In short, select a few objects, right-click and create subview from selected, or right-click on the subview node in the browser and select new subview, and then drag the tables you want onto the new diagram.
    +3. More keyboard shortcuts. Specifically, CTRL-Z to undo, CTRL-Y to repeat.+
    We will be adding more shortcut keys.
    +4. Defined column types. You've got naming rules, but I'd like to be able to define columns as a predefined type, like "Dollar Amount", which would make my column become a number(9.2) or something like that.+
    These are Domains. Select Tools > Domains Administration, and add your domains.
    I'm working on adding short demos for all these features and we'll build these up over time.
    Sue

  • SQL Developer Data Modeler - Relation to Foreign Key Generation

    SQL Developer Data Modeler 2.0.0 Build 584.
    I am having trouble with Relations to Foreign Keys when Forward Engineering a Relational Model from a Logical Model.
    First of all, the Naming Standard is not applied to the Foreign Keys when I perform the Engineer to Relational Model.
    So I right click on the Relational Model from the Browser and Apply Naming Standards to Keys and Constraints.
    I uncheck everything but Foreign Keys.
    Now, Foreign Keys are named according to my Naming Standards.
    However, this process also performs renames on the Column Foreign Keys even though I specifically unchecked that option.
    This appears to be a BUG in the software and I haven't found a way around it.
    I tried using {column} instead of {ref column} in the Naming Standard Template for Column Foreign Key, but that simply resulted in renaming my columns to "{column}".
    Please confirm and/or let me know of any work-around for this.
    Thanks,
    Dan

    Hi Philip,
    Thanks for the reply.
    Is this recorded as a bug to be addressed in the future?
    Should I submit this problem via Oracle Support?
    The other work-around I came up with is to override every Relation name in the Logical Model with the name I want to use in the Relational Model.
    When the Relational Model is Engineered, this becomes my Foreign Key name.
    Of course, this is not how I want to do things, so I am hoping for a bug fix someday.
    Regards,
    Dan

  • Domains usage in SQL Developer data MODELER

    Hi,
    I'm trying to understand how to use Domains in Oracle SQL Developer Data Modeler. We use version 3.1.3 .  before I used Toad Modeler  where domains are just part of your main design.
    Oracle data modeler has some different concept.
    let's assume I'm working on 2 designs:  DesignA and DesignB that include relational models.
    DesignA and Design B should use domains but list of domains in design A is very different than in design B.
    Default domain file is located on c: drive where SqlModeler is installed. It is obviously unacceptable , so I need to change Default System Type directory in preferences.
    And of course I want to have different domain directories for DESIGN A and DESIGN B.
    So when I open design A then I changed   Default System Type directory  let's say to x:\AAA.   Then i close design A and open Design B and change Default System Type directory to x:\BBB
    I checked folders AAA and BBB and they  have necessary XML files there:  defaultdomains.xml, defaultRFDBSSites and so on....
    Now questions:
    can I rename defaultdomains.xls to something else like AAAdomains.xls?  Domain administration can edit any domain file with any name , but how  can I associate certain domain file with my design?  My wish , when I open my design , then corresponding domain file will be open automatically.  Is it possible?
    If I open 2 designs in Sql Modeler and switch between designs  then corresponding domain files should be changed automatically as well.  Currently   I shouldn't forget to change default System Type directory every time when I switch models.  Is it the only way to handle it?
    Thanks
    vitaliy

    Hi Vitaliy,
    We use version 3.1.3
    I recommend always to use the latest version. If you don't want to use beta (DM 4.0 EA is out) you can use DM 3.3.
    Otherwise Oracle SQL Developer Data Modeler supports two types of domains:
    1) DM installation domains - those in file defaultdomains.xml
    2) Design level domains - they are stored in design directories and are visible to particular design only. They can be created in following ways:
    2.1 Manually - there is a property "Domains file" and you id it's not set "defaultdomains" domain will become design level domain and will be stored in file with provided name (without .xml extension)
    You can change later the file for design level domains, however you cannot change file for domain already in defaultdomains.xml.
    2.2 Using types to domains wizard you can generate design level domains
    2.3 Design level domains are created during import of  DDL files (controlled in preferences)
    2.4 You can import domains from specific file with domains using "File>Import>Domains" - you need to rename the source file if it's named defaultdomains.xml otherwise you'll get domains as installation domains
    If the list with domains is too long you can define  a list with preferred domains (or/and logical types) in "Preferences>Data Modeler>Model" and you can use shorter list in Table/Entity dialog if check "Preferred" check box next to "Type:" combo box.
    If I open 2 designs in Sql Modeler and switch between designs  then corresponding domain files should be changed automatically as well
    If you open 2 designs in one instance of DM they will use the same file with default domains i.e. you'll lose domains in one of design depending of setting for "system data type directory". You need to go with design level domains.
    Philip

  • Problem in refreshing data model

    Hi,
    I am struggling in solving this issue for quite some time. I am developing a fusion web application using Jdeveloper 11.1.2.
    I have 3 view objects groups,employees and dependents. All the three view objects have binding variables and view criteria. The three view objects are linked using view links. The following shows the structure of the application module.
    Groups--------- binding variables: GrpID, GrpName
    ------Employees ---------- binding variables: EmpID,EmpName
    ---------Dependents---------------binding variables: DepID and DepName
    Now Groups and Employees are linked using GrpEmpViewLnk. Employees and Dependents are linked using EmpDepViewLink.
    I have a page which acts like a search form which has fields like GroupID, EmpId and DepID with corresponding buttons named "find" to look up information.
    When I try to set the GrpId at Groups VO, the data model is populating correctly with the rite employees and dependents.
    When I try to set the EmpID at Employees VO, the data model has incorrect data. I looked at the query to see whats happening. Along with setting the bind variables EmpID,EmpName for Employees VO, a bind variable from the view link EmpDepViewLink is also being passed. I don't have any idea of how to control the value that's being passed through the view link.
    Could someone please help me in resolving this issue. I can provide more info on this issue.
    Thanks!
    Shai.

    If you want to query Ephraim without dependency on a specific group, then you need to have it as an idependent go in your data model and not nested under group. Right now you'll be querying the empty in a specific group.

  • Domains and Logical Types in Data Modeler

    Been out of serious design work for a long time. Can someone provide a good pointer to descriptions on Domains and Logical Types and presented in the Data Modeling tool?
    For instance I am having trouble tracking the following distinctions:
    Domain Logical Type
    LongText Varchar
    ShortText Char
    Text Char
    NText NTEXT
    NVarchar NVARCHAR
    CHAR and VARCHAR are listed as Logical Types but not Domains. There is a TEXT logical type, but ironically, it does not correspond to the Text Domain. Varchar2 appears in neither list. I believe I ready the N* domains/types are for international characters (multi-byte?), but basically see no pattern here so was hoping someone could straighten me out.
    Thanks,
    Robert Kuropkat

    Hi Robert,
    Logical types are abstraction for native data types in supported databases. You need logical types if you want to import from database or DDL script (mapping of native to logical is important here) or want to generate DDL script (mapping of logical to native). You can delete all logical types (only "unknown" has importance) and create your own logical types. In this case you have to map them to native database types. If you use only Oracle database then you can delete types related to other databases. Of course you can rename existing logical types if you don't like how they are named.
    Domains are based on logical types - you need logical type in order to have valid domain definition. Provided domains are just sample. You can delete them - the only important here is "unknown". You can create two types of domains (it's usage point of view) - 1) per installation - common for all designs; 2) per design - they appear only for design they are defined. You also can import domains.
    Also domains are automatically created during import of DDL script - it's kind of data type aggregation - domain is created for each used data type.
    Best regards,
    Philip

Maybe you are looking for