object relational modeling n.
Skip this Video
Loading SlideShow in 5 Seconds..
Object-Relational Modeling PowerPoint Presentation
Download Presentation
Object-Relational Modeling

Loading in 2 Seconds...

play fullscreen
1 / 32

Object-Relational Modeling - PowerPoint PPT Presentation

  • Uploaded on

Object-Relational Modeling. What Is a Relational Data Model?. Based on the concept of relations (tables of data) Relationships established by matching primary and foreign keys Relational DBMSs (RDBMS) are the most commonly used in industry today.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Object-Relational Modeling' - wyatt

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
what is a relational data model
What Is a Relational Data Model?
  • Based on the concept of relations (tables of data)
  • Relationships established by matching primary and foreign keys
  • Relational DBMSs (RDBMS) are the most commonly used in industry today.
  • Many DBMS vendors have begun adding object-oriented features, creating an object-relational model.
what is a relation
What Is a Relation?
  • A named, two-dimensional table with the following properties (Not all tables are relations):
    • Entry at each row and column has a single value.
    • Entries in columns are from the same set of values (domain range) and correspond to an attribute
    • Each row is unique (i.e. has a nonempty primary key) and corresponds to a record that contains data values for a class.
    • Column order does not matter.
    • Row order does not matter.

This is called First Normal Form (1NF)

what is normalization
What Is Normalization?
  • The process of converting complex data structures into well-structured relations
  • Well-structured relation – a relation that contains a minimum amount of redundancies and allows rows to be inserted, modified, and deleted without introducing errors or inconsistencies
consequences of relations that are not well structured
Consequences of Relations that Are Not Well Structured
  • Insertion anomaly – adding new rows forces user to create duplicate data
  • Update anomaly – changes in one row force changes in other rows because of duplication
  • Deletion anomaly – deleting rows may cause a loss of data that would be needed for other future rows

Data integrity requires well-structured relations.

the normal forms
The Normal Forms
  • 1st NF – all relations are in 1NF (basic)
  • 2nd NF – relations with no partial-key functional dependencies
  • 3rd NF – relations with no transitive functional dependencies

Main goal is to achieve 3NF for all relations.

what is a functional dependency
What Is a Functional Dependency?
  • The functional dependency of attribute B on attribute A is represented by an arrow A  B, and implies that every valid value of attribute A uniquely determines the value of attribute B.
  • Determinant – the attribute on the left side of the arrow
  • All primary keys are determinants
second normal form 2nf
Second Normal Form (2NF)
  • In 1NF and no partial key functional dependencies
  • If the primary key is a composite key (composed of more than one attribute) it is possible for an attribute to be functionally dependent on only part of the key
  • Avoid partial dependencies for 2NF

This table has a composite key (Emp_ID and Course)

Functional dependencies:

(A) Emp_ID  Name, Dept, Salary (B)

(A) Emp_ID, Course  Date_Completed (B)

Name, Dept, and Salary all have partial key dependencies, causing duplication of data.



If you had to edit Margaret Simpson’s department or

salary, you would have to edit 2 records in this table.



Break the relation into two separate relations.

1:N relationship linked by Emp_ID

No partial key dependencies

Well structured

third normal form 3nf
Third Normal Form (3NF)
  • In 2NF and no transitive functional dependencies
  • Given three attributes in a relation A, B, C, if A  B and B  C, this forms a transitive functional dependency
  • Avoid transitive dependencies for 3NF

Here, (A) Customer_ID  (B) Salesperson, and

(B) Salesperson  (C) Region, cause a transitive dependency



If you had to edit Region for Salesperson Hicks you would have to edit every customer record in table.



Break the relation into two separate relations.

1:N relationship linked by SalesPerson

No transitive dependencies

Well structured

primary and foreign keys
Primary and Foreign Keys
  • Primary key – one or more attributes that together form a unique identifier for rows in the relation
  • Foreign key – an attribute that appears as a non-primary key attribute or as part of a primary key in one relation and as a primary key attribute in another relation
  • Relationship – rows in one relation are matched with related rows in another relation through foreign keys

Primary Key in

SALES1 table is


Foreign Key is


because it is linked

to the SPERSON

table by the

Primary Key


referential integrity
Referential Integrity
  • A rule that states that any foreign key value (on the relation of the many side) MUST match a primary key value in the relation of the one side
  • No foreign key can contain a value that is not present in a primary key in the other relation

The value of Salesperson in each row of table SALES1 is limited to only the current values of Salesperson in the SPERSON table.

object relational data model
Object-Relational Data Model

An ORDM is a relational data model with object-oriented extensions

  • Generalization (& Specialization)
  • Multivalued attributes (i.e. phone_number)
  • Aggregation (nested tables and clusters)
  • Object identifiers (not popularly used)
  • Pointers (alternative to linking – but requires new syntax for writing queries, not popular)
  • Behaviors (incorporate methods in a relation)
  • Richer set of data types (geographic points, documents, large objects)
translating conceptual data model to object relational model
Translating Conceptual Data Model to Object-Relational Model
  • Translate classes
    • Each class becomes an object relation
    • Identifier of class becomes primary key of object relation
    • Other attributes become nonprimary attributes of relation
  • Translate relationships
    • Represented using a foreign key.
  • Normalize object relations
    • Eliminate redundancy (follow 2nd & 3rd Normal form)
  • Merge object relations
    • Redundant object relations describing the same class must be merged and renormalized

Relational approach,

forces atomic attributes

Comparison of techniques for translating multivalued attributes

Object-relational approach,

with multivalued attribute


When constructing 1:N relationships, the foreign key is added as an attribute to the relation on the N side.


Associative Class

Associative class and M:N relationship

Many to Many


Uses primary keys

of 3 classes


points for figure 8 11
Points for Figure 8.11
  • Associative class is translated into a relation whose primary key is a composite of the primary keys of the other two classes.
  • M:N relationship between Work and Skill is implemented as an extra relation UseSkills, whose primary key is composed of the primary keys of Work and Skill.

Unary Relationship

Recursive 1:N relationship is represented by a foreign key managerID, which matches with the empId primary key of the same relation.


Unary Relationship

Recursive M:N relationship is represented by a separate relation Prerequisite, whose primary key is composed of two primary key values from the Course relation.

problems in merging object relations
Problems in Merging Object Relations
  • Synonyms
    • Two or more attributes have different names but same meaning
    • For example: Employee1(EmpID, name)

Employee2(EmpNo, name)

Both keys mean the same but are named differently.

    • The analyst should select one of the two primary key names or use a third name but get agreement from affected departments
problems in merging object relations1
Problems in Merging Object Relations
  • Homonyms
    • A single attribute name has more than one meaning.
    • For example: Account1(AccountNo, amount)

Account2(AccountNo, amount)

AccountNo stands for Checking Account No in Account1 and Savings Account No in Account2.

    • The analyst should select a new attribute name and get agreement from affected departments.