Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Concurrency control wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Relational algebra wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Oracle Database wikipedia , lookup
Ingres (database) wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Clusterpoint wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Database model wikipedia , lookup
MetaQuest ODBC ™ Overview • • • • • 2.0.0 Features What is ODBC? Why Create an ODBC Driver for Rochade? How do we Expose Rochade as Relational Transformation of Oracle RIM to Relational May 7, 2007 Confidential 1 MetaQuest ODBC ™ 2.0.0 Features Client Server architecture. Server runs on Linux, Unix or Windows – the same platforms as the Rochade Server. Push the SQL query workload onto the server where it belongs. Data sources are defined at the Server level so all ODBC or JDBC clients use the same configuration. ODBC client runs on Linux, Unix or Windows. JDBC client runs Linux, Unix or Windows. Now you can easily code Java programs and use JDBC to retrieve your Rochade metadata. Create your entire Rochade Application using SQL if you prefer. May 7, 2007 Confidential 2 MetaQuest ODBC ™ 2.0.0 Features Integration with WebAccess Discovery Create discovery topic with MQ ODBC topic template. Customize the result set for your needs. Administration Console. Allows the administrator to manage the server remotely via a Windows GUI. Allows the administrator to remotely configure the server. May 7, 2007 Confidential 3 MetaQuest ODBC ™ What is ODBC? Definition: (pronounced as separate letters) Short for Open DataBase Connectivity, a standard database access method developed by the SQL Access group in 1992. The goal of ODBC is to make it possible to access any data from any application, regardless of which database management system (DBMS) is handling the data. ODBC manages this by inserting a middle layer, called a database driver , between an application and the DBMS. The purpose of this layer is to translate the application's data queries into commands that the DBMS understands. For this to work, both the application and the DBMS must be ODBC-compliant -- that is, the application must be capable of issuing ODBC commands and the DBMS must be capable of responding to them. Since version 2.0, the standard supports SAG SQL. http://www.webopedia.com/TERM/O/ODBC.html May 7, 2007 Confidential 4 MetaQuest ODBC ™ What is ODBC? Rochade Server/Database User can use any ODBC compliant tool… To access any ODBC data source… MS Access MS Excel UDB Server/Database Other tools… Via an ODBC Driver ODBC Interface Oracle Server/Database Oracle ODBC Driver UDB ODBC Driver May 7, 2007 MQ ODBC Driver Confidential 5 MetaQuest ODBC ™ Why Create an ODBC Driver for Rochade? Rochade Metadata is stored in a Rochade database: Based on proprietary indexed flat files Query language is proprietary and difficult to understand Query language must be invoked via programming interface. Query language doesn’t allow for join and predicate processing at the same time. Query language doesn’t allow formatting of the result set. May 7, 2007 Confidential 6 MetaQuest ODBC ™ Why Create an ODBC Driver for Rochade? Open Rochade Metadata to Many Reporting Tools. Various BI tools have MS Access MS Excel Crystal Reports Many more… May 7, 2007 Confidential 7 MetaQuest ODBC ™ Why Create an ODBC Driver for Rochade? Open Rochade Metadata to SQL. Join linked or namespaced items together and display item attribute information. Filter queries based on complex SQL predicates. Select attributes to display in the result set Sort based on any column in the result set All standard SQL is available. May 7, 2007 Confidential 8 MetaQuest ODBC ™ How do we Expose Rochade as Relational Item Types – Exposed as Tables. Text Attributes – Exposed as columns. Value Attributes – Exposed as columns. Binary Attributes – Don’t have solution yet. Namespace Attributes – This is a 1 to many connection in Rochade, so it’s exposed as a column in the child table that points at the parent. Link Attributes – This is a many to many connection in Rochade, so it’s exposed as an intersection table. Item Name – Exposed as “<item-name>” column. May 7, 2007 Confidential 9 MetaQuest ODBC ™ How do we Expose Rochade as Relational Qualified Name – Exposed as “<Item-QName>” column. Last Update Date and Time – Exposed as “<Item-LastUpdate-TS>”. Last Update User – Exposed as “<Item-Last-UpdateUser>”. Create Date and Time – Exposed as “<Item-Create-TS>”. Create User – Exposed as “<Item-Create-User>”. Link Qualifier – Exposed as “<Link-Qualifier>” in the intersection table. May 7, 2007 Confidential 10 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational Start with one portion of the Oracle RIM. Pick item types that have link and namespace attributes. Pick some of the attributes. ORA_DATABASE ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Link Namespace May 7, 2007 Confidential 11 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_DATABASE DEFINITION (text) DESCRIPTION (text) ORA_HAS-SCHEMA (namespace) ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Link Namespace May 7, 2007 Confidential 12 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_USER ORA_DATABASE DEFINITION (text) DESCRIPTION (text) ORA_HAS-TABLE (namespace) ORA_HAS-INDEX (namespace) ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Link Namespace May 7, 2007 Confidential 13 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_TABLE ORA_DATABASE DEFINITION (text) COMMENT (text) ORA_INDEX (link) ORA_HAS-COLUMN (namespace) ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Link Namespace May 7, 2007 Confidential 14 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_INDEX ORA_DATABASE DEFINITION (text) COMMENT (text) ORA_UNIQUE (text) ORA_USES-COLUMN (link) ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Link Namespace May 7, 2007 Confidential 15 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_COLUMN ORA_DATABASE DEFINITION (text) DESCRIPTION (text) ORA_DATATYPE (text) ORA_NULLS-ALLOWED (text) ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Link Namespace May 7, 2007 Confidential 16 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_COLUMN DEFINITION (text) DESCRIPTION (text) ORA_DATATYPE (text) ORA_NULLS-ALLOWED (text) Table Name: ORA_COLUMN <ITEM-NAME> <ITEM-ID> <PARENT~ORA_TABLE> DEFINITION Standard derived column names May 7, 2007 DESCRIPTION ORA_DATATYPE ORA_NULLS-ALLOWED derived column name to support namespace Confidential 17 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE Create table with same name. ORA_DATABASE ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 18 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_USER ORA_DATABASE Create table with same name and also add <PARENT~ORA_DATABASE> column. ORA_USER ORA_TABLE ORA_INDEX ORA_COLUMN Legend Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 19 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_DATABASE ORA_USER ORA_USER ORA_TABLE Create table with same name and also add <JOIN~ORA_TABLE <PARENT~ORA_USER> column. ~ORA_INDEX ~ORA_INDEX> ORA_TABLE ORA_INDEX ORA_COLUMN Legend Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 20 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_DATABASE ORA_USER ORA_USER ORA_TABLE <JOIN~ORA_TABLE ~ORA_INDEX ~ORA_INDEX> Since there’s a link attribute, create intersection table. ORA_TABLE ORA_INDEX ORA_COLUMN Legend Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 21 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_DATABASE ORA_USER ORA_USER ORA_TABLE <JOIN~ORA_TABLE ~ORA_INDEX ~ORA_INDEX> ORA_INDEX Create table with same name and also add ORA_TABLE <PARENT~ORA_USER > column. ORA_INDEX ORA_COLUMN Legend <JOIN~ORA_INDEX ~ORA_USES-COLUMN ~ORA_COLUMN> Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 22 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_DATABASE ORA_USER ORA_USER ORA_TABLE <JOIN~ORA_TABLE ~ORA_INDEX ~ORA_INDEX> ORA_INDEX ORA_TABLE ORA_INDEX ORA_COLUMN Legend <JOIN~ORA_INDEX ~ORA_USES-COLUMN ~ORA_COLUMN> Since there’s a link attribute, create intersection table. Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 23 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational ORA_DATABASE ORA_DATABASE ORA_USER ORA_USER ORA_TABLE <JOIN~ORA_TABLE ~ORA_INDEX ~ORA_INDEX> ORA_INDEX ORA_TABLE ORA_INDEX ORA_COLUMN ORA_COLUMN Legend Create table with same name and also add <JOIN~ORA_INDEX <PARENT~ORA_TABLE> column. ~ORA_USES-COLUMN ~ORA_COLUMN> Legend 1 to Many Link 1 to 1 Namespace May 7, 2007 Confidential 24 MetaQuest ODBC ™ Transformation of Oracle RIM to Relational What’s the structure of the intersection tables from the previous slide? <JOIN~ORA_TABLE~ORA_INDEX~ORA_INDEX> <PEER~ORA_TABLE~ORA_INDEX> - Contains the item ID of the ORA_TABLE table row. <PEER~ORA_INDEX~ORA_INDEX> - Contains the item ID of the ORA_INDEX table row. <LINK-QUALIFIER> - Contains the link qualifier text for the link. <JOIN~ORA_INDEX~ORA_USES-COLUMN~ORA_COLUMN> <PEER~ORA_INDEX~ORA_USES-COLUMN> - Contains the item ID of the ORA_INDEX table row. <PEER~ORA_COLUMN~ORA_USES-COLUMN> - Contains the item ID of the ORA_COLUMN table row. <LINK-QUALIFIER> - Contains the link qualifier text for the link. May 7, 2007 Confidential 25