CSCI 403 Database Management

Spring 2018

Project 5: Design

(Back to Projects)

Purpose


Before You Begin


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).

Project Description


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 itemExample
Movie titlesStar Wars
Movie release year1977
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 namesMark Hamill, Carrie Fisher, Harrison Ford, etc.
Movie star dates of birth/deathMark Hamill was born September 25, 1951
Movie star age...which would make him how old today?
Movie star city of residenceBeverly Hills, CA
Movie(s) acted in by starMark Hamill acted in Star Wars
Movie production company(ies)Lucasfilm produced Star Wars
Corporate address of production companySkywalker Ranch, Marin County, CA
Movie reviewer(s), publication(s), or website(s)Rotten Tomatoes
Movie reviewer/publication/website rating94%

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!).


Grading:


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

Submission Instructions:


Submit a zip file on Canvas containing: