The RDB DAS uses JDBC ResultSetMetadata to create the set of SDO Types used to construct the data graph returned as a result of a query. JDBC returns the data resulting from a query as a set of rows of column values. The associated ResultSetMetadata provides information about these values. Table name, column name, column type, etc. are all provided for each returned value.

For example, consider a database with the following table:

   TABLE CUSTOMER
      ID         INTEGER
      LASTNAME   VARCHAR(20)
      ADDRESS    VARCHAR(30)

The user might query the database like this:

   DAS das = DAS.FACTORY.createDAS(getConnection());
   Command readCustomers = das.createCommand("select * from CUSTOMER where LASTNAME = 'Williams'");             
   DataObject root = readCustomers.executeQuery();                      

The DAS returns a graph of DataObjects each of Type CUSTOMER and each instance will have three properties: (ID, LASTNAME, ADDRESS). Since this example does not pass the DAS a set of SDO Types to use, the DAS creates the Types dynamically based on the ResultSetMetadata.