0

In the modeler, relationship is represented by a line between two entities. It would be no problem if the relationship has no descriptive attributes. But if it has, how can I represent the descriptive attributes? For example, the relationship set advisor, between entity set student and entity set instructor, has a descriptive attribute date to record the data an instructor become the advisor of a student. How I can represent the attribute?

user4147874
  • 61
  • 10

1 Answers1

0

A relationship can be viewed as an assertion. I believe the assertion that represents the relationship here is: An instructor acts as an adviser to a student.

There are 3 nouns in the assertion which implies that there are 3 entities involved in the relation:

  • Instructor
  • Student
  • Adviser

There are 2 fundamental entities (Student and Instructor) upon which the associative entity (Adviser) depends. In other words, an instance of Adviser needs an instance of Instructor and Student to make sense.

The simple answer is to simply make the date an attribute of Adviser. Unfortunately, life is often not that simple.

Are are the following two assertions valid?:

  • Jim acts as an adviser to Jane from 01/01/2009 to 06/30/2009.
  • Jim acts as an adviser to Jane from 01/01/2011 to 06/30/2011.

If so, then a new entity (Advisory Period) is required. An Advisory Period the amount of time during which an instructor acts as an adviser to a student.

The Advisory Period entity would be dependent on Adviser (necessitating a dependent 1:m relation between Adviser and Advisory Period) and the start and end dates of the period would be recorded as non-key attributes of the Advisory Period.

Hope this helps

Jim O'Brien
  • 612
  • 1
  • 4
  • 11