My Database professor combines Hawaiian shirts with Zen aphorisms.
“You will love this class! You will hate this class! This class is easy! This class is hard! It is hard because you will put off your project until the last minute. And the computer, he hates the man who puts off his project until the last minute!”
“When your project is due, you will will come up and bring up your web site in the browser and show it to me! I will look at it along with you! There is no way to cheat! But….suppose your server is down, or we not reach it somehow….you get zero! Soooo….you must be like fox! The fox digs THREE holes! One for them to put the smoke in! One for the hunter to stand next to! And one to escape!”
(This last was outstandingly good advice — I put up my database project on three servers: a Linux server hosted by Chris Ravenscroft, a Mac OS X server, and a Windows XP server. I never worried that my servers would be unreachable.)
“And now, Relational Database Normalization. [Presents Level 1 Normalization fairly coherently.] Now, Level 2 Normalization: if you have the database, and there are duplicated columns, you want to separate the columns [makes stretching motions with hands]. But, if the columns are related in some way [indicates tendrils connecting the left and right sides], then this is no good. It is like the meat: you know, you have to cut the meat AGAINST the lines of the muscle. One time my wife brought home a piece of meat, and it was cut ALONG the muscle! Like jerky! I said to myself, ‘What kind of man would cut meat like this?’ I couldn’t eat it! I had to throw it away!”
“No-loss decomposition — some people think that we mean this: if we decompose 100 rows, and then recompose them, we won’t get 99 rows….BUT! It’s also bad to get 101 rows! Suppose you had 100 cows. But then you look and see 101 cows — an intruder! How do you find him? Start taking them apart? That crazy! It’s like that movie; have you seen the movie, ‘Humanoid?'”
(Actually, this was a surprisingly effective metaphor. Whenever confronted with questions about no-loss decomposition, I would always think, “What about that extra cow?”)
“Everybody live under spell. Lots of spells! For instance, if two people mate, you always get another person, never something else! THIS is like the Data Policy.”