IST 210: Organization of Data Fall 2008 Proj #1 (DUE: Sep. 30, 9:45AM) Last Updated: Mon Sep 8 15:35:02 EDT 2008 ______________________________________________________________________ NOTE: Team Assignment (also available in ANGEL) Your IST 210 team project will be to build a substantial database application for a real-world domain. You will design a schema on paper, and then you will create an actual database using Microsoft SQL Server provided by IST Infrastructure. You will populate the database on your own, write interactive queries and modifications on the database, create programs that manipulate the database. In a series of 3 projects, you are asked to design a database-backed application for the "GoodBuy" store, a local retailer of consumer electronics, that hopes to outweigh the BestBuy someday. As of 2008, there are 10 store branches of GoogBuy at Pennsylvania. Your database design should be able to handle the following scenarios: 1. A customer "John Doe" searches for "Samsung" HDTVs with arbitrary conditions (eg, model, price, company, feature). The same search should be supported for other consumer electronics that GoodBuy carries. 2. "John Doe" also likes to find out the store hour and address of a store that carries certain computer games. 3. 10 copies of "Leona Lewis"'s CD "Bleeding Love" arrive from the distribution warehouse Y to the store located at 220 S. Atherton on 1/1/2008, yielding 20 copies in stock. 4. All copies of "Norah Jones"'s CDs go on sale with 50% discount, effective from 1/1/2008 for a week. 5. "John Doe" purchases 2 copies of Wii Game Y for $54.50 each (with 20% discount) and 3 copies of game Z for $23.00 each (with 30% discount). The employee "Mary Jane" helped "John Doe" to process the purchase. The 10 digit transaction number for the purchase is assigned. 6. GoodBuy selects the best employee (and her immediate manager) per store who has helped the most number of customers during October 2008. 7. A top-level manager "Hank Foley" likes to know the number of items and the total amount that the customer "John Doe" has purchased during 2008 (GoodBuy has a hierarchy of managers where each employee must report to one immediate manager, except CEO "Graham Spanier"). 8. "Hank Foley" also likes to have the quarterly report showing the average sales of each electronics category (e.g., TV-Video, Audio, Camera, Computer, Music, Movies, Games) per year for the last 5 years. 9. "Mary Jane" wants to list all pending orders that have NOT been delivered for more than 2 weeks since the purchase. 10. "John Doe" purchases a Blue Ray Player X for $1000.50 with the help of an employee "Mary Jane", and comes back next day for a return and picks up another player Z with the help of an employee "Jane Smith". Original purchase and subsequent return are treated as a separate transaction and thus different transaction numbers are assigned. Return after 30 days of original purchase is refused. Note that in the above descriptions, any quoted names such as "John Doe" and "Samsung" or variables such as X, Y, Z can be replaced by any other arbitrary names. ______________________________________________________________________ Part 1: E/R Design With the above scenarios and reasonable assumptions, in proj #1, you need to design an E/R diagram. Draw an E/R diagram using MS Word or Visio or any drawling tool (do NOT hand-write). List all your assumptions for things that are NOT explicitly specified or ambiguous (e.g., all items can be associated with some discounts or some employees are not manager and thus have no subordinates to manage, etc.) Otherwise, we will grade your design based on the common sense, and you may lose points if ours and yours are different. Don't forget to specify key attributes by * symbol for each entities. Also, specify cardinalities and modalities for all relationships. If possible, try to use and demonstrate different kinds of relationships (e.g., unary, binary, ternary), cardinalities/modalities (1-1, 1-n, n-n), different kinds of data types as your attributes (e.g., strings, integers, or even picture, etc.), and special types (e.g., weak entity, intersection data), etc. Try to demonstrate your understanding. Consult the PBL 3.1 AFV in class, where various queries that the given design is trying to to answer. In your scenario, you should go through the similar thinking process, and make sure that your design is *expressive* enough to handle all of the above 10 scenarios. You goal is to design a good E/R that supports all 10 scenarios. If your design cannot support some scenarios since you don't have proper entities/relationships or your cardinality/modality is not sufficient enough, then you will lose points. Some E/R design, even though all 10 scenarios can be supported, may have a lot of unnecessary or redundant components in it or the support of a scenario is not very efficient (e.g., if one has to use 7-8 entities to support a single scenario, then in practice, this will result in a lot of JOIN operations and may take a while to process it). Therefore, I'll also consider how "good" your E/R design is as well. In short, the main grading rubrics are: - Support of 10 scenarios : 50% - Goodness of an E/R design : 30% - Misc (report, assumption) : 20% ______________________________________________________________________ Part 2: Turn-In of Proj #1 Report Your report should consist of at least the following: - On the cover page, list project team name (e.g., Team-A), and all member names - List all assumptions that you made - E/R diagram - For each of 10 scenarios, explain how your design would be able to handle the scenario - Short description of WHO did WHAT role in your team (all members must participate in the project) Do NOT make your report lengthy unnecessarily -- be succinct and get to the point. The length of your report has nothing to do with the score that you are getting. If your project team has some problems (eg, some members don't come to project meetings), you need to inform me early so that I can intervene. Otherwise, all team members share the identical scores for the projects. TURN-IN: Only *ONE* person from each team drops the report to ANGEL once AND give me a hard-copy in class.