250 likes | 544 Views
Semantic Wrapper over Relational Databases. Definition. AN OPEN MIDDLEWARE SYSTEM THAT PROVIDES SEMANTIC VIEWS AGAINST LEGACY RELATIONAL DATABASES. Semantic Schemas/ Semantic SQL. New Applications. Semantic Wrapper. ODBC. Native DBMS interfaces. Legacy Applications. Commercial
E N D
Semantic Wrapper over Relational Databases Definition AN OPEN MIDDLEWARE SYSTEM THAT PROVIDES SEMANTIC VIEWS AGAINST LEGACY RELATIONAL DATABASES
Semantic Schemas/ Semantic SQL New Applications Semantic Wrapper ODBC Native DBMS interfaces Legacy Applications Commercial Relational DBMS (e.g. Microsoft Access, Microsoft SQL Server, Oracle, ... ) High-level Architectural View
Features of Semantic Wrapper • Provides Semantic Binary Object-oriented Data Model for Relational Databases • Provides a powerful query language: Semantic SQL • Database autonomy • Can function as a stand-alone application and/or be plugged into a heterogeneous multi-database system • Portability
Semantic Data ModelFeatures • More expressive data model • Directly supports conceptual data model of the enterprise • Shorter application design and programming cycle • Empowers end-users to pose complex ad hoc decision support queries
Semantic Data ModelBenefits (Cont.) Semantic Views over Relational Schemas • Higher level data model • Semantic view mirrors real world • Flexible classification of objects • Complex relations made simple: arbitrary relationships • Semantically-Enhanced Object-Relational • Information in its Natural Form
Semantic-Views Data is described at conceptual level. Meaning of Information is Stored Relationships Between Categories Easier to formulate query Any Relationship CAN be queried. Joins are NOT required to be defined explicitly. RDBMS Data is described at logical level. Meaning of Information is Lost Relationships not Supported Complex queries have to be pre-programmed “Joins” are required to be defined explicitly. Semantic Data ModelBenefits (Cont.)
COMPANYname: String m:maddress: String m:m PRODUCTspecification: String m:mweight_kg: Number m:m manufactures (m:m) MANUFACTURES CID_in_key: string PID_in_key: string PRODUCT_SPECPID_in_key: string Spec_in_key: string COMPANYCID_key: string PRODUCT PID_key: string COMPANY_NAMECID_in_key: string Name_in_key: string COMPANY_ADDRESSCID_in_key: string Address_in_key: string PRODUCT_WEIGHTPID_in_key: string WeightKG_in_key: number Semantic Data ModelBenefits (cond.): Example schemas Semantic View: Equivalent Relational Schema:
Semantic SQLFeatures • Semantic SQL • Querying data at conceptual level • Easier query facility • ODBC/SQL Compliance
Semantic SQL Benefits • Easier query facility (i.e. much shorter queries) • Do not require to specify joins with the existence of relations in the semantic schema
Semantic SQL Benefits (cond.): Example query LOCATIONnorth-UTM: Number key/2east-UTM: Number key/2elevation-ft: Numberdescription: String PROJECTname: String keydescription: Stringcomments: Stringstarting-date: Dateending-date:Date Semantic View located at(m:1) serves(m:m) runs(m:m) FIXED STATIONplatform-height-ft: 0..50.000 PHYSICAL OBSERVATIONSTATIONis-part-of m:1:structure: Stringcomments: Stringhousing: String ORGANIZATIONis-part-of m:m:name: String keydescription: String belongs to(m:m) MEASUREMEMENTTYPEname: String keymeasurement-unit: Stringupper-limit: Numberlower-limit: Number IMAGEimage: Rawsubject: Stringdirection-of-view: 0..360comments: Stringtype: Char(3) by(m:1) OBSERVATIONtime: Date-timecomment: String of(m:1) MEASUREMENTvalue: Number
Semantic SQL Benefits (cond.): Example query RELATIONAL SCHEMA
{ ( select MEASUREMENT-TYPE.*, LOCATION.north-UTM-in-key, LOCATION.east-UTM-in-key, MEASUREMENT.*, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL from MEASUREMENT-TYPE, LOCATION, MEASUREMENT where time > '1993/01' and exists ( select * from FIXED-STATION where by-physical-observation-station-id = physical-observation-station-id-key and located-at--north-UTM = north-UTM-in-key and located-at-east-UTM = east-UTM-in-key and of--name = name-key)) union ( select MEASUREMENT-TYPE.*, NULL, NULL, MEASUREMENT.*, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL from MEASUREMENT-TYPE, MEASUREMENT where time > '1993/01' and not exists ( select * from FIXED-STATION where by-physical-observation-station-id = physical-observation-station-id-key and of-name = name-key)) union ( select NULL, NULL, NULL, NULL, LOCATION.north-UTM-in-key, LOCATION.east-UTM-in-key, NULL, NULL, NULL, NULL, NULL, NULL, IMAGE.* from LOCATION, IMAGE where time > '1993/01' and exists ( select * from FIXED-STATION where by-physical-observation-station-id = physical-observation-station-id-key and located-at-north-UTM = north-UTM-in-key and located-at—east-UTM = east-UTM-in-key)) union ( select NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, IMAGE.* from IMAGE where time > '1993/01' and not exists ( select * from FIXED‑STATION where by--physical-observation-station-id = physical-observation-station-id-key)) SQL for RDBMS Semantic SQL Query: Select OBSERVATION__, of__, LOCATION from OBSERVATION where time > '1993/01' Semantic SQLBenefits (cond.): Example query “GIVE ME ALL OF THE OBSERVATIONS, WITH ALL OF THEIR ATTRIBUTES, SINCE JANUARY 1, 1993, AND THE LOCATION OF THE OBSERVING STATIONS”
Database AutonomyBenefits • Existing applications and legacy database is NOT required to be changed • Higher-order features and expressive data model solution for existing legacy databases • New applications being built on top of Wrapper
Stand-alone/Multidatabase Component • Wrapper can function as a stand-alone application for legacy databases • Wrapper can be plugged into a component site of the heterogeneous multi-database environment
Portability • The Wrapper is easily portable to any existing commercial relational database management system providing an appropriate ODBC Driver
Components of Wrapper • KDB Tool: A Schema Re-engineering Tool • Knowledge Base • Query Translator
KDB ToolFeatures • Automated import and transformation of relational schemas • Mapping semantic schemas to relational schemas • Customized creation of complex semantic views over relational schemas interacting with the database administrator
KDB ToolFeatures • Database Administrator Utilities • Multiple view creation for different user groups
Knowledge BaseFeatures • Interface between KDB Tool and Query Translator. • Stores Semantic Views, Relational Schemas and Mapping Information.
Query TranslatorFeatures • Translates Semantic SQL queries to its equivalent Relational SQL queries • Uses knowledge in knowledge base for this process • Use of outer-joins in Relational SQL and query translation algorithm.
Demonstration will feature… • Relational Database and its schema • Equivalent Semantic View • KDBTool and its features: • Automated creation of transformed schemas • Customizing semantic schemas • Database utilities (multiple views over a single relational database schema) • Translator (Semantic SQL queries and their translated R-SQL queries).
Summary • A Middleware System • An expressive data model • An intelligent and easier query facility • A portable, autonomous, stand-alone/ multi-database component tool for legacy databases • Schema re-engineering tool