SQL phase1
College of San Mateo – CIS 363
Enterprise Database Management with MySQL Personal Collection Database Application (PC-‐DBA)
The course project will be spread over five phases over the rest of the semester.
The entire project is worth 50% of the course grade.
Phase 1: Proposal and Entity-‐Relationship Model Due Date: Sunday March 17, 2019.
Weight: 10% of course grade.
Please submit the following two parts:
§ A project proposal about half to one typed page (please see details below)
§ An E/R Diagram according to the following requirements
As the course progresses you will be building a substantial database application for a real-‐ world scenario. You will design schemas for the database, and you will create an actual database using the MySQLTM Relational Database Management System. You will populate the database with sample data, write interactive queries and modifications on the database, and develop a Java-‐based or PHP-‐based application program (user-‐friendly interface) for manipulating the database.
Your first step is to focus on and to identify the domain you would like to manage with your database, and to construct an entity-‐relationship diagram for the data. Pick an application that you will enjoy working with, since you'll be stuck with it for the rest of the semester. In general, your database application should keep track of your favorite items of a personal collection.
To give you some sketchy ideas -‐ that are intentionally left vague:
§ Focus on a category of items that you are interested in.
§ For idea examples; consider one of the following general categories of items: toys, stamps, Jazz CD’s, opera DVD’s, sports wear, Napa-‐Sonoma wines, wines of the world, PC’s and multimedia accessories, diamonds, cooking recipes, computer games, folklore fashion items, furniture, appliance, art, sculpture, paintings, coins, comic magazines, shoe wear, optical instruments, bicycles, …
§ You may want to maintain information such as manufacturer, price, fabrication date, expiration date, collection category data (rare stamps, current stamps, Christmas stamps, etc.), how rare are collection items, how complete is the collection (difficult) etc.
§ Note that in Object-‐Oriented E/R Modeling, there are two important types of Relationships: Inheritance (is-‐a) and Aggregation (has-‐a, or part-‐of). For example, A RaceCar is-‐a Vehicle, while a RaceCar has-‐a Fuel-‐Injection-‐System. Try to use the Part-‐ Of (has-‐a) relationships to model aggregation of items in your personal collection.
§ Alternatively, you might find it appropriate to Model your collection items using subclasses (Inheritance, is-‐a). For example, a collection of Gourmet Recipes may be grouped by Cuisine of origin, such as Italian Cuisine, French Cuisine, Turkish Cuisine, Indian Cuisine, and Chinese Cuisine, etc.
§ Remember that Modeling and Design are parts of the project, as in the real World, the Requirements and Design Specifications are not given to the Software Engineer on a silver tray ;-‐)
Try to focus on a part of this application that is relatively substantial, but not too enormous. For example, when expressed in the entity-‐relationship model, you might want your design to have in the range of five to seven Entity Sets, and a similar number of Relationships. Note that this is a ballpark figure only. You should try to include different kinds of relationships (e.g., many-‐one, many-‐many, is-‐a and has-‐a) and different kinds of data (strings, integers, etc.). This way you will get valuable practice that will help you to understand the various modeling and design concepts.
What should you submit? 1) Type a short (approximately half a page to one page) description of the database
application you propose to work with and focus on throughout the course. Your description should be brief and relatively informal. If there are any unique or particularly difficult aspects/assumptions of your proposed application, please point them out. Your description will be graded only on suitability, clarity and conciseness.
2) Specify an entity-‐relationship diagram for your proposed database. Don't forget to mark Primary Key and Foreign Key attributes and include meaningful cardinalities indicating the multiplicity of relationships.