Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Modeling Advanced Concepts.

Similar presentations


Presentation on theme: "Data Modeling Advanced Concepts."— Presentation transcript:

1 Data Modeling Advanced Concepts

2 Common Modeling Situations
Unary relationships Binary relationships Ternary relationships Attributive or Weak Entities Associative or Intersection Entities Supertypes and Subtypes

3 Degree of Relationship
Number of entity types that participate in a relationship Three cases Unary A relationship between two instances of one entity type Binary A relationship between the instances of two entity types Ternary A simultaneous relationship among the instances of three entity types Not the same as three binary relationships

4 Figure 10-6 Example relationships of different degrees

5 Which type of relationship is this?
Customers (Parent) Orders (Child) cust_id cust_name 100 Slick Willy, Inc. 200 George_W, Co. 300 Gore, Ltd. ord no cust_id ord_date Sep-2000 Nov-2000 Dec-2000 Dec-2000 A binary one to many relationship. A customer places many orders. An order is placed by only one customer. “An instance of the entity customer is related to one or many instances of orders. An instance of order is related to only one instance of customer.”

6 Which type of relationship is this?
Are these the same statements? A CD appears on several orders. An order may have many CDS on it. Binary many to many

7 Entity-Relationship (E-R) Modeling Key Terms
Attributive or Weak Entity An entity than cannot exist without the existence of another entity. Examples. What would be a weak entity for A DePaul Course? An employee? A product? Associative entity An entity type that associates the instances of one or more entity types and contains attributes that are peculiar to the relationship between those entity instances

8 Multivalued Attributes
How do we model the situation where an entity has an attribute describing it, but The attribute may take on more than one value for each entity instance The multivalued attribute can be represented on an E-R Diagram in two ways: double-lined ellipse weak entity

9 Depicting Multivalued Attributes
See pages Which way is better? What should the identifier of DEPENDENT be?

10 Depicting Associative Entities
See pages Which way is better? What should the identifier of CERTIFICATE be?

11 Depicting M:M relationships
Create an intersection entity (line item). Move the “M’s” are adjacent to the intersection entity. 3. The “1” side goes on the original entities. Binary many to many

12 Supertypes and Subtypes
A supertype is a generic entity type that has a relationship with one or more subtypes. A subtype is a subgrouping of the entities in an entity type that is meaningful to the organization and that shares common attributes or relationships distinct from other subgroupings. Examples Customers and Preferred Customers Students, graduate, PhD, undergraduate, full-time, part-time Why bother? Sometimes it is a better representation of reality. It is useful to know if two entities are very similar, i.e. one is a special type of another. There are implications for database design also, e.g. where to store common attributes.

13 Supertype/Subtype Rules Specialization
Does the instance of the supertype have to be a member of a subtype? If yes, Total Specialization (double line) If no, Partial Specialization (single line) It says supertypes are allowed not to belong to a subtype. Examples—which rule of specialization applies? Customers and Preferred Customers Students, graduate, PhD, undergraduate, full-time, part-time

14 Supertype/Subtype Rules Disjoint/Overlap
Can an instance of the supertype be a member of more than one subtype? If yes, Overlap (letter “o”) If no, Disjoint (letter “d”) Examples—which rule of specialization applies? Friends, countrymen, Romans Students, graduate, PhD, undergraduate, full-time, part-time

15 Supertype/Subtype Example
Page 326. Is this diagram correct? What about the “Is assigned” relationship?

16 Another example. Page 327. Does the model allow for:
Student Employees? Staff members teaching? Simultaneous Grad/undergrad students? Student employees: Yes. The overlap below PERSON. Staff members teaching? No. the d below EMPLOYEE. Simultaneous grad/u/g? No. the d below STUDENT. A “non-employee/alumnus/student” PERSON = a PERSON who is neither a STUDENT, nor a EMPLOYEE, nor an ALUMNUS. A “non-employee/alumnus/student” PERSON?

17 Business Rules Entity integrity Referential integrity Domains
Each entity instance has a unique identifier. The identifier value cannot be empty. Referential integrity The value or existence of an attribute in one relation depends on the value or existence of the same attribute occurring in another relation More on this in IS422 Domains Triggering operations

18 Domains The set of all data types and ranges of values that an attribute can assume Several advantages Verify that the values for an attribute are valid Ensure that various data manipulation operations are logical Help conserve effort in describing attribute characteristics

19 Triggering Operations
An assertion or rule that governs the validity of data manipulation operations such as insert, update and delete Includes the following components: User rule Statement of the business rule to be enforced by the trigger Event Data manipulation operation that initiates the operation Entity Name Name of entity being accessed or modified Condition Condition that causes the operation to be triggered Action Action taken when the operation is triggered Where would you say the responsibility for data integrity lies—in the application programs or the database management system? The DBMS. Closer to the eventual source. Else, you must remember to enforce integrity in EVERY application.


Download ppt "Data Modeling Advanced Concepts."

Similar presentations


Ads by Google