mapping example

9

Click here to load reader

Upload: samir-sabry

Post on 13-May-2015

534 views

Category:

Education


1 download

DESCRIPTION

Mapping rules with example

TRANSCRIPT

Page 1: Mapping example

Eng.Samir Sabry IT Instructor

Before of all we must learn and know Entit-Relaionship notation:-

We start by this example: Company database The Company assigns an employee to one department but may work on several projects, which are not necessarily controlled by the same department. It keeps track of the number of hours per week that an employee works on each project. It records the direct supervisor of each employee. It stores the dependants of each employee for insurance purposes. It keeps each dependant’s: name, gender, birth date, and relationship to employee

Page 2: Mapping example
Page 3: Mapping example

Mapping Rules

Step 1: For each regular entity types

Create a new relation that includes Simple attributes

For a composite attribute include only the simple component attributes

Leave out multivalued attributes (to step 6)

Pick a PK

For example, we create the relations EMPLOYEE, DEPARTMENT, and

PROJECT for the regular entity types

Then, we choose SSN, DNUMBER and PNUMBER as primary keys for the

relations EMPLOYEE, DEPARTMENT, and PROJECT, respectively.

Note: Foreign keys are not included yet.

Page 4: Mapping example

Step 2: weak entity types

Note: Weak entity type has no key - Related to an identifying or owner

entity type. Has total participation constraint with identifying entity.

Create a new relation with simple attributes

Include an FK to the owner entity's relation

For example, we create the relation DEPENDENT in this step.

Include the primary key SSN of the EMPLOYEE as a foreign key attribute of

DEPENDENT.

The primary key of DEPENDENT is the combination {ESSN, DEPENDENT_NAME}

because DEPENDENT_NAME is the partial key of DEPENDENT.

Page 5: Mapping example

Step 3: 1:1 relationship types

Add to one of the participating relations an FK to the other relation:

It is better to add to a relation that has total participation in the relationship

Include any relationship attributes

Note: When both participations are total, we may merge the two entity types and the relationship into a single relation.

Let’s consider the relationship type MANAGES which is total.

Include the primary key of EMPLOYEE as foreign key in the DEPARTMENT and

rename it as MGRSSN.

Include the simple attribute StartDate of the MANAGES in the DEPARTMENT

and rename it MGRSTARTDATE.

Page 6: Mapping example

Step 4: 1: N relationship types

Add to the relation on the N-side an FK to the other relation.

Include any relation attributes

Let’s consider the 1:N relationships type WORKS_FOR, CONTROLS and

SUPERVISION.

For SUPERVISION, include the primary key SSN of EMPLOYEE as foreign key in itself and call it SUPERSSN.

For WORKS_FOR, include the primary key DNUMBER of DEPARTMENT as

foreign key in EMPLOYEE and call it DNO.

For CONTROLS, include the primary key DNUMBER of DEPARTMENT as

foreign key in PROJECT and call it DNUM

Page 7: Mapping example

Step 5: M: N relationship types

Create a New relation containing as FK of the primary keys of

both entity types participating relations

Include any relation attributes

Let consider the M:N relationship type WORKS_ON.

Include the primary keys of the PROJECT and EMPLOYEE relations as

foreign keys in WORKS_ON and rename them PNO and ESSN, respectively.

Include an attribute HOURS in WORKS_ON.

Page 8: Mapping example

Step 6: multi-valued attribute

Create new relation for each multi-valued attribute containing FK of the

PK from the Entity

Let’s consider the attribute DLOCATION.

Create a relation DEPT_LOCATIONS.

The primary key of DEPT_LOCATIONS is the combination of {DNUMBER,

DLOCATION}.

Page 9: Mapping example

Step 7: ternary relationship types

Create new relation containing a FK referencing each of the 3

entities involved Include any relation attributes

Final result:

Notes: How many relations?

1. Entity (both regular and weak)

2. M:N relationship

3. Multi-valued attribute

4. Ternary relationship