Increased Object Type support within Data Modeler

Hi,
This is a question mainly for the Data Modeler Development Team as well as the Tools group. First of all, the production version of Data Modeler 3.0 is very nice and the improvements in the DataTypes area over what was in EA1 are great. Thanks for adding the Domain support to the definition of Attributes and Parameters for Methods, that makes life much simpler and opens the door for a much wider range of object type modeling and ease of implementations since consistency can now be maintained much easier via Domains. Also the support for straightening of lines is awesome. This is the best implementation I have seen, even better that what we had in the Design Editor in Oracle Designer, kudos again to the team that built the diagrammer interfaces.
My question is, Going forward will Data Modeler continued to be enhanced to finally fully support Oracle Objects and the object relational (OR) model? I ask this because as users of Oracle's RDBMS, we do not have a tool that allows us to fully model and implement the features provided by the Server Group in the area of Object-Relational features and functionality. Oracle Designer had some OR modeling capability, but the end of life on product stopped all further development. One of the common excuses is there is no market demand for object - relational modeling. I would argue, that the lack of market demand for object - relational applications is because we have never have had a tool that fully supports Oracle's object - relational model. Nor do have we had a development tool that allows us to implement a fully developed Oracle Object - Relational model. The tools group stopped the development of Oracle Forms support for nested objects and collections. The LOV functionality for REF columns is pretty awesome, but we can't get to nested collections much less a nested collection of REFs.
So as a member of the end user community, we are stuck in this Catch 22. The Server Group continues to support and enhance the Object - Relational model, but the Tools and Modeling Groups haven't kept up with the tools to model or implement the functionality and features supported by the database. As a result we have a partially built set of tools that allows us to scratch the surface of the Object - Relational model but are not able to take full advantage of the powerful features of inheritance, inherited and extended collections, the ability to inherit and then extend methods, etc...
The Object - Relational model was introduced with Oracle8, 10g solved the type evolution problem which made production implementation of object types realistic. My question is; Is Data Modeler finally going to fully support Oracle's object - relational model? If we as the end user community finally get a tool that does fully support the OR model, we'll finally be able to model, build and deploy applications that will in turn create that market demand which is lacking for the object relational model.
Thanks in advance,
ScottK

Phil,
Yes, having the ability to include an attribute from an data type as part of the PK, UK and or index will be very, very nice. Doing that opens a number of doors on the design, modeling and implementation sides. It would allow us to model and then create a data type which has all the common attributes for housekeeping information within each entity -> table. This is something we tried to do with Designer but was pretty involved script wise. By being able to create specialized housekeeping datatypes and then using the 'add attribute' with the scripts provided with DM 3.0, it simplifies the model after the fact. Think about it, we'll be able to have a datatype with all the attributes for created on/by and modified on/by along will all the methods to populate those attributes (formerly columns), then we can include that datatype into the entity as an attribute called say, 'row_audit' with the datatype of 'common_'. Now in one pass we have the place to hold the information of who created and modified the row as well as the date and time along with all the code required to populate and maintain that information. Everything modeled, defined and written in one place. No more have to include or write the pl/sql across several different modules, rather the calls to the method, a constructor, are within the insert or update statements for that table. If we take that train of thought and extend it to include the housekeeping functions for relational primary keys, then we can create one datatype with the attribute and methods to create a single column primary key. Once that is pulled into an entity, defined as the part of the unique identifier and then pushed down as a primary key and resulting foreign keys. We have all the code to enforce and populate primary and foreign keys wrapped up in one datatype with its supporting method as a constructor. Think of the other possibilities that would be available once we can include nested attributes w/i keys and indexes. It makes some models and designs much simpler, more maintainable, more scalable (less code to execute), etc...
I have been thinking about this. I see ya'll have provided the options for IN, OUT, IN/OUT, COPY and NOCOPY as modifiers for the parameters on methods. We also have the option for COPY / NOCOPY in the constructor method for type. Will that be included?
Lastly, since the Server Group solved the type evolution problem, that coupled with the ability to include a datatype as a definition for column really opens the design doors. For example, by using a datatype of 'common_', as mentioned above, if the system requirement appears after the system is built for a the name of the source system to be included with the 'row_audit' information, we can modify the datatype 'common_' to include these new attributes and methods and then the ALTER TYPE syntax provided by the Server and Language groups to effectively extend all the tables to include this new system requirement. Till the Server group solved the type evolution problem, this wasn't possible and we had to write several 'alter table add column' scripts. This is all replaced with the ALTER TYPE... cascade data command now. Once DM 3.0 includes the ability to reference embedded attributes, design and modeling life will be great.
Thanks in advance,
ScottK

Similar Messages

  • Role of text & hirarhies of info object property in cube data model & Bex

    Hi,
    Info object have properties : first > attribute can be either display or navigational which are as charatristics(dimension's) display property and as in navigational folder res. in cube > display data model, in display attribute can we see same as like data modle while navigational attribute will serve as charateristics of res dimension. ( in BI 7.0 )
    where is the text and hirirchey property of info object in cube data model and bex analyzer?
    Best regards,
    Dushaynt.

    hi,
    follow this link. it will help.
    http://help.sap.com/saphelp_bw33/helpdata/en/ad/6b023b6069d22ee10000000a11402f/frameset.htm

  • How to convert object type to only Date type ?

    Hii everyone,
    I have a table in database and their is column called as date and its data type is DateTime
    In my UI part i have taken a Datepeacker and what ever user selected that date i am storing in my Date properties which has the same data type DateTime and at the Insertion time the date inserting successfully but at the time of updating data i am getting
    error that the Date is not correct format because in date property it having the value 23:12:2014 00:00:00 which is crate problem at the time of update. So how to solve this ?
    Note : I am using VS2008 and using Datagrid inside datgrid what ever changes user make tat one i required to update ,below are my update code which done through datatable i.e
      first i have done datatable dt=new datatable();
                                  dt = EmpBusinessLayer.SelectManager(dd.Eno)
    then my update logic is :
        for (int i= 0; i < dt.Rows.Count; i++)
                    ee.Ename = dt.Rows[i][0].ToString();
                    ee.Job = dt.Rows[i][1].ToString();
                    ee.Dept = dt.Rows[i][2].ToString();
                    ee.Gender = dt.Rows[i][3].ToString();
                    ee.Status =Convert.ToInt32(dt.Rows[i][4]);
                    ee.Dates = Convert.ToDateTime(dt.Rows[i][6]);// Hear i am getting value like 23.8.2104 00:00:00
                    ee.Eno = Convert.ToInt32(dt.Rows[i][9]);
                    cmd = new SqlCommand("update Employee set sEname='"+ee.Ename+"', sEJob='"+ee.Job+"', sEDept='"+ee.Dept+"',
    sGender='"+ee.Gender+"', bStatus="+ee.Status+", dDates="+ee.Dates+" where iEmpNo="+ee.Eno, con);       // Hear Getting Error tat incorrect syntax 00
                    if (con.State != ConnectionState.Open)
                        con.Open();
                    if (cmd.ExecuteNonQuery() > 0)
                        return 1;
    S.K Nayak

    You could use the yyyy-MM-dd format by calling the ToString method on the DateTime object:
    cmd = new SqlCommand("update Employee set sEname='"+ee.Ename+"', sEJob='"+ee.Job+"', sEDept='"+ee.Dept+"', sGender='"+ee.Gender+"', bStatus="+ee.Status+", dDates=" + ee.Dates.ToString("yyyy-MM-dd") +" where iEmpNo="+ee.Eno, con);
    Note that you should use parameters when create a command like this though:
    https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.addwithvalue(v=vs.110).aspx
    But that's another story for another thread in another forum.
    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question.

  • Object Types Attributes (Data Modeler 3.0 EA1.)

    Hi,
    Will the attribute object type support in data modeler be upgraded to the same functionality as column relational table support in 3.0? For relational columns I can attach a domain to a column, I can't attach a domain to an attribute in an object type. Also for a column I can define a 'Units', that is VARCHAR2 (30 BYTE) orVARCHAR2 (30 CHAR). If can't do this with the (Data Modeler 3.0 EA1.) for an object type's attribute. Will this be included?
    Thanks,
    Scott

    Sue,
    Thanks to you and your team for extending this to the object type (structured type) portion of SDDM 3.3 EA1 and 3.3 EA2. The object type portion of SDDM is pretty robust now for modeling and actually generating useable structures in the database (Oracle) now. With 3.3 EA2 at this point it will be much easier to take advantage of the object type features in the database and our applications. I have been waiting since Oracle version 8 for the tools team to provide a modeling tool that mirrors the functionality the server team has provided when it comes object types.
    Thanks for this in SDDM 3.3 EA1 and SDDM 3.3 EA2!
    ScottK

  • Support for unit testing object types

    There's a Feature Request that suggests expanding the unit test tool to object types:
    Title
    Provide object type support for unit tests
    Description
    In the current version (2.1.0.63) I can perform only unit test for packages, function and procedures. But we use a lot of object types in the database and would like to test them. When is a support for object types scheduled?
    Average Rating
    10
    Development Comment
    This is planned for the next release.
    Status
    Scheduled for 3.0
    Although the status suggests inclusion in v3, in my current version 3.2.20.09 there is nothing.
    This is clearly an important issue for those who have voted for it as it scores a perfect 10 on average rating.
    Is there any sign of object types being supported in the 4.0EA1 release? There is a strong desire within my organisation to move to a more object-based approach to PL/SQL coding but until we are able to unit test easily there will be no real progress.

    If you are ready to learn a little bit of Ruby then you can try [PL/SQL unit testing with Ruby|http://blog.rayapps.com/2009/11/27/oracle-plsql-unit-testing-with-ruby/]. ruby-plsql library [supports also PL/SQL object types|http://blog.rayapps.com/2009/11/25/more-oracle-data-types-supported-by-ruby-plsql-gem/] as input and output parameters and return values.

  • 4.0 EA1 - Data Modeler does not show columns data types correctly

    Data Modeler shows all columns data types as 'unknown'.

    Hi,
    you need to check "system data types" directory and it contents. Its default location in SQL Developer is sqldeveloper\sqldeveloper\extensions\oracle.datamodeler\types
    Check "Preferences>Data Modeler>Default system data types directory" setting. If it's empty then copy defaultdomains.xml from previous installation to directory above.
    If it's not empty then you need to copy types.xml and defaultRDBMSSites.xml from default location to directory set as "Default system data types directory".
    Philip

  • Data modeler in 2.1 - how to export metadata

    How do you do an export in the 2.1 EA for the data modeler? I..e do a 'bottom up' model?
    The documentation is written for the standalone datamodeler, file-import/export. How do you do it in 2.1?
    Edited by: Bazza on 27-Oct-2009 03:54

    Hi,
    standalone Data Modeler is cost option. Data Modeler Viewer is bundled into SQL Developer 2.1 - it's free. You can do following with viewer :
    1) Open designs created with Data Modeler - it's in read only mode
    2) Visualize tables and object types from SQL Dev browser when there is no open Data Modeler design - select tables/views on SQL Developer browser tree and drag them on relational model window - FK are imported if parent table is among selected or already is imported; for object types - they should be dropped on Data Types model window. This works for Oracle and SQL Server - we are going to support it for all databases supported by Data Modeler (including JDBC import). And you can do some rearrangement of tables but the rest is in read only mode - no additional import/export.
    Philip

  • 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

  • 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

  • JDev11.1.1.4 IDE error:  not displaying view link in  service's Data Model

    Greetings,
    I was trying to update master-detail relationship in the Data Model tab of the Service definition tab.
    Got an 'unexpected error happened' and Jdeveloper shut down.
    After I re-opened it, I do not see my adf view links under the packages in the Available View Objects multiselect in the Data Model tab of the visual editor for service definition file.
    Also there was an uncaught exception thrown:
    'Performing action Clean All [ from oracle.ide.......CodeEditor]
    Performing action Optn ... [  from  from oracle.ide.......CodeEditor]
    Uncaught Exception
    IllligalArgumentException: component not found in tabbed pane......
    Also in the message log:
    Business Components: Load error.
    Any help is appreciated.
    Thanks,

    Click on the Proxy Service in your ALSB project to go to Proxy Service Configuration page. On this page, you will see an endpoint URI, something like /myservice. To get the wsdl in browser, use the URL like http://mymachine:7001/myservice?wsdl

  • Can a PL/SQL table Object Type be used in a VO?

    Hi,
    Is it possible to use a PL/SQL table object type to provide data to a View Object? In short, I would like to be able to do something like this:
    1. Create record object:
    CREATE OR REPLACE TYPE xx_rec_type AS OBJECT
    (xxid NUMBER,
    xxdesc varchar2(10),
    xxcost number...);
    2. Create table object:
    CREATE OR REPLACE TYPE xx_tbl_type AS TABLE OF xx_rec_type;
    3. Declare and populate the object in PL/SQL package:
    xx_tbl xx_tbl_type;
    xx_tbl(i).xxid := 1;
    xx_tbl(i).xxdesc := 'XXX';
    xx_tbl(i).xxcost := 10.00;
    4. Create a View Object as:
    SELECT * FROM xx_tbl
    Is it even possible to access xx_tbl from View Object? If anyone has done something like this, please do share.
    TIA
    Alka

    A PL/SQL procedure can exist in Oracle DB, in TimesTen, or in both. You control that by where you create the procedure. Procedures that exist in Oracle can really only be called in Oracle and can only access data in Oracle. Procedures that exist in TimesTen can only be called in TimesTen and can only access data in TimesTen. There is a limited capability, using the TimesTen PassThrough capability to call PL/SQL procedures located in Oracle, from Timesten, and for Timesten PL/SQL procedures to access data in Oracle. Using PassThrough does have some overhead.
    Chris

  • Object Data Type support and JDBC2 SQLData interface

    Another useful and probably easy to implement feature is to support
    persistent-aware classes based on JDBC SQLData interface._
    It will let us persist such a member of persistent class to an object
    type column._
    The interface is very simple and quite limited (no support for arrays
    etc) but useful.
    The only thing we would need is to maintain jdbc object maps for our
    database connections and tell Kodo metadata not to enhance this
    particular class member but treat is as a simple type_
    Alex

    In SPROXY you can open your proxy and then view the Activation Log under the GoTo menu.  The log will explain better what the problems might be.  In my case I needed to activate another data type enhancement first.
    Thanks,
    Matt

  • Is it possible to add support for new database type in Data Modeler?

    Hi,
    I see that Data Modeler v.4 supports different versions of Oracle, DB2 and MS SQL. Is it possible to add support for a new database family,
    PostgreSQL for example? I hoped that RDBMS Site editor can do it, but so far I don't see any possibility to add XML files with metadata for a new RDBMS.
    I did it previously for PowerDesigner were it is possible to add and modify definitions for new relational databases.
    Thank you,
    Sergei

    There is discussion option as an out of the box feature. Check this: BI launch pad 4.0: Participate in a discussion about a document

  • No support for date type in object views !?

    The very simple example below raises
    SQL Error: ORA-00932: types de donn&eacute;es incoh&eacute;rents ; attendu : DATE ; obtenu : DATE
    Occurs on XE and 10.2.0.3 on HP-UX
    Any clue?
    Thanks,
    Robert
    create type t1 as object (id number, time date)
    create view t1v of t1
    with object identifier (id)
    as select 1, sysdate from dual
    ;

    There is no need for a constructor when all attributes are assigned.Unless there is a date value, apparently ;)
    It also works if you explicitly <tt>CAST(SYSDATE AS DATE)</tt> so perhaps the internal limitation is to do with the two internal DATE types (type 12 and 13, if you check DUMP output).

  • Spatial support in SQL Dev Data Modeler

    Hi,
    I am designing some tables using the new SQL Developer Data Modeler, and have added some columns which will store point clouds and TINs (both using the specialized Oracle data types). I have noticed in Data Modeler that the SDO_GEOMETRY data type is available to use as a column type, but the SDO_PC and SDO_TIN data types are not available for use. Or perhaps the column types for these data types are actually something else - perhaps integers (given that several tables may be used to store this specialized data)?
    Thanks,
    Matt

    Hi Matt,
    there are additional meta data related to spatial tables (and indexes) - Data modeler helps these data to be defined and properly registered in USER_SDO_GEOM_METADATA view. Also specific meta data for spatial indexes can be defined - unfortunately support for spatial indexes in dialogs is broken. Still table related spatial meta data can be defined and generated - see example below. You also can import spatial meta data from database (support is at Oracle 10g level) - you need to check "Spatial Properties" in "Data dictionary Import wizard".
    About SDO_Geometry data type and other types in MDSYS schema - SDO_Geometry comes predefined because of its importance for spatial table definitions - but that definition is incomplete (and still enough to be used). If you need complete definition of SDO_Geometry type or other types in MDSYS schema, you simply can import them from database and can use them in your model.
    Philip
    here is DDL with spatial meta data:
    - Generated by Oracle SQL Developer Data Modeler Version: 2.0.0 Build: 570
    -- at: 2009-07-22 00:12:29
    -- site: Oracle Database 10g
    -- type: Oracle Database 10g
    CREATE OR REPLACE TYPE MARKET_TYPE
    CREATE OR REPLACE TYPE MARKET_TYPE
    AS OBJECT
    SHAPE SDO_GEOMETRY ,
    NAME VARCHAR2 (32)
    ) NOT FINAL
    CREATE TABLE COLA_MARKETS
    MKT_ID NUMBER NOT NULL ,
    NAME VARCHAR2 (32 BYTE) ,
    SHAPE MDSYS.SDO_GEOMETRY
    ALTER TABLE COLA_MARKETS
    ADD CONSTRAINT PK_COLA_MARKETS PRIMARY KEY ( MKT_ID ) ;
    CREATE TABLE COLA_MARKETS_2
    MKT_ID NUMBER NOT NULL ,
    MARKET MARKET_TYPE NOT NULL
    ALTER TABLE COLA_MARKETS_2
    ADD CONSTRAINT PK_COLA_MARKETS_2 PRIMARY KEY ( MKT_ID ) ;
    CREATE TABLE LONG_LAT_TABLE
    LONGITUDE NUMBER ,
    LATITUDE NUMBER ,
    NAME VARCHAR2 (32 BYTE)
    INSERT INTO USER_SDO_GEOM_METADATA ( TABLE_NAME , COLUMN_NAME , DIMINFO , SRID )
    VALUES ( 'COLA_MARKETS', 'SHAPE' ,
    MDSYS.SDO_DIM_ARRAY (
    MDSYS.SDO_DIM_ELEMENT ('X',0,20,0.005),
    MDSYS.SDO_DIM_ELEMENT ('Y',0,20,0.005)
    NULL
    INSERT INTO USER_SDO_GEOM_METADATA
    VALUES
    'COLA_MARKETS_2',
    'MARKET.SHAPE',
    MDSYS.SDO_DIM_ARRAY (
    MDSYS.SDO_DIM_ELEMENT ('X',0,20,0.005),
    MDSYS.SDO_DIM_ELEMENT ('Y',0,20,0.005)
    NULL
    CREATE INDEX COLA_SPATIAL_IDX_2 ON COLA_MARKETS_2
    MARKET.SHAPE
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    INSERT INTO USER_SDO_GEOM_METADATA
    VALUES
    'LONG_LAT_TABLE',
    'GET_LONG_LAT_PT(LONGITUDE,LATITUDE)',
    MDSYS.SDO_DIM_ARRAY (
    MDSYS.SDO_DIM_ELEMENT ('Longitude',-180,180,0.005),
    MDSYS.SDO_DIM_ELEMENT ('Latitude',-90,90,0.005)
    8307
    ;

Maybe you are looking for