• Tidak ada hasil yang ditemukan

Staffsite STMIK PPKIA Pradnya Paramita DD_4_1

N/A
N/A
Protected

Academic year: 2017

Membagikan "Staffsite STMIK PPKIA Pradnya Paramita DD_4_1"

Copied!
19
0
0

Teks penuh

(1)
(2)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

Database Design

4-1

(3)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Objectives

This lesson covers the following objectives:

• Define and give an example of a subtype

• Define and give an example of a supertype

• State the rules relating to entities and subtypes, and give examples of each

• Apply the rules of supertype and subtype by evaluating the accuracy of ER diagrams that represent them

• Apply the rules of supertype and subtype and include them in a diagram when appropriate

(4)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Purpose

• Supertypes and subtypes occur frequently in the real world

– food order types (eat in, to go)

– grocery bag types (paper, plastic)

– payment types (check, cash, credit)

• You can typically associate ‘choices’ of something with

supertypes and subtypes.

• For example, what will be the method of payment – cash,

check or credit card?

• Understanding real world examples helps us understand how

and when to model them.

4

(5)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Evaluating Entities

• Often some instances of an entity

have attributes and/or

relationships that other instances do not have.

• Imagine a business which needs to

track payments from customers.

• Customers can pay by cash, by

check, or by credit card.

PAYMENT CASH CHECK

CREDIT CARD

(6)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Evaluating Entities

• All payments have some common

attributes: payment date, payment amount, and so on.

• But only credit cards would have a

“card number” attribute.

• And for credit card and check

payments, we may need to know which CUSTOMER made the

payment, while this is not needed for cash payments.

6

PAYMENT CASH CHECK

(7)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Evaluating Entities

• Should we create a single PAYMENT

entity or three separate entities CASH, CHECK, and CREDIT CARD?

• And what happens if in the future

we introduce a fourth method of payment?

7

PAYMENT CASH CHECK

(8)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Subdivide an Entity

• Sometimes it makes sense to

subdivide an entity into subtypes.

• This may be the case when a group

of instances has special properties, such as attributes or relationships that exist only for that group.

• In this case, the entity is called a

“supertype” and each group is called a “subtype”.

ANIMAL

VERTEBRATE INVERTEBRATE

ANIMAL SUPERTYPE

(9)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Subtype Characteristics

• A subtype:

– Inherits all attributes of the supertype

– Inherits all relationships of the

supertype

– Usually has its own attributes or

relationships

– Is drawn within the supertype

– Never exists alone

– May have subtypes of its own

9

ANIMAL

VERTEBRATE INVERTEBRATE

(10)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Supertype Example

• EXAM is a supertype of

QUIZ, MIDTERM, and FINAL.

• The subtypes have

several attributes in common.

• These common

attributes are listed at the supertype level.

STUDENT

* grade for oral presentation EXAM

# number * description * weight * date

* grade for written component

taken by

included in

includes

EXAM SUPERTYPE

take

(11)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Supertype Example

• The same applies to

relationships.

• Subtypes inherit all

attributes and

relationships of the supertype entity.

STUDENT

* grade for oral presentation EXAM

# number * description * weight * date

* grade for written component

taken by

included in

includes

EXAM SUPERTYPE

take

(12)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Always More Than One Subtype

• When an ER model is complete, subtypes never stand alone.

In other words, if an entity has a subtype, a second subtype must also exist. This makes sense.

• A single subtype is exactly the same as the supertype.

• This idea leads to the two subtype rules:

– Exhaustive: Every instance of the supertype is also an instance of one of the subtypes. All subtypes are listed without

omission.

– Mutually Exclusive: Each instance of a supertype is an instance of only one possible subtype.

(13)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Always More Than One Subtype

WALL COVERING

PAINT

WALLPAPER

FABRIC

OTHER

WALLCOVERING SUPERTYPE

At the conceptual modeling stage, it is good practice to include an OTHER subtype to make sure that your subtypes are exhaustive -- that you are handling every instance of the supertype.

(14)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Subtypes Always Exist

• Any entity can be subtyped by

making up a rule that subdivides the instances into groups.

• But being able to subtype is not

the issue—having a reason to subtype is the issue.

• When a need exists within the

business to show similarities and differences between instances, then subtype.

WALL COVERING

PAINT

WALLPAPER

FABRIC

OTHER

WALLCOVERING SUPERTYPE

14

(15)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Correctly Identifying Subtypes

• When modeling supertypes and

subtypes, you can use three

questions to see if the subtype is correctly identified:

– Is this subtype a kind of supertype?

– Have I covered all possible cases?

(exhaustive)

– Does each instance fit into one and

only one subtype? (mutually exclusive)

SNOWSPORT

SKI

SNOWBOARD

CROSS COUNTRY

OTHER

(16)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Nested Subtypes

• You can nest subtypes.

• For ease of reading --

“readability” -- you would usually show subtypes with only two levels, but there is no rule that would stop you from going beyond two

levels.

ANIMAL

VERTEBRATE

BIRD REPTILE

MAMMAL OTHER

INVERTEBRATE

NESTED ANIMAL SUPERTYPE

(17)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Terminology

Key terms used in this lesson included:

• Exhaustive

• Mutually exclusive

• Subtype

• Supertype

(18)

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

DDS4L1

Supertypes and Subtypes

Summary

In this lesson, you should have learned how to:

• Define and give an example of a subtype

• Define and give an example of a supertype

• State the rules relating to entities and subtypes, and give examples of each

• Apply the rules of supertype and subtype by evaluating the accuracy of ER diagrams that represent them

• Apply the rules of supertype and subtype and include them in a diagram when appropriate

(19)

Referensi

Dokumen terkait

• An entity relationship diagram (ERD) is a consistent tool that can be used to represent the data requirements of a business regardless of the type of database that is used, and

(FK) is a column, or combination of columns, in one table that contains values that match the primary key. value in another

Project tasks at this stage of the Systems Development Life Cycle (SDLC):.. • Study and analyze the

• Identify a data-modeling project to solve a business information need.. • Demonstrate essential skills in solving business problems using technology, and professionally

• In a query using a GROUP BY and HAVING clause, the rows are first grouped, group functions are applied, and then only those groups matching the HAVING clause are

similar in structure to the normal Oracle database tables, but the actual data rows are stored externally in a flat file and are accessed only when needed... Copyright © 2015,

• It would be a shame to have spent a year studying database modeling and database programming without really creating a database application.. • In this lesson, you will have

these rules can also be written as production rules the inference engine determines which rule antecedents are satisfied. the left-hand side must “match” a fact in the working