Download presentation
Presentation is loading. Please wait.
1
Object Relational Mapping Tools
* 07/16/96 This presentation will probably involve audience discussion, which will create action items. Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. Object Relational Mapping Tools [Sivakumar Natarajan] 4/17/2019 *
2
* 07/16/96 Introduction OO is the predominant approach used to build mainstream B systems RDBMS are the most prevalent implementation of data stores OO design models problem domain as real-world objects, RD development is to normalize data O-R modelling is a necessary but not sufficient to build strong and flexible systems 1) Object-oriented and object-based technology is the predominant approach used to build mainstream business systems 2) Relational database management systems are the most prevalent implementation of back-end physical data stores for business applications 3) objective of relational database development is to normalize data whereas the goal of object-oriented design is to model the problem domain as real-world objects. The result is an object-relational chasm. 4) The utilization of a scaleable and flexible mapping framework is a critical success factor for object-relational systems 4/17/2019 *
3
Relational Terminology
* 07/16/96 Relational Terminology Relation Attribute Domain Tuple<Person SSN# = " " Name = "Art Larsson" City = "San Francisco"> Attribute Value Relation Value Relation Variable Database Base Relation Values Derived Relation Values 4/17/2019 *
4
Relational Database Design
* 07/16/96 Relational Database Design The relational model is composed of entities and relations. Figure 1 illustrates LINEITEM and PRODUCT tables and various relationship between them An entity has columns. Each column is identified by a name and a type. In the example, the LINEITEM table has Description, Id, Number, Order_Id, and Quantity columns An entity has records or rows. Each row represents a unique tuple of information which typically represents an object's persistent data. Each entity has one or more primary keys. The primary keys uniquely identifies each record (e.g. Id is the primary key for LINEITEM table). Support for relations is vendor specific. The example illustrates the logical model and the relation between the PRODUCT and LINEITEM tables. In the physical model relations are typically implemented using foreign key / primary key references. If one entity relates to another, it will contain columns which are foreign keys. Foreign key columns contain data which can relate specific records in the entity to the related entity. Relations have multiplicity(also known as cardinality). Common cardinalities are one to one (1:1), one to many (1:m), many to one (m:1), and many to many (m:n). In the example, LINEITEM has a 1:1 relationship with PRODUCT and PRODUCT has a 0:m relationship with LINEITEM. Figure 1 4/17/2019 *
5
Object Modeling Terminology
* 07/16/96 Object Modeling Terminology Identity State Behavior Encapsulation Type Associations Class Inheritance 4/17/2019 *
6
* 07/16/96 Object Model Design An object model contains classes Figure 2 illustrates a simple object model. The LineItem class has attributes and behavior. LineItem implements the behavior (method) calculateTotal Relationships in an object model are explicitly represented as attributes. The LineItem class has an attribute product. The product attribute contains an instance of the Product class (or one of its subclasses). There is no relationship navigation through primary/foreign keys as required in relational databases. The object model supports inheritance. A class can inherit data and behavior from another class (e.g. SoftwareProduct and HardwareProduct products inherit attributes and methods from Product class). Figure 2 4/17/2019 *
7
Objects integrated into the Relational Model
* 07/16/96 Objects integrated into the Relational Model Why do we want to do it? What are the advantages in doing it? What are the disadvantages in doing it? Is there any help available? 4/17/2019 *
8
Java Blend v2.0 Components are: Mapping tool: A GUI for mapping between database schema and Java programming language classes The Preprocess program: The preprocess program - Preprocesses .xjava Java programming language source files and .oql OQL source files Runtime libraries - Accessed by means of the Java Blend API, a set of Java language routines for access to Java Blend objects, and the underlying database. Application programmers use these methods. 4/17/2019
9
Java Blend Example application that queries and updates data about
customers and their sales orders. CREATE TABLE customer { custid INTEGER NOT NULL, address VARCHAR (50), rep INTEGER, PK_custid PRIMARY KEY (custid), FK_salesrep FOREIGN KEY (rep) REFERENCES salesrep (repid) ) } Equivalent class is class Customer implements PersistenceCapable { int custID; String address; SalesRep rep; }; 4/17/2019
10
Java Blend Resources 4/17/2019
11
Top Link for Java Features: Transparent Persistence
Object-data mapping solution EJB persistence solution Enterprise data integration Mapping workbench optimistic and pessimistic locking object level transactions application server integration and portability real-time performance 4/17/2019
12
Visual Mapping workbench
4/17/2019
13
Foundation Library for Java
TopLink for Java Foundation Library is an object-relational framework, which facilitates the construction of an object-oriented system that can store its objects/data in a relational database. 4/17/2019
14
Top Link Resources 4/17/2019
15
Other Tools JRB (Java Relational Binding) -- Ardent
Data Director for Java (DDJ) -- Informix/IBM UDE (Universal Development Env)--Formida Free Software Power Tier-- Persistence Oracle Designer Oracle Jasmine -- Computer Associates SQL Object Factory -- POET Software VBS Framework -- ObjectMatter Inc. 4/17/2019
16
Persistence PowerTier
Example to be included: 4/17/2019
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.