Optional, but strongly recommended: obtain and install Dia from http://dia-installer.de/. This program is cross platform and has installers for Windows, Mac, and linux. (If you are running linux, you may also be able to obtain Dia from your distro's repository.)
Dia is a drawing tool with a set of shapes specifically for ER diagrams in the format that we are using for this class. While you can draw your ERD on paper and scan it to PDF, a solution drawn in Dia will obviously look better and be easier to read (and grade!) When you launch Dia, on the left hand side there is a drop-down menu that lets you choose the kinds of shapes you want. Select "ER" to get the shapes specific for ERDs. You may also need to fiddle with the Page Setup dialog to get everything to print (or export) to a single page. Ask for help on Piazza if you can't figure out how to do something with Dia.
Another option is draw.io. It is an online drawing tool that also has the shapes needed for this project (I've not used it myself, so your mileage may vary).
You will be designing a database similar to IMDB (only much simpler). For this project, you need to create an entity-relationship diagram (ERD) for this database, using the ERD format discussed in class (and described in chapter 3 of your book). You will be provided (below) with a list of data items that will be in the database; your job is to figure out the appropriate entities, attributes, and relationships needed to model the data.
There are many valid models for this data, so I don't expect you to all have the same, "right" answer. However, you must justify your choices in a short write-up describing your model. This write-up should be about 1-2 pages in length, and should explain or describe the entities and relationships in your model. Your audience for this write-up is your (imagined) client in creating this database; you can assume they are domain experts (i.e., they know a lot about movies), but they know very little about database design. For example, you don't need to say things like "movies have movie stars who act in them", but you may need to explain how the fact that one movie can have many movies stars is reflected in the "Acts In" relationship.
The data you need to include is described below:
Data item | Example |
---|---|
Movie titles | Star Wars |
Movie release year | 1977 |
Movie director(s) | George Lucas |
Movie writers(s) | George Lucas |
Movie sequel(s) | The Empire Strikes Back is a sequel of Star Wars |
Movie star names | Mark Hamill, Carrie Fisher, Harrison Ford, etc. |
Movie star dates of birth/death | Mark Hamill was born September 25, 1951 |
Movie star age | ...which would make him how old today? |
Movie star city of residence | Beverly Hills, CA |
Movie(s) acted in by star | Mark Hamill acted in Star Wars |
Movie production company(ies) | Lucasfilm produced Star Wars |
Corporate address of production company | Skywalker Ranch, Marin County, CA |
Movie reviewer(s), publication(s), or website(s) | Rotten Tomatoes |
Movie reviewer/publication/website rating | 94% |
In addition to the above, think of one additional entity to add to your model and include it (as well its attributes and its relationships with the rest of the model). If you are stuck, try browsing the information available at IMDB and see if you can include something from it in your model (but pretty much anything you can think of will do - be creative!).
Correct usage of the ERD visual language | 20 points |
Inclusion of all data items in model | 20 points |
Additional entity of your devising | 5 points |
Clarity of drawing (how easy it is to read) | 5 points |
Write-up quality and completeness | 20 points |
Clarity of explanation in write-up (including spelling, grammar, etc.) | 5 points |
Total: | 75 points |
Submit a zip file on Canvas containing: