1 / 9

Compiling Mappings to Bridge Applications and Databases

Compiling Mappings to Bridge Applications and Databases. Melnik, Adya and Bernstein @Microsoft Research. Introduction. Application Model VS Database Model Reasons Approaches Client side mapping layer Providing updatable views on DB ADO.NET Entity Framework Declarative mappings

giolla
Télécharger la présentation

Compiling Mappings to Bridge Applications and Databases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Compiling Mappings to Bridge Applications and Databases Melnik, Adya and Bernstein @Microsoft Research

  2. Introduction • Application Model VS Database Model • Reasons • Approaches • Client side mapping layer • Providing updatable views on DB • ADO.NET Entity Framework • Declarative mappings • Bidirectional views • Query view : app = view(DB) • Update view: DB = view(app)

  3. Mapping Approach • Mapping Specification • Entity SQL + XML • Mapping fragment: • Mapping Compilation • Bidirectional views • Query views + Update Views • Properties • Entities = QueryViews(Tables) • Tables = UpdateViews(Entities) • Entities = QueryViews(UpdateViews(Entities)) - Roundtripping criterion • Execution • ▲Tables = ▲ UpdateViews(Entities, ▲ Entities) • ▲ Tables = ▲ UpdateViews(QueryViews(Tables), ▲ Entities) • Merge Views : SupdX Sold→ Snew

  4. Mapping Compiling Problems • Data roundtrips • map o map-1 = Id(C) • u subset map subset q-1 • Merge Views • SupdX Sold→ Snew • Biparite Mappings • map = f o g-1 • f : C → V • g : S → V

  5. View Generation • Overview • Query view • q = f’ o g, where f’ : V → C • Update View • Schema partition • Merging view • An example

  6. View Generation • Partitioning Schema • Mapping language dependent • Goals: Allowing expressing each fragment query in map as a union query over the partitions

  7. View Generation • Reconstructing partitions • Injectivity holds only if the partitions can be reconstructed from the views

  8. Conclusion • A new mechanism supporting updatable views • Formulating mapping compilation problems and algs. • Implemented in Commercial Product

  9. Thank You !

More Related