Get Normal: Scenario


Welcome to Teacher's Pet, Inc.! You've been drafted to serve as the RDBMS design staff.

Before I show you our data files, let me tell you about our company. Teacher's Pet, Inc. (TPI) offers highly specialized dog training. Have you ever seen the painting of dogs playing poker? Well, we trained those dogs! When owners of a TPI-trained dog say "Speak!" our dogs enunciate. When they say "Sit!" our dogs hire a baby-sitter. When they say "Beg!" our dogs hold up cardboard signs reading "Will work for food."

TPI is a prestigious, exclusive, expensive, and (because we're so expensive) a dying company. Therefore, our marketing department —his name is Herb— has created a nifty ad campaign to boost business. In anticipation of the huge customer increase, the boss wants everything on computer. Here's how our data is currently being tracked on paper:

Top of page  

Dog Number:  3
Name:  Tuck Yang
Sex:  Male
Kennel:  Ruff Haus
Address:  1200 Frank St.
Chattanooga, TN 37411
Phone:  423-820-2412
Tricks:   Rollover 53
Retrieve 71
Tightrope 91
Dog Number:  12
Name:  Nip Yin
Sex:  Male
Kennel:  K9HQ
Address:  4051 Lewis St.
Chattanooga, TN 37412
Phone:  423-833-4122
Tricks:   Roll Over 40
Play Dead 70
Fetch 50
Dog Number:  13
Name:  Shadow Muttley
Sex:  N/A
Kennel:  K9HQ
Address:  4051 Lewis St.
Chattanooga, TN 37412
Phone:  615-833-4122
Tricks:   Sit 10%
Stay 10%
Heel 12%

These 3x5 index cards, by the way, represent the sum total of our current clientele. You can see why we need the new ad campaign. You can also see some of the problems we've had with data integrity. When our area code changed from 615 to 423, we missed Shadow's record during the update. You can also see that Nip and Tuck both know the same trick, but it's called "fetch" by one trainer, and "retrieve" by another. Also, the "Roll Over" trick was once mistakenly recorded as "Rollover." I'm also uncertain if the skill levels are recorded consistently. That is, does Nip play dead at 70% or is it 70 out a possible 300?

The salesman told the boss that a "Relational Database" would solve our problems. That's why we brought you in. Can you migrate this data to an RDMS? By the way, exactly what is a "relational" database?

Top of page  

Copyright © 1995 Craig Edward Given