Databases Reference
In-Depth Information
Student
StudentNum
LastName
FirstName
DormNum
1253
Johnson
Ann
3
1
1662
Anderson
Tom
2108
Lewis
Bill
2546
Davis
Mary
2
2867
Albers
Cathy
2
209
2992
Matthew
Mark
3011
Candela
Tim
3
3574
Talen
Sue
Student
StudentDorm
StudentNum
LastName
FirstName
StudentNum
DormNum
1253
Johnson
Ann
1253
3
1662
Anderson
Tom
1662
1
2108
Lewis
Bill
2546
2
2546
Davis
Mary
2867
2
2867
Albers
Cathy
3011
3
2992
Matthew
Mark
3011
Candela
Tim
3574
Talen
Sue
FIGURE 6-27
Student table split to avoid use of null values
In the process, you have created what is formally called an entity subtype . You can say that the
StudentDorm table is a subtype of the Student table. In other words, “students living in dorms” is a subtype
(or subset) of “students.”
Some design methods have specific ways of denoting entity subtypes, but it is not necessary to denote
entity subtypes in DBDL. You can recognize entity subtypes by the fact that the primary key is also a foreign
key, as shown in Figure 6-28.
Studentƒ(StudentNum, LastName, FirstName)
StudentDorm (StudentNum, DormNum)
ƒƒƒƒƒFKƒ ƒStudentNumƒ
Student
ƒƒƒƒƒFK ƒƒDormNum Dorm
FIGURE 6-28
Sample DBDL with entity subtypes
Most approaches to diagramming database designs have ways of representing subtypes. In IDEF1X, for
example, a subtype, which is called a category in IDEF1X terminology, is represented in the manner shown in
Figure 6-29. The circle is the symbol for category. The single line below the circle indicates that the cat-
egory is an incomplete category ; that is, there are students who do not fall into the StudentDorm category.
 
 
Search WWH ::




Custom Search