7.6. Subcategories

Subcategories are a logical construct that provides you another type of relationship (sometimes called a "Supertype" or "SubType" relationship) to work with. On the physical side of the model, a subcategory is implemented using a mix the types of relationships that I've already talked about (you'll see the specifics of that before you're done).

A subcategory deals with the situation where you have a number of what may first seem like different entities but which share some, although not all, things in common.

I think the best way to get across the concept of a subcategory is to show you one. To do this, we'll take the example of a document in a company.

A document has a number of attributes that are common to any kind of document. For example:

  • Title

  • Author

  • Date created

  • Date last modified

  • Storage location

I'm sure there are more. Note that I'm not saying that every document has the same title, rather that every document has a title. Every document has an author (possibly more than one actually, but, for this example, you'll assume a limit of one). Every document was created on some date. You get the picture — you're dealing with the attributes of the concept of a document, not any particular instance of a document.

But there are lots of different kinds of documents. From things like legal forms (say your mortgage documents) to office memos, to report cards — there are lots of document types. Still, each of these can still be considered to be a document — or a subcategory ...

Get Professional SQL Server™ 2005 Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.