In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities. Well, here they are. Have fun!
Problem 1: Language School
Mr. Trotter, the proprietor of a rapidly-growing language school, wants to introduce a new system in his company. He can no longer keep track of all the information on his own, so he’s asked for our help. He is a bit chaotic, though. This is what he said:
There are dozens of new people coming here and I no longer know what to do! For example, last week a girl named Hannah came and she wanted to become a student, but I couldn’t find my notebook so I couldn’t write her surname down. Then she asked about the kind of courses we offer and well… we have lots of them, so I showed her the calendar where I write down all the classes. She picked Chinese and then asked who taught it. Well, I said, we have many teachers here, so I started looking in my e-mail box to see who I wrote about teaching Chinese this term. It took longer than I expected and Hannah left. What a pity!
Based on the description, suggest a few entities for Mr. Trotter’s new system so that he can run his school more effectively.
Problem 2: Busy Writer
Joanne L. Bowling works for various companies and writes things for them. She is very busy and would like to have convenient application that keeps track of everything she has written. This application will be in the form of a portfolio. This is how she described her work:
I’m very talented and I write tons of different things. For instance, last week I wrote an article about the latest economic crisis for a newspaper. I don’t know much about economics, but I read a bit and I was able to compose a nice little article. On the other hand, a month ago another famous newspaper published a serial I did. Well, that one was about the history of art in the Netherlands. I already had some knowledge in the field because 5 years ago I wrote a book on Rembrandt – which was published last year, by the way. It’s almost always the same when I work with newspapers; their assignments are quick and easy. It’s another story with publishing houses, though. Verification, editing... there are so many steps and so many deadlines that I need to remember!
Based on the description, suggest a few general entities that could be used in an application for Joanne to track everything she’s written. Think about the following question: what kind of things has she written and where has she published them?
Problem 3: Tea Shop
Mark Tee owns a small shop down a side street in a medium-sized town. It only had a few customers – until one day a famous blogger discovered it during his travels and published a post about it. He said that Mark’s shop is the best source of tea in the world. Mark now has so many clients that he no longer knows what’s in stock. He needs a system that will help him organize his products. This is what he said:
People buy my products all day long and I need to keep track of what I have in stock. I sell various things. Tea is the most important of them, of course. I am very detailed when it comes to tea: I need information about the grade, color, origin... Every single variety has at least some of these properties.
I also sell a lot of coffee, but coffee is different and different things are used to describe it. And then there is the herbal stuff like rooibos or yerba mate. Tea enthusiasts call these tisanes or infusions; they’re not really ‘tea’ and I don’t need much additional information about them in my system.
Read the description above and suggest a few different entities for Mark’s stock management system.
Problem 4: Pharmaceutical Company
A pharmaceutical company which manufactures drugs would like to have a system which will help with its management. This is the description sent to us one of the company’s employees:
In our company, the products are of course various drugs with specific properties. We produce painkillers, antibiotics, and other drugs. They are manufactured in various departments. In each department, there are employees. Employees are qualified for carrying out specific types of production. In the course of their work, the employees use special devices to help make the drugs. Of course, they wouldn’t produce anything without the proper components! Oh, and by the way, the production is divided into batches – groups of products manufactured in one operation. All of this is necessary for our company. We need to store detailed information about every part of it in our system.
On the basis of the above description, suggest some entities to be used in the pharmaceutical company system.
Problem 5: Movie Database
John is a zealous film student and wants to create a new website about movies. He described the idea this way:
There will be information about various things in my database. First of all, there will be movies, different kinds of them. In each movie, there are actors – I want to store information about them too. Not only professional data, like the movies they played in, but also some funny things or some personal information. Then, there are directors. They are very important in movies, so I want to write about them too. And movie studios, of course! Not many websites mention them, but they are important to me as well. Finally, there will be reviews for all of the movies.
Based on the above description, suggest some entities for John’s movie database.