16
Entity- Entity- Relationship Data Relationship Data Model Model Alex Ostrovsky Alex Ostrovsky

Entity-Relationship Data Model Alex Ostrovsky. Presentation Overview ► Short historical overview ► Elements of E-R Model ► Basic organization & relationships

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Entity-Relationship Entity-Relationship Data ModelData Model

Alex OstrovskyAlex Ostrovsky

Presentation OverviewPresentation Overview

►Short historical overviewShort historical overview►Elements of E-R ModelElements of E-R Model►Basic organization & relationships in E-Basic organization & relationships in E-

R ModelR Model►Design principlesDesign principles

History of E-R ModelHistory of E-R Model

► E-R Model was E-R Model was proposed by Dr. Peter proposed by Dr. Peter Chen (currently Chen (currently professor at Louisiana professor at Louisiana State University)State University)

► Chen’s original paper Chen’s original paper on E-R Model is the on E-R Model is the 3535thth most sited paper most sited paper in computer sciencein computer science

► Chen has written Chen has written papers papers interconnecting E-R interconnecting E-R model and linguisticsmodel and linguistics

IntroductionIntroduction

►Database Structure is often called Database Structure is often called Database SchemaDatabase Schema

►E-R model is graphical in nature, thus E-R model is graphical in nature, thus making it easy to analyze and observe making it easy to analyze and observe relationship between data elementsrelationship between data elements

►Most DBMS are based upon E-R modelMost DBMS are based upon E-R model►E-R model is not a good match for the E-R model is not a good match for the

sophisticated data structures required sophisticated data structures required in today’s DBMSin today’s DBMS

Elements of E-R ModelElements of E-R Model

►Data represented graphically via Data represented graphically via entity-relationship diagram which entity-relationship diagram which contains 3 main element types:contains 3 main element types: Entity setsEntity sets AttributesAttributes RelationshipsRelationships

Entity sets, Attributes, Entity sets, Attributes, RelationshipsRelationships

► Entity setEntity set Is an Is an abstract abstract object, collection of such objects object, collection of such objects

forms an entity set.forms an entity set. Similar notion as in OO designSimilar notion as in OO design

► Attribute:Attribute: Some concrete data (or object type) by which Some concrete data (or object type) by which

entity set is definedentity set is defined

► RelationshipRelationship Specific connection between 2 or more entity Specific connection between 2 or more entity

setssets

E-R DiagramE-R Diagram

►Represents E-R elements by nodes of Represents E-R elements by nodes of specific shape to indicate kindspecific shape to indicate kind Entity sets are represented by rectanglesEntity sets are represented by rectangles Attributes are shown as ovalsAttributes are shown as ovals Relationships correspond to diamondsRelationships correspond to diamonds

►Simple example from the book:Simple example from the book:

Simple illustrationSimple illustration

Instances of E-R diagramInstances of E-R diagram

►DB described by E-R will contain DB described by E-R will contain specific data (i.e. specific data (i.e. database instancedatabase instance))

►Each entity set will contain a particular Each entity set will contain a particular finite set of entitiesfinite set of entities

►Each entity contains a particular value Each entity contains a particular value for each attributefor each attribute

►E-R data is not stored directly in DBE-R data is not stored directly in DB

E-R RelationshipsE-R Relationships

► Suppose R is a relationship connecting entity sets E and F. Then: If each member of E can be connected by R to

at most one member of F, then we say that R is many-one from E to F. Note that in a many-one relationship from E to F, each entity in F can be connected to many members of E.

If R is both many-one from E to F and many-one from F to E, then we say that R is one-one. In a one-one relationship an entity of either entity set can be connected to at most one entity of the other set.

If R is neither many-one from E to F or from F to E, then we say R is many-many

Multi-way relationshipsMulti-way relationships

► There is a relationship Sequel-of between the entity set Movies and itself.

► To differentiate the two movies in a relationship, one line is labeled by the role Original and one by the role Sequel, indicating the original movie and its sequel, respectively.

Relationships ContinuedRelationships Continued►Some data models limit relationships Some data models limit relationships

to be binaryto be binary► It is possible to convert multi-way It is possible to convert multi-way

relationship into a collection of binary relationship into a collection of binary many-one relationshipsmany-one relationships

►Need to introduce a Need to introduce a connectingconnecting entity entity set, which will act as a bridge between set, which will act as a bridge between smaller sets which come from splitting smaller sets which come from splitting a larger multi-way relationship set.a larger multi-way relationship set.

►Connecting entity set might have its Connecting entity set might have its own attributesown attributes

Design PrinciplesDesign Principles► Faithfulness:Faithfulness:

Design has to comply strictly with specificationsDesign has to comply strictly with specifications Logical attributes and relationshipsLogical attributes and relationships

► Avoid redundancyAvoid redundancy► "Everything should be made as simple as "Everything should be made as simple as

possible, but not simpler.” Albert Einsteinpossible, but not simpler.” Albert Einstein► Choose right relationshipsChoose right relationships► Select right elementsSelect right elements

Many choices exist between using attributes and Many choices exist between using attributes and using entity set/relationship combinationsusing entity set/relationship combinations

An attribute is simpler to implement than either An attribute is simpler to implement than either entity set or a relationshipentity set or a relationship

Design Principals Cont.Design Principals Cont.►To replace an entity set by an attribute To replace an entity set by an attribute

or attributes of several entity sets 3 or attributes of several entity sets 3 conditions must be enforced:conditions must be enforced: All relationships in which entity set is

involved must have arrows entering it. That is, it must be the “one” in many-one relationships, or its generalization for the case of multi-way relationships.

The attributes for E must collectively identify an entity. if there are several attributes, then no attribute must depend on the other attributes

No relationship involves E more than once

Thank You.Thank You.

ReferencesReferences

►Dr. Chen’s homepage: Dr. Chen’s homepage: http://bit.csc.lsu.edu/~chen/chen.htmlhttp://bit.csc.lsu.edu/~chen/chen.html

►Database Systems: A First Course, J.D. Database Systems: A First Course, J.D. Ullman & J. WidomUllman & J. Widom

►http://en.wikipedia.org/wiki/Entity-relathttp://en.wikipedia.org/wiki/Entity-relationship_diagramionship_diagram

►http://en.wikipedia.org/wiki/IDEFhttp://en.wikipedia.org/wiki/IDEF►http://http://

en.wikipedia.org/wiki/Entity_relationshien.wikipedia.org/wiki/Entity_relationship_diagramp_diagram