1 Mapping to Relational Databases Presented by Ramona Su.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Management Information Systems, Sixth Edition
ETEC 100 Information Technology
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Organizing Data & Information
Geographic Information Systems
Ch1: File Systems and Databases Hachim Haddouti
1 Database Systems (Part I) Introduction to Databases I Overview  Objectives of this lecture.  History and Evolution of Databases.  Basic Terms in Database.
Introduction to Databases
Introduction to Databases Transparencies
1 Lecture 31 Introduction to Databases I Overview  Objectives of this lecture  History and Evolution of Databases  Basic Terms in Database and definitions.
Chapter 11 Data Management Layer Design
Introduction to databases from a bioinformatics perspective Misha Taylor.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Session-01. Hibernate Framework ? Why we use Hibernate ?
IST Databases and DBMSs Todd S. Bacastow January 2005.
Introduction to Database
Introduction to Database Concepts
What is a Database? A database is any collection of data.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
CSC2012 Database Technology & CSC2513 Database Systems.
Entity Framework Code First End to End
DBMS By Narinder Singh Computer Sc. Deptt. Topics What is DBMS What is DBMS File System Approach: its limitations File System Approach: its limitations.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
Data Access Patterns Some of the problems with data access from OO programs: 1.Data source and OO program use different data modelling concepts 2.Decoupling.
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
Management Information Systems By Effy Oz & Andy Jones
CHAPTER 14 USING RELATIONAL DATABASES TO PROVIDE OBJECT PERSISTENCE (ONLINE) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database.
2005 SPRING CSMUIntroduction to Information Management1 Organizing Data John Sum Institute of Technology Management National Chung Hsing University.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
RELATIONSHIPS Generally there are two main database types: flat-file and relational.
.NET Database Technologies: Data Models and Patterns.
1 Another group of Patterns Architectural Patterns.
Modern Database Techniques Part 1: Object Oriented Databases 3. Different Kinds of OODB.
© 2007 by Prentice Hall 1 Introduction to databases.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 4th Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Relational Databases. Database Large collection of data in an organised format to allow access and control DBMS Database Management System - Special software.
Object Persistence Design Chapter 13. Key Definitions Object persistence involves the selection of a storage format and optimization for performance.
MIS 327 Database Management system 1 MIS 327: DBMS Dr. Monther Tarawneh Dr. Monther Tarawneh Week 2: Basic Concepts.
Chapter 12: Designing Databases
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 14 Using Relational Databases to Provide Object Persistence (Overview) Modern Database.
Hibernate Persistence. What is Persistence Persist data to database or other storage.  In OO world, persistence means persist object to external storage.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Domain and Persistence Patterns. Fundamental Pattern Types Design Patterns Business Logic Patterns.
Chapter 38 Persistence Framework with Patterns 1CS6359 Fall 2011 John Cole.
1 CS 430 Database Theory Winter 2005 Lecture 2: General Concepts.
Introduction to Database AIT632 Chapter 1 Sungchul Hong.
Management Information Systems, 4 th Edition 1 Chapter 8 Data and Knowledge Management.
Object storage and object interoperability
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool Used in data layer of applications Implements JPA.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Database Overview What is a database? What types of databases are there? How are databases more powerful than spreadsheets?
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
uses of DB systems DB environment DB structure Codd’s rules current common RDBMs implementations.
Databases and DBMSs Todd S. Bacastow January 2005.
New Technology: Why, What ,How
Database Management System
Entity Framework By: Casey Griffin.
CSCI-100 Introduction to Computing
ADO.NET Entity Framework Marcus Tillett
Database.
Enterprise Architecture Patterns
Metadata Framework as the basis for Metadata-driven Architecture
SPL – PS13 Persistence Layer.
Database management systems
Presentation transcript:

1 Mapping to Relational Databases Presented by Ramona Su

2 Overview Role of the database DB plays dominant role in the data source layers for most systems Storing persistent data Maintain internal records Core part of some scientific investigation What is object-relational mapping? Object-relational mapping is used to map object- oriented programming objects to relational databases managed by relational database managers. (

3 Overview Why is object-relational mapping important? Many systems use a relational DB SQL has helped make a relational DB successful Better understood & proven technology over OO DB Data already exists in a relational DB Technical or political reasons for using a relational DB Creating an abstraction Takes advantage of transparent persistence Reduces code Improves performance

4 Types of Databases Object Oriented DB Users can define their own methods of access to data and how it is represented and manipulated Database objects appear as programming language objects in one or more object programming languages No problem of O/R Mapping Improves productivity Relational DB Ted Codd’s paper “A Relational Model for Large Shared Data Banks” “It provides a means of describing data with its natural structure only--that is, without superimposing any additional structure for machine representation purposes. Accordingly, it provides a basis for a high level data language which will yield maximal independence between programs on the one hand and machine representation on the other.” (Codd, 1970)

5 Architectural Patterns Important part of design Types of patterns Gateway (separating access to DB) Row Data Gateway Record Set Domain Model (incorporates data and behavior) Active Record Data Mapper (insulate domain objects and DB from each other)

6 Loading/Saving Problem Problem with consistency Problem with isolated reads Solutions Unit of Work Possible performance degradation Identity Map Performance boost Lazy Load Performance boost

7 Structural Problem Mapping relationships problems Difference in representation Multiple references and links Many-to-many relationship Solutions Identity Field Foreign Key Mapping Association Table Mapping

8 Structural Problem Continued Inheritance SQL cannot handle inheritance Solutions Single Table Inheritance Concrete Table Inheritance Class Table Inheritance Tradeoff between duplication of data and speed of access

9 Structural Problem Continued

10 Connection Problem Ensuring connection is opened when it needs to be, or closed when you’re done accessing Managing connection solutions Pass it as a parameter Garbage collection Tie it to a transaction Connection can cause concurrency issues

11 Metadata Use metafile for mapping Avoids repetitive code Can build queries in terms of objects Query Object Repository

12 Discussion It seems like you must do a lot more work with O/R mapping than if you used a OO DB. How can we make use of OO DB more successful?

13 Questions? Any questions or comments?