Engineer to Logical Model ODDM3

I believe there is a bug in Engineer to Logical Model process. The first time you run that process it works perfect. If there are changes in the Relational model and then you try to use Engineer process again just Entities are added and the relations get lost.
Have anyone had the same experience?
Best Regards
Ivan

Hi Ivan,
just Entities are added and the relations get lostWhat do you mean exactly - you have new foreign keys and no new relationships are created or existing relationships are deleted from logical model.
Philip

Similar Messages

  • Engineer to Logical Model in SQL Developer EA4 causes problems

    I'm working with SQL Developer 3.0 EA4 (Build MAIN-03.97)
    Unfortunately I fond out, that it would be impossible to use the function " Engineer to Logical Model" any more after I change the relational model. In datamodeler.log I got the error message line "[AWT-EventQueue-0] ERROR MDBAction - java.lang.NullPointerException" for each time I use the function "Engineer to Logical Model". I try it out with the sample model "sh_cre_all.sql" and with following steps:
    1) Import via DDL File – no problem
    2) Engineer to Logical Model – no problem
    3) Change some attributes in the relational model – no problem
    4) Again Engineer to Logical Model – no problem
    5) Save, Exit an Open the sample – no problem
    6) Again Step 3 and 4 – no problem
    7) Add a table via drag&drop from an oracle schema – no problem
    8) Save, Exit an Open the sample – no problem
    9) Engineer to Logical Model no longer possible!!!
    Bernd

    I have experienced similar problems with 'Engineer to Logical model'.
    The scenario was following:
    Creating Logical model using 'Engineer to Logical model' from existing Relational model.
    Modifying the Relational model and 'Engineer to Logical model' again. No exception occured but the Logical model wasn't updated accordingly.
    Removing all entities from the Logical model.
    Trying to 'Engineer to Logical model' again. No entities were created in the Logical model (even after few tries).
    So I got to situation where I was unable to generate a Logical model, which was quite frustrating.
    The workaround was to create new Data Modeller project and import to it from the original project - the 'Engineer to Logical model' worked again.

  • Design -   Engineer to Logical Model:  Nullpointer Exception

    Hi
    I imported in my physical data model as relation model using Import -> Data Dictionary. Craeted a subview (in relational model) and reverse engineered to logical model. Worked fine.
    Now I created more subviews(ard 10) in relational model and when try to reverse engineer, get nothing on screen.
    In <datamodeler>\datamodeler\log\datamodeler.log find the following exception:
    2011-10-25 12:22:39,588 [main] INFO DataModelerAddin - Oracle SQL Developer Data Modeler 3.0.0.665
    2011-10-25 12:25:20,344 [AWT-EventQueue-0] ERROR MDBAction - java.lang.NullPointerException
    Any help would be appreciated.
    Regards
    P.S have approx 90 tables in relational model where I created subviews. Also have 2 more relational model with in same design with just tables import in them.

    Philip
    Thanks for your answer. I downloaded and installed 3.1 EA1 and for some weird reason I dont see Design menu as it was in DM3.0.
    I have uploaded a snapshot (No Design Menu in DM 3.1) with menu and about. I tried uninstalling and reinstalling the 3.1 too with out any success.
    Any pointers?
    Regards

  • Engineer to Logical Model is not working!

    Hello
    I have a model that I started by reverse engineering from the database and generated the ER Diagram by reverse engineering to Logical.
    After this I had to add some more tables to the relational model which I realized was already in the database and reverse engineered that into the model as well. Now, I am unable to Engineer to logical. Is this an expected behaviour as designed?
    Next I am going to try to reverse engineer from a relational model to a blank logical in a new data modeler design file. After that I will merge that change into current model. Please let me know if there is an easier way around this.
    Thanks & Regards
    Tiji

    The valid scripts in this post solved my problem.
    Re: Switch from v3EA4 to v3.0.0.4 production - Corrupted models?
    Script #1: Search for invalid mappings.
    Script #2: Clean up by removing invalid mappings.
    Script #3: Call Forward Engineer dialog with exception handling included to share with forum or debug.
    Script #4: Call Reverse Engineer dialog with exception handling included to share with forum or debug.
    After running Script #2, when we run Script #1, the log will be empty which is the expected result. Now my reverse engineering option does work from relational to logical.
    Thank you Phillip and DMBee for guiding me to the solution.
    Thanks & Regards
    Tiji
    Edited by: Tiji on Jun 14, 2011 8:31 AM

  • DataModeler: Cannot engineer from logical model to relational model

    Hello,
    I have been trying for a couple of (very frustrating) hours to engineer a very simple logical model to its relational model. The toolbar button (and also menu option) that should do this just does nothing. No errors, no feedback, absolutely nothing!!! However I could engineer a relational model back to its logical model.
    I am using SQL Modeler version 1.5.1 build 525 on Windows Vista. I have closed and restarted the program many times but to no avail. Are there other factors (e.g. anti-virus, JDK etc) that could be responsible? But then why are other parts of the software working but not this one?
    Please kindly send your advice asap so I can proceed. I really like the Modeler and will not want to discard it.
    Thanks,
    Chiedu

    Hi Folks,
    I was able to figure out the likely cause of the problem. The version of Modeler (datamodeling-1.5.1-525-no-jre.zip) I used was downloaded without JRE. The current version of JRE installed on my computer is Java 6 Update 12 (build 1.6.0_12-b04). I suppose the two don't quite work very well together.
    I have now downloaded and installed another version (datamodeling-1.5.1-525.zip) with its own JRE and the problem was resolved.
    My guess is that the problem was due to the incompatibilities that may exist between Data Modeler and the various versions of JRE.
    Thanks.

  • Engineer between Logical Model and Relational Model

    I am trying to update changes from one model to the other but there are dublicate entries generated instead of updates.
    The Logical Model was imported from Oracle Designer, the Relational Model was imported from data dictionary.
    Our rule is, that the name of Entities/Tables and Attribute/Columns are identical.
    So I changed the Naming Standard of the Logical Model in Preferences
    from Separator = Space to Separator = Character with char = Underline.
    If the entity is not existing, it is created with the correct name.
    If the entity exists, a new entity is created with Namev1.
    The same happens when I try to update changes in the other direction.
    How can I achieve that the existing entity (or table) is updated and not a new one is created?
    Or in other words, is there a way to link entities to corresponding tables?
    Walter

    Hi Walter,
    The Logical Model was imported from Oracle Designer, the Relational Model was imported from data dictionaryit's good to import entities and related tables from Designer repository together. Data Modeler will import the link between them and use that link in synchronization between logical and relational model. After that you can import details for physical model from database.
    If you don't have tables in Designer repository and keep the same names for entities, attributes, tables and columns then you can engineer logical model to relational and import details from database.
    Philip

  • Sql datamodeler: Engineer to relational model: General Options

    Hello
    When you engineer your logical model to a relational model you get a wizard. In lower part of this wizard byou have several tabs, one of the tabs is called general.
    On this general tab you have check box: Apply Name Translation
    The corresponding help text:
    Apply Name Translation: Controls whether formal names are translated to abbreviated names when the logical model is forward engineered to a relational model, and whether abbreviated names are translated to format names when a relational model is reverse engineered to the logical model. Name translation is applied only for valid names. In addition, translations between the words entity/attribute/key and table/column/index are performed.
    Does anybody have a clue what is meant here?
    Regards Erik

    Erik,
    you have to create glossary (tools>Glossary editor) with words permitted for usage in names in logical model. For each word you can define abbreviation that will be used in transformation process.
    Example:
    Employee - EMP
    Salary - SAL
    Attribute "Employee Salary" will be transformed to column "EMP_SAL".
    You can define preferred abbreviation for entities and attributes and it can be used instead of glossary definitions.
    You also have to set your glossary in "Tools>General Options>Naming standards>Glossary"
    Best regards,
    Philip

  • Unable to generate Logical Model Diagrams through Reverse Engineering

    Hi,
    I am currently using SQL Developer Data Modeler Version-3.0.04.
    I have generated Logical Model Diagrams from Relational Model Diagrams through Reverse Engineering (Done by pressing an" engineer to Logical Model button" on top panel of sql developer) .I saved the DMD file (source file) once i had done generating the logical diagrams.Now if i reopen the DMD and open the logical diagram again I found that most of the tables had lost their relationships.So i tried to regenerate the Logical Model Diagram again from the same Relational Diagram but it is not being generated unless i create a new Relational Diagram.Is there a way to generate multiple Logical Diagrams for the same Relational Diagram rather than creating a new one for each Logical Diagram to be created.
    Regards .
    Thanks in advance.

    Any comments on this issue?. Please let us know.

  • Importing multiple column names to Logical Model

    I have approximately 2,000 column names to import into a new logical model and create my glossary. The names are in currently in .xls format. Is there an easy/efficient way to do this or must I enter each into the logical model attributes? Maybe a way to cut/paste multiple columns into the logical model?
    Thanks...

    Hi,
    it's not clear what are you trying to achieve:
    I have approximately 2,000 column names to import into a new logical model are you trying to create attributes in logical model - you also need entities that will contain these attributes.
    and create my glossary. The names are in currently in .xls format.or you want to create glossary from your file. You need to transform your file in following format and import it in glossary editor using ERwin txt format:
    COUNTRY,CTRY,
    IDENTIFICATION,ID,
    REGION,REG,
    DEPARTMENT,DEPT,
    Maybe a way to cut/paste multiple columns into the logical model?if you have tables with columns in relational model then you can use "Engineer to logical model" functionality to get entities and attributes in logical model.
    Philip

  • Creating Multiple Logical Models?

    My boss wants me to model how all his APEX webbased applications interact, how they share data, by using Oracle's DataModeler software in SQL Developer environment.
    So, I did a data import of the similarly named tables for each application, and each one is now its own RELATIONAL MODEL. These are just displaying as yellow entities (tables) with their corresponding column and datatypes inside.
    I know to rightclick on the model in the browser to select ENGINEER TO LOGICAL MODEL, but I need to display a logical model for EACH applications related tables, but when I 'engineer to logical model' for each of the apps they all just keep adding a SINGLE logical model, when I want them to have their OWN logical model.
    tl;dr: How do I create simplified logical models for seperate apps

    A logical data model will help you (and other stakeholders) understand the business and data requirements (in other words, the information needs) from a business perspective, irrespective of DBMS technology. An LDM is an analysis artefact. This is great to validate your understanding and confirm with business analysts and business reps, as well as complementing with other analysis artefacts like process models. Also very helpful to see how different systems interact, and where there is commonality and/or redundancy.
    A physical data model (i.e., relational), a.k.a., database design, defines and illustrates the structure of the data as they will be implemented in a database. A PDM is a design artefact, derived or transformed from the logical data model. Developers and DBAs will be your main audience.
    Patrick

  • Logical model fwd engineer to relational model.  Missing FK relationships

    We are experiencing missing relationships in the relational model when engineering from logical model to the relational model. The logical model objects have properly defined primary keys defined. We are using SQL Data Modeler v3.1.700. Any suggestions on how to engineering these relationships without deleting the objects from the relational model.
    Thanks,
    Ed

    Hi Ed,
    I presume you had some relationships in the Logical Model that you were expecting to be engineered to Foreign Key relationships in the Relational Model.
    Please can you provide more detail to help resolve your problem. For example:
    Was the problem on an initial engineer from the logical model? Or on a re-engineer?
    Are you using Entity subtyping in your Logical Model?
    Are there any relevant error messages in the log file? (This is normally file datamodeler.log in folder datamodeler\datamodeler\log.)
    David

  • Setting to Select Elements on a Logical Model and Have Them Pre-selected on Engineer Page

    Is there a setting somewhere that would allow me to select objects on a logical model or in the tree view and have them pre-selected in the Engineer to Relational Model window?  Coming from the Designer world  I keep selecting entities in my model and am surprised they are not already selected when I click the engineer icon.  If not I will submit this as an enhancement.  Anyone else interested in this?
    Marcus Bacon

    It is also necessary to click on the check box twice to select/de-select an item.

  • Bug regarding not filling in length of varchar field in logical model?

    I successfully was able to create a logical model, engineer to relational, and generate DDL from this.
    However, I found after generating the DDL and attempting to run it, I received errors in creation of some tables saying "missing left parentheses."
    After going back and checking, it turned out that I was somehow able to define columns of type varchar in the logical model without putting in a length for the column. Data Modeler generated the DDL for the table looking something like this:
    CREATE TABLE LIC_TYPE
        ID     INTEGER NOT NULL ,
        CODE   VARCHAR2 (1024 BYTE) NOT NULL ,
        "DESC" VARCHAR2
      LOGGING ;
    (for the DESC column) -- which then throws an error.
    Should DDL generation should throw a warning when attempting to create CHAR or VARCHAR columns without a length instead of generating the DDL with no errors? Or is this intended functionality?
    Using SQL Data Modeler/SQL Developer 4.1 EA2.

    Hi,
    Thanks for reporting this problem.  I've logged an enhancement request.
    David

  • DM3.0 EA2: Logical Model Relation Cardinality:Source Optional mislabeled?

    In logical model, created a 1:N non-identifying relation between 2 entities - Parent and Child. Parent is 1:N with Child. Both entities have a single column primary key - parent_id and child_id respectively. I would like to enforce RI such that a parent may exist with no children, but a child may not exist without a parent.
    In the logical model the relation properties, cardinality - I modify the Source Optional and Target Optional checkboxes to achieve my desired result. I first tried checking Target Optional and leaving Source Optional un-checked. I then engineer a physical model and generate DDL for Oracle 11g I get this constraint:
    SQL>ALTER TABLE child
      2      ADD CONSTRAINT Relation_1 FOREIGN KEY
      3      (
      4       parent_id
      5      )
      6      REFERENCES parent
      7      (
      8       parent_id
      9      )
    10      ON DELETE SET NULL
    11  ;
    Table altered.Here's a test case illustrating this isn't quite what I wanted (starting with both tables empty):
    SQL>
    SQL>
    SQL>insert into parent (parent_id) values (1);
    1 row created.
    SQL>commit;
    Commit complete.
    SQL>
    SQL>insert into child (child_id, parent_id) values (901, 1);
    1 row created.
    SQL>commit;
    Commit complete.
    SQL>
    SQL>delete from parent;
    delete from parent
    ERROR at line 1:
    ORA-01407: cannot update ("ODS_ETL_OWNER"."CHILD"."PARENT_ID") to NULLIf I have Source Optional checked, and Target Optional not checked, engineer a physical model and generate DDL for Oracle 11g I get this constraint which produces the desired results with my test case:
    SQL>ALTER TABLE child
      2      ADD CONSTRAINT Relation_1 FOREIGN KEY
      3      (
      4       parent_id
      5      )
      6      REFERENCES parent
      7      (
      8       parent_id
      9      )
    10  ;
    Table altered.
    SQL>
    SQL>insert into parent (parent_id) values (1);
    1 row created.
    SQL>commit;
    Commit complete.
    SQL>
    SQL>insert into child (child_id, parent_id) values (901, 1);
    1 row created.
    SQL>commit;
    Commit complete.
    SQL>
    SQL>delete from parent;
    delete from parent
    ERROR at line 1:
    ORA-02292: integrity constraint (ODS_ETL_OWNER.RELATION_1) violated - child
    record foundBut that seems backwards - and the documentation also reads as if it’s backwards. Am I missing something or are the Source Optional and Target Optional checkboxes mislabeled? Should they be Source Manditory and Target Manditory?

    I would like to enforce RI such that a parent may exist with no children, but a child may not exist without a parent.You need to set parent as optional and child to be mandatory.
    Am I missing something or are the Source Optional and Target Optional checkboxes mislabeled? Should they be Source Manditory and Target Manditory?There is a relationship and two ends of that relationship and you can set for each end whether it's optional or not. And that's seen directly using Barker notations. Source and target optionality place will be swapped on diagram if you use IE notation.
    I expected that cardinality part could be more confusing for you because at source end you define cardinality of the target, but it seems you have no problem with that.
    Philip

  • How to resolve corruption in logical model?

    Hello
    I have a logical model created in SDDM 3.1.2.704.  I have engineered to a relational model successfully in the past, but recently when I tried to engineer logical -> relational nothing happens.  I get the following entry in the log file:
    [AWT-EventQueue-0] ERROR MDBAction - java.lang.NullPointerException
    Looking at some other discussions, I used the transformation script described here
         3.1.3.709: How to Verify and Fix a Possibly Corrupted Design?
    This didn't fix my problem, but the output file (generated when I press the Engineer to Relational model button) shows the following exception:
    java.lang.NullPointerException
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.decodeDataTypeKindToString(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.processDataTypeAndUse(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.AttributeColumnComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.AttributeColumnComparator.<init>(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.AttributeColumnComparator.<init>(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addAttribute(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addEntityDetails(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.setEditableStatus(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addEntity(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.addFromLogicalModel(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.FE_LogicalToRelational.<init>(Unknown Source)
    at oracle.dbtools.crest.swingui.engineeringcompare.EngineeringCompareDialog.<init>(Unknown Source)
    at oracle.dbtools.crest.swingui.logical.ControllerLogical$FWDEngineer.doActionPerformed(Unknown Source)
    at oracle.dbtools.crest.swingui.MDBAction$ActionInvoker.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
    at java.awt.EventQueue.access$000(EventQueue.java:85)
    at java.awt.EventQueue$1.run(EventQueue.java:603)
    at java.awt.EventQueue$1.run(EventQueue.java:601)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    I have tried SDDM 3.3.0.747, same result.
    I have tried removing entities from the model, 1 at a time, but the problems continues (even when the model is reduced to no entities at all!)
    I have tried exporting the model and importing it into an empty design.  The import fails "Unable to generate design" and produces the following exception in the datamodeler.log file:
    [Thread-19] ERROR ODExtractionController - Error Generate Design: Untitled_1
    java.lang.NullPointerException
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.decodeDataTypeKindToString(Unknown Source)
    at oracle.dbtools.crest.model.design.engineering.EngCOPropertiesComparator.processDataTypeAndUse(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.COPropertiesComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.AttributeComparator.initPropertiesList(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.AttributeComparator.<init>(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.addAttribute(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.addEntityDetails(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.addEntity(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.initSourceDesign(Unknown Source)
    at oracle.dbtools.crest.model.design.compare.cwddesign.CompareCWDDesigns.<init>(Unknown Source)
    at oracle.dbtools.crest.swingui.compare.cwddesign.CompareCWDDesignsDialog.<init>(Unknown Source)
    at oracle.dbtools.crest.imports.cwddesigner.CWDExtractionController$Runner2.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:662)
    Any help greatly appreciated.  With over 100 entities and 200 relationships I really don't want to have to recreate this.
    Thanks in advance.

    Hi,
    but the problems continues (even when the model is reduced to no entities at all!)
    The error you reported (in engineering and import) cannot be reached if there are no entities and attributes - it's a specific error probably related to usage of distinct types that are removed from design.
    You can use search functionality in order to find attributes/columns (logical/relational model) with incorrect data type definition based on distinct type.
    And it's better to move to Data Modeler 4.0 (833).
    So what to search (example is on logical model - it's the same for relational model - column):
    1) Activate search window (CTRL-F when logical diagram is active, or Find icon), switch to advanced mode
    2) for "Object type" Attribute:
    - check "Data Type kind" line and put DT as search text
    - check "Distinct type" line, don't put search text - it'll search for attributes without distinct type
    - change the operand for expression from OR to AND
    3) press "Find" button
    If you find some attributes, then you need to decide what to do with them - to set data type or to delete them.
    The same for columns in relational model.
    Philip

Maybe you are looking for

  • Query Print Layout - Incoming Payment

    Hi All, I have done the query print layout for incoming payment. but it cannot show the correct A/R invoice: document number. When I only make the payment for 1 invoice it seems to be correct, but when I choose 2 invoices to be paid, then the A/R inv

  • How to restrict number of column exposed by xsoData service at runtime

    Hi All, I have created one xsoData service over calculation view (imported one BW cube). I want to expose few characteristics of cube and a key figure. I want to decide this key figure at run time,means if i have say three key figures say quantity, c

  • Example for loading a csv file into diadem from a labview application

    Hi everyone, i'm using labview 8.2 and DIAdem 10.1. I've been searching in NI example finder but I had no luck so far. I have already downloaded the labview connectivity VIs. Can anyone provide a example that can help me loading a csv file into diade

  • Long running Process chain for less Number of records

    Hello Experts, I have a problem with a process chain which is taking very long time ( To load around 20 records) Problem Description: 1) I have one base ODS and First level ODS and the data uo to this point is loaded with out any problem. 2) When the

  • I am having trouble buying book on Aperture 3

    It asks me to create a new account even though I have a valid apple account. Then I re-create account and it gets stuck on the shipping page.  Asks me to "try later".  I am in Europe but using a US apple account and shipping to US. Really need to pri