CSCD34H Winter 2003. Assignment #1

DueWednesday, January29, 2003, 7:00pm



PART I

Step 1 of Your PDA (Personal Database Application)

As the course progresses you will be building a substantial database application for a real-world scenario of your choosing. You will design schemas for the database, and you will create an actual database using a relational database management system. You will populate the database with sample data, write interactive queries and modifications on the database, and develop application programs that manipulate the database. 

Your first step is to identify the domain you would like to manage with your database, and to construct entity-relationship schema designs for the data. We suggest that you pick an application that you will enjoy working with, since you'll be stuck with it for the whole term! It may be a good idea to pick something you are interested in--a hobby, material from another course, a research project, etc. 

Try to pick an application that is relatively substantial, but not enormous. For example, when expressed in the entity-relationship model, you might want your design to have in the range of five or so entity sets, and a similar number of relationships. Note that this is a ballpark figure only! You should certainly include different kinds of relationships (e.g., many-one, many-many) and different kinds of data (strings, integers, etc.), but your application need not necessarily require advanced features such as weak entity sets or roles in E/R. 

(a) (20 pts.) Write a short (approximately one paragraph) description of the database application you propose to work with throughout the course. Your description should be brief and relatively informal. If there are any unique or particularly difficult aspects of your proposed application, please point them out. Your description will be graded only on suitability and conciseness. 

(b) (30 pts.) Specify an entity-relationship diagram for your proposed database. As always, don't forget to show key attributes and to include bold edges indicating participation constraints. 

Don't forget to save a copy of your PDA for future reference. 

If you are having trouble thinking of an application, or if you are unsure whether your proposed application is appropriate, please feel free to consult with the instructor or tutors. 

PART II

1.(15 points). You must design the database for a software tool which allows modeling using the E/R model (i.e. a CASE tool). For this task, you are required to use the E/R model. Your CASE tool shouldbe able to represent all the E/R features explained in class and allow different kinds of users (i.e., userswho can modify a project, users that can only view a project, and so on). A user may create, manage and/or view more than one project. Extend this exercise as much as you need.

Hint.Entity sets could be "Entities", "Relationships", etc.. 

2. (10 points) Assume systems in a company are composed by a set of application programs such that each program is executed with a certain frequency. A program can be run in more than one system, and its frequency depends on the system over which it runs. A program may access files in I, O, or I/O modes, and a file can be accessed by more than one program. Every user can run all the programs in all systems, and we want to record her activity. 

a. Use the E/R model for representing the described situation. 

b. Now, add the following modification: "each user is authorized to run only certain programs in certain systems" and repeat step (a). 

3.(25 pts.) The Internet Movie Database website (http://www.imdb.com) is a repository of information about movies, actors, etc. You are asked to design the database that underlies this web site using the E/R model. Your design should capture the essential entity and relationship sets, including movies, actors, reviews, etc. You must decide what information to leave out in order to keep the design down to a manageable size (of the order of about 10 entity sets and 20 relationship sets, say). 

- Note that this assignment is open-ended. There is no single right answer, as the site is complex and different students will choose to include/exclude different aspects of it. 

- The first step is to browse and query the web site to understand what information is provided, how it is organized, and what the constraints are. 

- The next step is to give a detailed E/R diagram describing your design. Explain any constraints that are not obvious, but otherwise keep textual explanation to a minimum. Also list the information that you decide not to include in your design.