2003年 6月16日 VIRTUAL ENTITY BACK >> 目次



Virtual Entity

 The following data is not normalized (in T-ERD rules):

 employee: {employee-NO, employee-name, employment-date} [ R ]

 
 Recall the following rules:

 (1) "An 'event' type of entity must have an attribute of 'DATE' while a 'resource' cannot.

 (2) Attributes are named through the formula of "entity. attribute",
    employee. name order. date
    customer. name delivery. date
    product. name billing. date

 (3) Take an attribute, and just ask "of which?": i. e.,
   attribute of "name", and ask "whose?" employee's? customer's? product's?
   attribute of "date", and ask "the date of which?" order? delivery? billing?

 The "employment-date" is an attribute of "event", "employment", not of "employee."
 But if and when "employment-NO" is not used in business activities, we cannot create the "event" of "employment"--it means that "employment-date" never gets a container to which it must belong, although the "employment-date" is not an attribute of "employee."

 The "resource" of "employee" is contaminated with the attribute of "employment-date", and we must normalize "employee" while we don't have "employment."

 The "virtual entity" is a technique for improving the precision (normalization) of entity: "virtual" means "made to appear to exist by rule", and "virtual entity" can be treated as if it stands as an entity as below:

  employee:
  {employee-NO, employee-name} [ R ]

  employment:
  {identifier (?), employment-date} [ VE ]

   The sign of "VE" on the upper right side of "employment" tuple means "Virtual Entity."

 
 But a problem is here: what is the identifier for "employment", since we have not put the "employment-NO" into use so far.
 If and when we can get OK from end-users that the "employment-NO" should be implemented in business activities, it's logical to use "employment-NO" as the identifier of "employment", but if not, what should we do?

 There's no other ways but to use "employee-NO" in "employment" as below:

  employee:
  {employee-NO, employee-name} [ R ]

  employment:
  {employee-NO (R), employment-date} [ VE ]

 
 We have a good reason to create VE, VE gives its normalization purpose:
 we must attain purity of entity, "resource" and "event."

 Recall the following rules, they are the rules for creating VE:

 (1) Attributes are named through the formula of "entity. attribute",
    employee. name order. date
    customer. name delivery. date
    product. name billing. date

 (2) Take an attribute, and just ask "of which?": i. e.,
   attribute of "name", and ask "whose?" employee's? customer's? product's?
   attribute of "date", and ask "the date of which?" order? delivery? billing?

 



  << もどる HOME すすむ >>
  T字形ER手法の英訳