Represent interfaces in data model

How can a Java interface with its own properties be represented in a data model? It would be like multiple inheritance for implementing classes from a data perspective, but in some data modeling it says that multiple inheritance is an illegal data modeling construct...
How do you go about representing interfaces? For example, many classes that are in their own inheritance hierarchies but all implement an interface with getters and setters for a particular persistent property?
Thanks.

How can a Java interface with its own properties be
represented in a data model? It can't.
It would be like
multiple inheritance for implementing classes from a
data perspective, My experience says that is a bad idea. For version one it seems like employee should be a child of person. And then for version two you have to add contractors, and volunteers and even companies (as an entity that produces work and gets paid an hourly rate) and then the inheritence model completely fails.
How do you go about representing interfaces? For
example, many classes that are in their own
inheritance hierarchies but all implement an
interface with getters and setters for a particular
persistent property?In a modeling tool I might have one page that lists impementations of some interfaces.
On another page I just show relationships with the interfaces (no implementations are shown.)
A data object itself should not be an interface.

Similar Messages

  • Mapping data model to java classes and Interface.

    Need help in mappning my data model into java classes;
    Here are some of the details:
    Table, Poll:
    PollID int
    PollName varchar
    BusinessUnit varchar
    DisplaySchemeID int // reference to DisplayScheme table.
    Table, DisplayScheme
    DisplaySchemeID
    DisplaySchemeName
    etc
    Table, URL
    UrlID
    UrlName
    UrlDesc
    Table, PollURL
    PollURLID
    PollID
    UrlID
    PublishDate
    etc
    Table, Tag
    TagID
    TagName
    PollID
    So, a POLL is associate with a DisplayScheme.
    A Poll can have many URLs and a URL can be associate with many Polls , mapped in the PollURL table.
    and same is the situation with tags.
    Essentially I want to learn how to do one to many mappning and many to many mapping.
    Also to add, since I plan to use Ibatis for OR mapping.
    So I should a Parameter call to map for creaint a Poll. And to create a poll the form submitted will have:
    - PollName
    - URLs ( multiple )
    - one display scheme.
    - Tags ( many )
    So if you can show how to write a DAO createPoll method, then it would be great.
    Not sure if am asking a lot, but this would be a great example to move forward.

    The below is the sample DAO Class.
    For your case, you have to create your own PollBean with getters and setters and just pass the object to the method
    public int create(Connection con, ProjectBean projectBean) throws SQLException {
              int result = 0;
              String insertQuery = " INSERT INTO" +
                        " M_PROJECT(" +
                        " PROJECT_ID," +
                        " PROJECT_NAME," +
                        " PROJECT_DESCRIPTION) " +
                        " VALUES(?,?,?,?)";          
              initPrepareStmt(con, insertQuery);
              setString(projectBean.getProjectID());
              setString(projectBean.getProjectName());
              if(projectBean.getProjectDescription().equals("")){
                   setString(" ");
              }else{
                   setString(projectBean.getProjectDescription());
              result = executeUpdate();          
         return result;
         }

  • 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

  • Basic questions on data modeling

    Hi experts,
    I have some basic questions regarding data modeling within MDM. I understand the available table types and the concept of lookup fields. I know that the MDM data modeling concept is different to the relational concept. But having a strong database background my first step was to design a relational data model which I would like to transfer to a MDM repository. Unfortunately I didn't found good information material on this. So here are some questions maybe you can help me:
    1) Is it the right approach to model n:m relationships with multivalued lookup fields? E.g. main table Users with lookup field from subtable SapAccounts (a user can have accounts in different SAP systems, that means more than one account).
    2) Has a record always be unique in MDM repositories (e.g. should we use Auto ID's in every table or do we have to mark a combination of fields as unique)? Is a composite key of 2 or more fields represented with marking these fields as unique?
    3) The concept of relationships in MDM is only based on relationships between single records (not valid for all records in a table)? Is it necessary to define all relationships similar to the relational data model in MDM? Is there something similar to referential integrity in MDM?
    4) Is it possible to change the main table to a sub table later on if we realize that it has also to be used as a lookup table for another table (when extending the data model) or do we have to create a new repository from scratch?
    Thank you for your answers.
    Regards, bd

    Yes you are correct. It is almost difficult to map relational database to mdm one. But again MDM is not 'just' a database. It holds much more 'master' information as compared to any relational db.
    1) Is it the right approach to model n:m relationships with multivalued lookup fields? E.g. main table Users with lookup field from subtable SapAccounts (a user can have accounts in different SAP systems, that means more than one account).
    Yes Here you need to use MV look up tables or can also try Qualifier tables if it gets more complex
    2) Has a record always be unique in MDM repositories (e.g. should we use Auto ID's in every table or do we have to mark a combination of fields as unique)? Is a composite key of 2 or more fields represented with marking these fields as unique?
    Concept of uniqueness differs here that you also have something called Display Fields (DF). A combination of DF can also be treated as Unique one. For instance while importing records if you select these DF as a combination, you will eliminate any possible of duplicates based on this combination. Auto Id is one of the ways to have a unique id once record is within MDM. While you use UF or DF to eliminate any possible duplicates at import level
    3) The concept of relationships in MDM is only based on relationships between single records (not valid for all records in a table)? Is it necessary to define all relationships similar to the relational data model in MDM? Is there something similar to referential integrity in MDM?
    Hmm... good one. Referencial Integrity. What I assume you are talking is that if you have relationships between tables then removing a record will not be possible as it is a foreign key for some record. Here MDM does not allow that. As Relationships within MDM are physical and not conceptual. For instance material can have components. Now if material does not exist then any relationship to components is not worthwile to maintain. Hence relationshsip is eliminated.  While in relational model relationships are more conceptual. Hence with MDM usage of lookups and main table you do not need to maintain these kind of relationships on your own.
    4) Is it possible to change the main table to a sub table later on if we realize that it has also to be used as a lookup table for another table (when extending the data model) or do we have to create a new repository from scratch?
    No. It is not possible to convert main table. There is only one main table and it cannot be changed.
    I went for the same option but it did not work. What I suggest is to look up your legacy system one by one and see what fields in general can be classified as Master, Reference, Transactional - You will start getting answers immediately.

  • How can we get the value of the key field in a custom data model using governance API?

    Dear Team,
    How can we get the value of the key field in a custom data model, to be used for manipulation of the change request fields using governance API?
    Any kind of help would be sincerely appreciated.
    Thanks & Regards,
    Tushar.

    Hi Michael,
    Thanks for direction. Let me give more context on this as I'm interested to get more details..One of the issue was to read cross entity field values on UI based on user action and set other entity field behaviour...It is similar to what is being posted here.
    For ex: Reading MTART from Basic Data UIBB in MM MDG UI and set the field properties in some other custom entities say ZZETEST. This cannot be done using UI BADI as it only supports single entity at a time and not cross entity. So alternatively we found a solution where we can enhance existing PLMB feederclass cl_mdg_bs_mat_feeder_form by reading the model and the entity as needed as it it proved that it supports cross entity UI field behaviours and so business requirements.
    This is a workaround for now.
    So the question is How do we achive it using governance API for cross entity field behiaviours.?or what is the right way doing this.
    Can we do that using governance API and its' methods?
    In the Governance API doc you provided below has referring to below external model as part of gevernance API.
    The active or inactive data (before or during the derivation or the check) can be read
    with the external data model interface IF_USMD_MODEL_EXT with the method READ_CHAR_VALUE and
    the corresponding READ_MODE parameter. To avoid unnecessary flushes (derivations), the NO_FLUSH
    parameter should b
    e set to ‘X’.
    Thanks
    Praveen

  • Issue in creating a custom data model from BP

    Hi Team
    We have a requirement to create a custom data model by copying data model BP. I have successfully created new data model ZP . I have copied the UI for searching from BP. Issue is when i search a business partner  ideally it should not display any entries because i have just created the data model, But it is taking entries from BP and getting displayed. Please let me know how to map data model to search UI. I dont see option USMD_MODEL here

    Hi Imran,
    actually that is not an issue but a designed feature. I'm afraid that you need to re-think your whole project. The explanations is rather simple:
    Data model BP in MDG is a so called Re-Use Area data modell. This means that active data (records that are currently not stored in a change request) are saved in existing SAP ERP data base tables like BUT000 for the business partner master data and LFA1 or KNA1 for Vendor or Customer master data.
    If you copy data model BP to ZP you still refer to the same active area. You will always find the same active objects - no matter which data model you are actually using for the user interface. The only difference wil occur for objects being currently processed in a change request. In that case a separation between BP and ZP is possible. But this won't help to solve your issue.
    From SAP side I can only recommend not to copy BP but to find a different way of integrating your project needs into BP.
    Best regards
    Michael

  • SQL Developer Data Modeler scripting

    Hi,
    I'm looking for a new modeling software for my company. SQL Developer Data Modeler (SDDM) has many features that fit my requirements. But there are some things that I'm not sure can be done. I work mostly with Oracle databases but still need to support some legacy and non-sql databases. Please look at problems below and tell me if and how those things can be achieved. Any suggestions for alternative solutions are welcome too.
    1) I need to be able process Database Model from command line without human intervention and starting any GUI applications, for example generate DDL script form the model. Does SDDM have any interface for that?
    2) I want to be able to export Database Model into a file in a custom (legacy) format.
    3) SDDM stores database description in xml files. Is xml format defined anywhere? Are xsd schema files availabe?
    4) Is there a SDK available that would allow reading SDDM Database Model into a custom application for further processing?
    5) Is there any Java library available that parses Oracle-11-compatible SQL and PL/SQL?
    Thank you in advance
    Tomasz Grygo

    Hi Kevin,
    thanks for sharing your thoughts. There will be much more advanced find/search facilities in next version of Data Modeler and scripts also will be covered.
    Philip

  • Support of PL/SQL Functions in Data Modeler

    Hello,
    Sorry if this question has already been answered, I searched the forum but got 215 hits on data modeler + pl/sql functions.
    So my question is:
    Stored Procedures are already supported by the physical model (11g) of data modeler, but I could not find any method
    to create pl/sql functions via data modeler - neither in the documentation nor on the user interface. Is this
    currently not supported?

    Is this currently not supported?There will be support for functions and packages in next release.
    Philip

  • Identify Entities for Logical Data Model

    Hi,
    I donno exactly this is the correct forum for this question. I believe there are database experts here to help me on this.
    I am in confusion that, phsically the data can be saved in a set of tables (4-5 tables). But different views (User Interfaces) and reports can be created from these tables.
    Assume that,
    View1 - Uses all tables
    View2 - uses only 3 tables
    View3 - uses only 1 table
    Report 1 - uses only 2 tables
    Report 2 - uses only 4 tables
    Should my Logical Data Model reflect all these view1, view2, view3, Reprt1 and Report2?
    How exactly do we need to identify the entities for Logical Data Model?
    Could you please any one help me on this?
    Thanks & Regards
    M Thiyagu

    sorry, i couldnt understand your query..
    thanks,
    baskar.l

  • Will there be generators for Data Modeler

    Are there plans to add any generators to SQL Data Modeler? This would be similar to what we had in Oracle Designer. One of the nicest things with Oracle Designer was that we could interview the End Users, build the ERDs and FHDs based on the interviews, push them down to tables and modules and menus, then generate those with Forms and Reports and then show the End User the prototype. This would provide the feedback if we were in the right track or not very early on in the design process. Since we had the data model transformers, we could modify the logical model and then re-push the changes.
    With DM 3.0 and all that it provides on the modeling side, will some form generators for a user interface be provided?
    Thanks in advance,
    Scott

    That last statement, question should read:
    With DM 3.0 and all that it provides on the modeling side, will some form of generators for a user interface be provided?
    Edited by: ScottK on Feb 23, 2011 10:23 AM

  • Data Modeler / Logical Model / How to display the "relationship name" ?

    Hi,
    Oracle SQL Developper Data Modeler 2.0.0 (build 584):
    I would like to know if there is a way to display the "relationship name" in the diagram for the logical model in the GUI interface and/or to print it?
    I checked in the different setup tool options and I did not find it...
    Thanks for your help.
    Regards,
    Robin Ouellet

    Hi Robin,
    you cannot "show" relationship name on logical diagram - you can show "name on source" and "name on target" properties. You can set them at cardinality page of relationship dialog, And make them visible in "Tools>General options>Diagram>Logical model" settings - it's "Show Source/Target Name" option.
    For printing - you can use "File>Print Diagram" to print in different format. Also "File>Print" allow diagram to be printed to printer, plotter or PDF printer if you have one installed.
    Philip

  • SQL Developer Data Modeler Definitions

    I am brand new to SQL Developer Data Modeler, but not new to modeling (I've used Rational Rose for 8 years). Can someone point me to a list of definitions of the terms SQL Developer Data Modeler uses throughout its interface? I have poured through all of the help documentation only to find no such documentation.
    Thank you in advance!
    Craig Benson

    Looks like you've run in something similar
    Re: Datatypes changing on their own
    Is column data type changing to Audio just on click of the column in Table properties dialog or you are doing something prior (add column, press Shift ...) ? Are you using domains ? Do you save model after importing or you trying to modify it right after import ?

  • Data model binding with a "for in" loop

    I've got a data model representing form items. An example
    data model element and form item looks like this:
    <data_model>
    <item_1>{item1.text}</item_1>
    </data_model>
    <mx:DateField id="item1" text="{data_model.item1}"/>
    I get data back from a database as an associative array and
    convert it to an ArrayCollection like so:
    formData = new ArrayCollection(ArrayUtil.toArray(re.result));
    Now, if do this:
    data_model.item_1 = formData['item_1'];
    the text of form element item1 will be updated as I would
    expect via the binding between the two. If I iterate through the
    array as such:
    for (var key:String in formData) {
    data_model.key = formData[key];
    the model is updated but the form element text field is not.
    I'd love the convenience of iterating through the array as opposed
    to having to type out all the model elements by hand. Ideas?

    Figured it out. Instead of this:
    data_model.key = formData[key];
    do this:
    data_model[key] = formData[key];
    So silly

  • Data Modeler goes to Oracle Database Repository ?

    Hi Philip,
    Thank you very much for your quick answer. Hope that this forum is the correct one right now.
    To us it seems to be inpossible to use the data modeller v3.1 with SVN.
    The recent designer-toolbox hasn't been updated by Oracle since 2007.
    That's why we have created various interfaces and workarounds of our own:
    A cg-refcode-interface with multilingualism, a table- and module-api, a hyperion application
    to generate ddl-statements from case-repository (using user-extension for the new features of v10g).
    These interfaces would not be possible with XML structure and would be discarded.
    Central data modeling is a strategic approach for our company (financial) and has been
    classified with risk class 1.
    Because of this fact, I'd like to ask again:
    Is there a timetable for converting Oracle's Data Modeler from XML structure to database?
    By the way: This was promissed by Mrs Sue Harper in 2007.
    Regards,
    Reinhard

    Hi Reinhard,
    To us it seems to be inpossible to use the data modeller v3.1 with SVN. Why is that? Is it forbidden to use SVN in your company or you have other reasons.
    Is there a timetable for converting Oracle's Data Modeler from XML structure to database? Not for functional repository. We have reporting repository and our target is all information to be there. You can have history of your designs (snapshot at specific time) in reporting repository and then you can run your tools against it.
    That's for the moment. I'm not going to make other promises.
    Philip

  • IDM person centric data model

    HI,
    We are using Sun IDM to do provisioning for an service provider. The data model differs from the standard user view, where one Person has many Accounts on many Resources.
    The data model we are trying to represent is complicated: but simply it is Person has many Credentials, that each link to many Roles. A persons Role(s) link the 3 entities Service, BillingAccount and Person, and describe what that Person is to that Service or BillingAccount. Eg user, account payee, account authority etc.
    How can we represent this in Sun IDM. I have looked at Scripted JDBC connector and it's ability to map user Account properties to a database as two or more tables but this doesn't seem powerful enough. Any ideas?
    Thanks.

    It is always difficult when these one-to-many situations have to be handled in BW.
    Here are two approaches:
    One model is to have two sets of records, one of header level and one on cost item level. The header level set of records would have the key figure(one record with 20) because it belongs there. There is an extractor for that I think it was 2LIS_08_TRTK. The cost item level set off records should not have this KF.
    You can now have these two to sets of records either in one cube or in two separate cubes with multiprovider on top.
    This is the clean way.
    When designing the queries, keep in mind that there are multiple records (one header and many cost item records). For example you can report only on header and jump-query to  the items.
    Second model would be to “collapse” the items to the header. So instead of having three items, have only one header record and “aggregate” the items. This requires user participation and agreement to a design where the cost item records will not be immediately available but instead a compressed record will be. For example if you have a date, you can create first date and last date characteristics on the header record.
    The exception aggregation may not actually work in all cases, I am not sure with what characteristic and what exception in particular you using.

Maybe you are looking for