First, you will design the E/R diagram for your TBP, then you will transform the E/R diagram to a relational schema for the database, and you will create an actual database using MySQL. Later on, you will populate the database with lots of data, write interactive queries and modifications on the database. Finally, you will develop an online interface to your TBP.
Your first step is to identify the features of your TBP that you would like to manage with your database, and to construct an entity-relationship diagram for the data. Try to pick an app that is relatively substantial, but not too enormous. For example, when expressed in the entity-relationship model, you might want your design to have five to ten entity sets, and a similar number of relationships. The total number of entity sets plus relationships for most reasonable designs should be between 10 and 20. If you feel that your app is too complex or too simple, please, discuss it with the TAs or the instructor.
You should certainly include different kinds of relationships (e.g., many-to-one, many-to-many) and different kinds of data (strings, integers, etc.), but your app is not required to use advanced features, such as subclasses, multiway relationships, or weak entity sets, if they are not appropriate for your scenario.
Here are a few hints on getting started with your E/R diagram. You can start with the Users (or perhaps Twitterers?) and Tweets entity sets. Then you can create two relationship Following and Sends. Following will be a many-to-many relationship between Users and Users while Sends will be a one-to-many relationship between Users and Tweets. Next, you can consider how to add the concept of Re-tweeting to you E/R diagram.
So, here is what you need to do for step 1 of your TBP:
The recommended tool for creating your E/R diagram is ERDplus. Of course, you can draw the diagram using any software you like. You can also draw the diagram by hand and then scan it. Store your ER diagram in a file called TBP_ERD.???. Note that the file should be in some readable format such as pdf, bmp or png.
Please, create a new directory in your home directory on the CS server called hw1_<your_username>, e.g. hw1_evtimov, and move all of the relevant files there: TBP_description.txt, TBP_ERD.???, TBP_schema.txt.
The instructions on how to submit your project can be found here.
If you are having trouble thinking of any additional features for your Twitter Basic Plus, or if you are unsure whether your proposed features are appropriate, please feel free to consult with the instructor or the TAs.
The name of the homework is MPCSDB Aut13 HW2. There are 11 questions in this homework - 10 regular questions and one extra credit one (about seven subsets). All questions in this problem set are multiple choice. However, to answer them correctly you will need to work out their long (general) answers. A correct answer is worth 3 points. You lose a point for each incorrect answer. You can attempt the problem set as many times as you like; only your highest score will count. Note that you will probably get slightly different questions each time you take it.
The due date for the Gradiance part of the homework is 11:59pm on Tuesday, October 15, 2013.