SQL phase1

profilesankouh89
DBProjectPhase1.pdf

     

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.