150 likes | 245 Views
James F. Terwilliger. Microsoft Research, Post-Doctoral Researcher Database Group, with Phil Bernstein Portland State University Ph.D., as soon as I deposit my dissertation Lois Delcambre, Dave Maier, Len Shapiro, Andrew Black. Entity Framework. Key Microsoft technology
E N D
James F. Terwilliger • Microsoft Research, Post-Doctoral Researcher • Database Group, with Phil Bernstein • Portland State University • Ph.D., as soon as I deposit my dissertation • Lois Delcambre, Dave Maier, Len Shapiro, Andrew Black
Entity Framework • Key Microsoft technology • Released as part of .Net framework 3.5 SP1 • Many Microsoft properties migrating to use it • Key Research technology • Originated with database research group • SIGMOD and ER papers
Entity Framework Issue queries and updates in programming language against conceptual model Entity Model (ER Diagram with Inheritance) Bi-directional mapping RDBMS Select/Project queries Entity T(a,b,c,d) = Table S(e,f,g,h)
Entity Framework Entity Model (ER Diagram with Inheritance) RDBMS Query Views Update Views Merge Views Resulting views are expressive enough to handle joins, unions, inheritance schemes (TPT, TPC, TPH, others)
Where is EF going in research? • Alternative data models • XML (VLDB 2008 demo) • Extended expressive power • Beyond SP mapping fragments, but with equal simplicity • Both open, ongoing
Table P_1588: P_1588_ID Attr Detail … … … … … … … … 1 … … 578a-b440-cdf2-8e21 Smkh_1670 • Data Dictionary:P_1588: Patients from WebRn Application, entered through form “Endoscopy Patient” • Domain(Detail/Smkh_1670) = {0, 1, 2, 3, 4, X} • 0: Non-Smoker 1: Light smoker, 1-4 cigs/day • 2: Moderate smoker, 5-8 cigs/day 3: Heavy smoker, 9-12 cigs/day • 4: Chimney, 13+ cigs/day X: Data not available
Dissertation Work • Business Software: • Database-backed • User interface for domain experts User Interface Query Interface UI is an updatable view, and RDBMS likely has vastly different schema Business logic, data access, and transformation RDBMS
Unpivot Example: Update • Frequent pattern • Not covered by ORM systems • Not covered by updatable views • Not covered by mapping systems • Result: lots of hard-coding • But: • Known invertible, updatable
Channel Bi-Directional Extract-Transform-Load, workflow Built from components known to be updatable Queries, inserts, updates, deletes, schema evolution T1 HMerge T2 Unpivot T3 Conceptual schema generated from UI, or can be an arbitrary relational schema T4 Apply HMerge VPartition T5 Unpivot
Unpivot Example: Update Updated field becomes an update in the output
Unpivot Example: Update Update statement turns into a delete statement! (If update is from a null value, need an insert) Thank you for not smoking
Why? Fully-realized data independence Physical Design, Business Logic Conceptual Schema Physical Schema Queries (QI generated from UI) Insert, Update, Delete (UI) Schema Modifications (Design) Horizontal or Vertical Merging/Partitioning Referential Integrity Pivoting or unpivoting Encoding or translation of values Business logic decisions Information preservation Yes we can! “Fast” “Expressive”
Agenda and Ideas • Present my dissertation research (variable length) • Re-live my dissertation defense • Short EDM demo (variable length, informal) • Discuss recent work in Entity Framework research (free talk, or whiteboard discussion, ~10 minutes) • Gather co-conspirators coordinators for a database conference tutorial (discussion about topics, outline, participants)