A JDBC driver supporting Data Source Integration Jian Jia.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Java Database Connectivity (JDBC). 2/24 JDBC (Java DataBase Connectivity) - provides access to relational database systems JDBC is a vendor independent.
Introduction to JDBC Standard framework for dealing with tabular and generally, relational data SQL (Structured Query Language) is standardized language.
JDBC - Java Database Connectivity The objectives of this chapter are: To describe the architecture of JDBC To outline the classes in the java.sql package.
Distributed Application Development B. Ramamurthy.
1 C. Shahabi Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California
1 Lecture 29 More on JDBC Overview  Objectives of this lecture  JDBC and its Drivers  Connecting to Databases (Java’s Connection class)  Querying a.
CSE470 Software Engineering Fall Database Access through Java.
JDBC. In This Class We Will Cover: What SQL is What ODBC is What JDBC is JDBC basics Introduction to advanced JDBC topics.
1 Design patterns Lecture 4. 2 Three Important skills Understanding OO methodology Mastering Java language constructs Recognizing common problems and.
Page 1 Multidatabase Querying by Context Ramon Lawrence, Ken Barker Multidatabase Querying by Context.
Automatic Data Ramon Lawrence University of Manitoba
INTEGRATION INTEGRATION Ramon Lawrence University of Iowa
1 Foundations of Software Design Lecture 27: Java Database Programming Marti Hearst Fall 2002.
JDBC Java API for Database Connectivity. Layout of this recitation Introduction to JDBC API JDBC Architecture Understanding the design of JDBC API –Classes.
Quete: Ontology-Based Query System for Distributed Sources Haridimos Kondylakis, Anastasia Analyti, Dimitris Plexousakis Kondylak, analyti,
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
JDBC / ODBC JDBC is the java API that facilitate interaction of a java application with the DBMS. FIRST APPROACH:
Introduction to JDBC (Java Database Connectivity).
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
JDBC Vs. Java Blend Presentation by Gopal Manchikanti Shivakumar Balasubramanyam.
Java Database Connectivity (JDBC). Introduction Database –Collection of data DBMS –Database management system –Storing and organizing data SQL –Relational.
Helena Pomezná, ciz034 St. skupina: L392 FEI, VŠB-TUO Ak. rok. 2002/2003 Download:
Java Database Connectivity Vijayan Sugumaran Department of DIS Oakland University.
© Wang Bin 2004 JDBC ----Java Database Connectivity.
CSE470 Software Engineering Fall Database Access through Java.
Intro to JDBC To effectively use Java Data Base Connectivity we must understand: 1.Relational Database Management Systems (RDBMS) 2.JDBC Drivers 3.SQL.
Java Database Connectivity (JDBC) Introduction to JDBC JDBC is a simple API for connecting from Java applications to multiple databases. Lets you smoothly.
Java Database Connectivity ASE. Java Database Connectivity (JDBC) l JDBC – provides an interface to Relational Data Sources l JDBC library provides the.
Database Programming in Java Corresponds with Chapter 32, 33.
Announcements Read JDBC Project Step 5, due Monday.
Dr R R DOCSIT, Dr BAMU. Basic Java : Introduction to JDBC 2 Objectives of This Session State what is Java Database Connectivity State different.
JDBC (Java Database Connectivity) SNU OOPSLA Lab. October 2005.
Designing and Developing WS B. Ramamurthy. Plans We will examine the resources available for development of JAX-WS based web services. We need an IDE,
JDBC. Preliminaries Database Database Collection of data Collection of data DBMS DBMS Database management system Database management system Stores and.
JDBC Enterprise Systems Programming. JDBC  Java Database Connectivity  Database Access Interface provides access to a relational database (by allowing.
COMP201 Java Programming Topic 15: Database Connectivity JDBC Reading: Chapter 4, Volume 2.
WEB/DB1 DATABASE PROGRAMMING 3JDBC by the ASU Scholars.
Java Database Connectivity (JDBC). Topics 1. The Vendor Variation Problem 2. SQL and Versions of JDBC 3. Creating an ODBC Data Source 4. Simple Database.
Java Database Connectivity. Java and the database Database is used to store data. It is also known as persistent storage as the data is stored and can.
Copyright © 2002 ProsoftTraining. All rights reserved. Building Database Client Applications Using JDBC 2.0.
JDBC. Java.sql.package The java.sql package contains various interfaces and classes used by the JDBC API. This collection of interfaces and classes enable.
JDBC CS 124. JDBC Java Database Connectivity Database Access Interface provides access to a relational database (by allowing SQL statements to be sent.
Session 30 Basics of JDBC. Java Simplified / Session 30 / 2 of 33 Review A Swing menu consists of a menubar, menuitems and menus. Trees are used to depict.
JDBC CHAPTER-2. JDBC - Java Database Connectivity. JDBC from Sun Microsystems provides API or Protocol to interact with different databases. With the.
12/6/2015B.Ramamurthy1 Java Database Connectivity B.Ramamurthy.
JDBC By 朱志興. Four driver types of JDBC (1) JDBC-ODBC bridge plus ODBC driver: Java Database Client JDBC- ODBC bridge ODBC driver Database Server A B C.
COMP 321 Week 4. Overview Normalization Entity-Relationship Diagrams SQL JDBC/JDBC Drivers hsqldb Lab 4-1 Introduction.
UNIT III - JDBC JDBC Overview – JDBC implementation – Connection class – Statements - Catching Database Results, handling database Queries. Networking–
1 Session 2 Module 3: Scrollable Resultset and Rowsets.
225 City Avenue, Suite 106 Bala Cynwyd, PA , phone , fax Connecting to a Database.
Web Programming MySql JDBC Web Programming.
Basics of JDBC Session 14.
JDBC Chapter 1 JDBC Introduction
Advanced Java Session 5 New York University School of Continuing and Professional Studies.
Ch. NoNameMarks 01AWT24 02Networking18 03JDBC20 04Swing18 05Servlet20 Advance Java Programming.
Lecture 15: Query Optimization. Very Big Picture Usually, there are many possible query execution plans. The optimizer is trying to chose a good one.
6-1 JAVA DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Java and database. 3 Relational Databases A relational Database consists of a set of simple rectangular tables or relations The column headings are.
R EMAINING TOPICS IN JDBC Sagun Dhakhwa. O VERVIEW Introduction to JDBC API Types of JDBC Drivers Introduction to ODBC.
Database: JDBC Overview
Metadata.
Database JDBC Overview CS Programming Languages for Web Applications
JDBC.
Java Database Connectivity
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Java API for Database Connectivity
Query Optimization.
Presentation transcript:

A JDBC driver supporting Data Source Integration Jian Jia

Motivation Manually integrate information sources is painful, because of – Heterogeneous data source – inconsistent / incomplete data structure information – Platform dependency

A Solution Unity – Automate integration process – Uses ODBC to access multiple data sources – X-Spec to capture semantic meaning of the data --- Standard dictionary – In C++ – On Windows platform

Goal of this Project Unity JDBC Driver – Embed integration function of Unity into a JDBC driver – X-Spec as the dictionary – in Java – platform independent – Access multiple data sources through JDBC

Migrating Unity from ODBC to JDBC Integration Module JDBC … DB1DB2DBn … ResultsSemantic Queries User Queries SQL Unity JDBC Driver User Queries Integration Module ODBC … DB1DB2DBn … ResultsSemantic Queries SQL Unity

Basic classes of JDBC API DriverManager Driver Connection StatementResultSet ResultSetMetaData registers provides createsretrieves provides

JDBC Driver Types JDBC-ODBC Bridges plus ODBC drivers Native-API partly-Java drivers JDBC-Net pure Java drivers Native-protocol pure Java drivers

Semantic Query An example SELECT [Employee].id, [Department;Employee].name WHERE [Employee].age > 30 –All Fields/Tables that have the same semantic meaning should have same semantic name. –Semantic query refers a field by its semantic name. –There is no explicit relation specifications(from table, join, union) in the query. –X-Spec Document stores information about all semantic names and corresponding system names for every field/table. –No nested query. –Semantic Query should be parsed to create sub-query in standard form(SQL’92) for each data source.

Semantic Query Grammar SELECT ALL DISTINCT [Column], FROM Tables WHERESearch Condition GROUP BY Columns ORDER BY [Column], DESC /ASC

Semantic Query Grammar Search Condition Expression[NOT] LIKE“[%] String” Column IS [NOT] NULL (Expression) Expression = <   > <> Expression ORAND NOT

Parsing X-Spec X-Spec Table 1 X-Spec Table 2 X-Spec Table 3 X-Spec Table n X-Spec Field 1X-Spec Field 2X-Spec Field k ……. X-spec Key 1X-spec Key 2X-spec Key j … X-spec Joins … … … …

Parsing Semantic Query Query Translator Semantic query S_listC_listF_listGroupBy_listOrderBy_list PASS ONEPASS TWO Selected Fields (Sys_Name) Used for integration Selected X-Spec Fields Mapping semantic Name to System Name; Build sub-query Sub Query 1Sub Query 2Sub Query n ……..

Sub-Query Generation S-List(Selection-List) Only those semantic fields that are in the data source can be substituted by their system names, and added to corresponding sub- query selection list C-List(Condition-List) An expression can only be added to sub-query condition list only when all semantic arguments are in the data source.

Sub-Query Generation S-List C-List OrderBy-List Sub-S-Clause Sub-From- Clause Sub-Where- Clause Sub-Order By- Clause

Inside JDBC Driver Semantic query Selected Fields (Sys_Name) Sub Query 1 Sub Query 2 Sub Query n … Query Translator DB1DB2DBn … JDBC 1JDBC 2JDBC n ResultSet 1 ResultSet 2 ResultSet n ResultSet- MetaData ResultSet- MetaData ResultSet- MetaData Join Union ResultSet MetaData Integration

Integration Method JOIN Merge Join by Global Keys MultiValue Field – Data inconsistent UNION Simply append one ResultSet to another Do not need match keys

A Simple Example Semantic Query (for two data sources) SELECT F1, F2, F3, F4, F5 WHERE C1 AND C2 SELECT f1a, f3a, f5a FROM tableA WHERE C1 SELECT f1b,f2b, f4b FROM tableB WHERE C2 Sub-query for DB1 Sub-query for DB2

Example Result Join Result Assume Key_A and Key_B are two system names of the global KEY in two data sources DB 1DB 2

Example Result Union DB 1DB 2

Future Work Operations cross data sources Complete Algorithms for Result Integration Automated Updates on heterogeneous data Sources Implement Group By, From in semantic query

??????