cs4604:introduconto# …courses.cs.vt.edu/~cs4604/spring15/lectures/lecture-5.pdfe/r:#not#in#book!#!...

61
CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #5: En-ty/Rela-onal ModelsPart 1

Upload: others

Post on 29-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

CS  4604:  Introduc0on  to  Database  Management  Systems  

B.  Aditya  Prakash  Lecture  #5:  En-ty/Rela-onal  

Models-­‐-­‐-­‐Part  1  

Page 2: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Announcements-­‐-­‐-­‐Project  

§  Goal:  design  a  database  system  applica-on  with  a  web  front-­‐end  

§  Project  Assignment  1  released  this  week  –  Total  of  3  during  the  semester  

§  Heads-­‐up:  Start  thinking  about  groups    –  same  group  for  rest  of  the  semester    –  You  are  free  to  choose  your  own  project  members  –  If  you  like  me  to  assign  you  to  a  group,  send  me  email  – Min  size=2  members,  Max  size=3  members.  Anything  else  needs  an  excellent  reason  (and  my  permission)  

Prakash  2015   VT  CS  4604   2  

Page 3: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

E/R:  NOT  IN  BOOK!  

§  IMPORTANT:  – Follow  only  lecture  slides  for  this  topic!  – Differences  from  the  book:  

•  More  details  •  Slightly  different  nota-on  

Prakash  2015   VT  CS  4604   3  

Page 4: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Database  Design  

§  Requirements  Analysis          user’s  needs  §  Conceptual  Design            high  level  (E/R)  §  Logical  Design                tables  (schema)  §  Schema  Refinement          normaliza@on    §  Physical  Design              indices  etc.  §  Security  Design                      access  controls    

Prakash  2015   VT  CS  4604   4  

Page 5: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Database  Design  

§  Requirements  Analysis          user’s  needs  §  Conceptual  Design            high  level  (E/R)  §  Logical  Design                tables  (schema)  §  Schema  Refinement          normaliza@on    §  Physical  Design              indices  etc.  §  Security  Design                      access  controls    

Prakash  2015   VT  CS  4604   5  

Page 6: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Basic  Database  Terminology  

§  Data  model  :  describes  high-­‐level  conceptual  structuring  of  data  –  Example:  Data  is  set  of  student  records,  each  with  ID,  name,  address,  and  courses  

–  Example:  Data  is  a  graph  where  nodes  represent  people  and  edges  represent  friendship  rela-ons  

§  Schema  describes  how  data  is  to  be  structured  and  stored  in  a  database  –  Defined  during  crea-on  of  the  database  –  Schemas  rarely  change  

§  Data  is  actual  “instance”  of  database  –  Updated  con-nuously  –  Changes  rapidly  

Prakash  2015   VT  CS  4604   6  

Page 7: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Why  Learn  About  Database  Modeling?  

§  The  way  in  which  data  is  stored  is  very  important  for  subsequent  access  and  manipula-on  by  SQL.  

§  Proper-es  of  a  good  data  model:  –  It  is  easy  to  write  correct  and  easy  to  understand  queries.  –  Minor  changes  in  the  problem  domain  do  not  change  the  schema.  

–  Major  changes  in  the  problem  domain  can  be  handled  without  too  much  difficulty.  

–  Can  support  efficient  database  access.    

Prakash  2015   VT  CS  4604   7  

Page 8: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

8  

Purpose  of  E/R  Model  

§  The  E/R  model  allows  us  to  sketch  the  design  of  a  database  informally.  –  Represent  different  types  of  data  and  how  they  relate  to  each  other  

§  Designs  are  drawings  called  en@ty-­‐rela@onship  diagrams.  §  Fairly  mechanical  ways  to  convert  E/R  diagrams  to  real  

implementa-ons  like  rela-onal  databases  exist.  

Prakash  2015   VT  CS  4604  

Page 9: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Purpose  of  E/R  Model  

§ When  designing  E/R  diagrams,    –  forget  about  rela-ons/tables!  – only  consider  how  to  model  the  informa-on  you  need  to  represent  in  your  database.  

Prakash  2015   VT  CS  4604   9  

Page 10: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Example  

§  Professors  advising  students,  Students  taking  courses,  Students  taught  by  professors      

Prakash  2015   VT  CS  4604   10  

Page 11: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Tools  

§  En--es  (‘en-ty  sets’)  

§  Rela-onships  (‘rel.  sets’)            and  mapping  constraints      §  Ahributes    

Prakash  2015   VT  CS  4604   11  

N   M

P  

Page 12: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Example  

§  Professors  advising  students,  Students  taking  courses,  Students  taught  by  professors      

Nouns  à  en-ty  sets  Verbs  à  rela-onship  sets  

Prakash  2015   VT  CS  4604   12  

Page 13: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

13  

En0ty  Sets  §  En@ty  =  “thing”  or  objects  §  En@ty  set  =  collec-on  of  similar  en--es.  

– Similar  to  a  class  in  object-­‐oriented  languages.  §  Ahribute  =  property  of  an  en-ty  set.  

– Generally,  all  en--es  in  a  set  have  the  same  proper-es.  

– Our  conven-on  is  to  use  ‘atomic  ahributes’  e.g.  integers,  character  strings  etc.  

–  FYI:  there  exist  •  mul0valued  or  set-­‐valued  ahributes  (eg.,  ‘dependents’  for  EMPLOYEE)  

•  derived  ahributes  (eg.,  15%  -p)    

Prakash  2015   VT  CS  4604  

Page 14: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

14  

E/R  Diagrams  

§  In  an  en-ty-­‐rela-onship  diagram,  each  en-ty  set  is  represented  by  a  rectangle.  

§  Each  ahribute  of  an  en-ty  set  is  represented  by  an  oval,  with  a  line  to  the  rectangle  represen-ng  its  en-ty  set.  

Prakash  2015   VT  CS  4604  

Page 15: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Example:  En0ty  Sets  

Prakash  2015   VT  CS  4604   15  

Page 16: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

16  

Rela0onships  

§  A  rela-onship  connects  two  or  more  en-ty  sets.  

§  It  is  represented  by  a  diamond,  with  lines  to  each  of  the  en-ty  sets  involved.  

§  Don’t  confuse  ‘Rela-onships’  with  ‘Rela-ons’!  

Prakash  2015   VT  CS  4604  

Page 17: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Example:  Rela0onships  

Prakash  2015   VT  CS  4604   17  

Students  Take  Courses  Professors  Teach  Courses  

Professors  Advise  Students  

Page 18: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Instance  of  an  E/R  Diagram  

§  An  E/R  is  NOT  an  implementa-on  of  the  DB  –  Just  a  nota-on  for  specifying  structure  

§  S-ll  useful  to  think  of  instance  of  an  E/R  Diagram  ===  the  par-cular  data  stored  in  a  database  

Prakash  2015   VT  CS  4604   18  

Page 19: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Instance  of  an  En0ty  Set  

§  For  each  en-ty  set,  the  instance  stores  a  specific  set  of  en--es  

§  Each  en-ty  is  a  tuple  containing  specific  values  for  each  ahribute  

§  Example:  Instance  of  En-ty  set  Students    

Prakash  2015   VT  CS  4604   19  

Page 20: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Instance  of  a  Rela0onship  

§  Example:  Instance  of  rela-onship  Takes  (no  DeptName)  

§  Rela-onship  R  between  (en-ty  sets)  E  and  F  – Relates  some  en@@es  in  E  to  some  en@@es  in  F  

Prakash  2015   VT  CS  4604   20  

Page 21: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Instance  of  a  Rela0onship  §  Instance  is  a  set  of  pairs  of  tuples  (e;  f  )  where  e  is  in  E  and  f  is  in  F  –  Instance  need  not  relate  every  tuple  in  E  with  every  tuple  in  F  

–  Rela-onship  set  for  R:  the  pairs  of  tuples  (e;  f  )  related  by  R  

§  (Conceptually)  An  instance  of  R  is  simply  the  ‘concatenta-on’  of  the  ahribute  lists  for  all  pairs  of  tuples  (e;  f  )  in  the  rela-onship  set  for  R  

§  ‘Tuples’  in  R  have  two  components,  one  from  E  and  one  from  F  

Prakash  2015   VT  CS  4604   21  

Page 22: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

AXributes  for  a  Rela0onship  

§  Ques-on:  What  is  Grade  an  ahribute  of?    §  Such  an  ahribute  is  a  property  of  the  en-ty-­‐pairs  in  the  rela-onship  

Prakash  2015   VT  CS  4604   22  

Page 23: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

23  

Many-­‐Many  Rela0onships  

§  In  a  many-­‐many    rela-onship,  an  en-ty  of  either  set  can  be  connected  to  many  en--es  of  the  other  set.  

Prakash  2015   VT  CS  4604  

Page 24: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

24  

Many-­‐One  Rela0onships  

§  Some  binary  rela-onships  are  many  -­‐one  from  one  en-ty  set  to  another  .  

§  Each  en-ty  of  the  first  set  is  connected  to  at  most  one  en-ty  of  the  second  set.  

§  But  an  en-ty  of  the  second  set  can  be  connected  to  zero,  one,  or  many  en--es  of  the  first  set.  

Prakash  2015   VT  CS  4604  

Page 25: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

25  

One-­‐One  Rela0onships  

§  In  a  one-­‐one    rela-onship,  each  en-ty  of  either  en-ty  set  is  related  to  at  most  one  en-ty  of  the  other  set.  

§  The  schema  defines  the  mul-plicity  of  rela-onships.  Don't  use  the  instances  of  the  schema  to  determine  mul-plicity.  

Prakash  2015   VT  CS  4604  

Page 26: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

26  

Represen0ng  “Mul0plicity”  

§  Show  a  many-­‐one  rela-onship  by  an  arrow  entering  the  “one”  side.  

§  Show  a  one-­‐one  rela-onship  by  arrows  entering  both  en-ty  sets.  

Prakash  2015   VT  CS  4604  

Page 27: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

27  

Different  kinds  of  rela0onships  

many-many many-one one-one

Profs. Advise Students

Take Courses Students Office Rooms Profs.

Prakash  2015   VT  CS  4604  

Page 28: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Exactly  one  

§  In  some  situa-ons,  we  can  also  assert  “exactly  one,”  i.e.,  each  en-ty  of  one  set  must  be  related  to  exactly  one  en-ty  of  the  other  set.    To  do  so,  we  use  a  rounded  arrow.  

 

Prakash  2015   VT  CS  4604   28  

Page 29: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

29  

Example:  Exactly  One  

§  Consider  Best-­‐course  between  Profs  and  Courses.  

§  Some  courses  are  not  the  best-­‐course  of  any  professor,  so  a  rounded  arrow  to  Profs    would  be  inappropriate.  

§  But  a  professor  has  to  have  a  best-­‐course  

Profs.   Courses  Best-­‐  course  

Prakash  2015   VT  CS  4604  

Page 30: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Roles  in  Rela0onships  

§  Can  the  same  en-ty  set  appear  more  than  once  in  the  same  rela-onship?  

§  Prerequisite  rela-onship  between  two  Courses  

§  But  which  course  is  the  pre-­‐req?    Prakash  2015   VT  CS  4604   30  

Page 31: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Roles  in  Rela0onships  

§  Label  the  connec-ng  lines  with  the  role  of  the  en-ty  

Prakash  2015   VT  CS  4604   31  

Page 32: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Parallel  Rela0onships  

§  Can  there  be  more  than  one  rela-onship  between  the  same  pair  of  en--es?  

§  TA  and  Take  rela-onship  between  Students  and  Classes  

Prakash  2015   VT  CS  4604   32  

Page 33: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Are  AXributes  on  Rela0onships  Needed  

 §  Ahribute  on  rela-onship  à  Ahribute  to  an  en-ty  and  make  rela-onship  mul--­‐way  

Prakash  2015   VT  CS  4604   33  

Page 34: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   34  

En0ty  vs.  aXribute  

§  En-ty  EMPLOYEE  (w/  emp#,  name,  job_code,  ...)  

§  Q:  How  about  ‘spouse’  -­‐  en-ty  or  ahribute?  

§  Q:  How  about  ‘dependents’?  

Page 35: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   35  

En0ty  vs.  aXribute  

§  En-ty  EMPLOYEE  (w/  emp#,  name,  job_code,  ...)  

§  Q:  How  about  ‘spouse’  -­‐  en-ty  or  ahribute?  §  A:  probably,  ‘ahribute’  is  enough  §  Q:  How  about  ‘dependents’?  §  A:  En-ty  -­‐  we  may  have  many  dependents  

Page 36: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Mul0-­‐way  Rela0onships  

§  Rela-onships  may  connect  more  than  2  en-ty  sets  §  >=  1  professor  can  teach  a  course  but  each  student  evaluates  each  professor  separately  

§  Three-­‐way  Evalua-on  rela-onship  between  Students,  Professors,  and  Classes  

Prakash  2015   VT  CS  4604   36  

Page 37: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Mul0-­‐way  Rela0onships  

§  >=  1  professor  can  teach  a  course  but  each  student  taught  by  at  most  one  professor,  and  each  student  only  evaluates  that  professor  

§  Add  arrow  directed  towards  Professors  

Prakash  2015   VT  CS  4604   37  

Page 38: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Mul0plicity  in  Mul0way  Rela0onships  

§  An  arrow  poin-ng  to  an  en-ty  set  E  =>  if  we  select  an  en-ty  from  each  of  the  other  en-ty  sets,  the  selected  en--es  are  related  to  at  most  one  en-ty  in  E  

§  E/R  diagram  forbids  connec-ons  between  “Hermione  Grainger”,  “Po-ons"  and  two  different  professors.  

Prakash  2015   VT  CS  4604   38  

Page 39: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   39  

Binary  vs  Ternary  Rel.  

§  Can  a  ternary  rel.  be  replaced  by  binary  rels?  

Page 40: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   40  

AXempt  1  

Suppliers

qty

Departments Contract Parts

Suppliers

Departments

deals-with

Parts

can-supply

VS.

Is  this  OK?  

Page 41: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   41  

AXempt  1:  contd.  

–  S  “can-­‐supply”  P,    D  “needs”  P,    and  D    “deals-­‐with”  S  does  not  imply  that  D  has  agreed  to  buy  P  from  S.  

–  How  do  we  record  qty?  

Suppliers

qty

Departments Contract Parts

Suppliers

Departments

deals-with

Parts

can-supply

VS.

Page 42: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   42  

AXempt  2  

Suppliers

qty

Departments Contract Parts

Suppliers

qty

Departments Contract Parts

Page 43: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Prakash  2015   VT  CS  4604   43  

AXempt  2:  contd  

Suppliers

qty

Departments Contract Parts

c-id  

Page 44: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Conver0ng  Mul0way  to  Binary  

§  It  is  easy  to  convert  a  mul-way  rela-onship  to  mul-ple  binary  rela-onships  – Create  a  new  connec-ng  en-ty  set.  Think  of  its  en--es  as  the  tuples  in  the  rela-onship  set  for  the  mul-way  rela-onship  

–  Introduce  rela-onships  from  the  connec-ng  en-ty  set  to  each  of  the  en--es  in  the  original  rela-onship  

–  If  an  en-ty  set  plays  >  1  role,  create  a  rela-onship  for  each  role  

Prakash  2015   VT  CS  4604   44  

Page 45: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Conver0ng  Mul0way  to  Binary  

 

Prakash  2015   VT  CS  4604   45  

V  

V   V    

Equivalent:  

Page 46: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Conver0ng  Mul0way  to  Binary  

 

Prakash  2015   VT  CS  4604   46  

V  

V   V    

Not  exactly  equivalent,  but  can  be  made  so  by  addi0onal  FDs.    

Page 47: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Example  of  the  Conversion  

§  Instance  of  Evalua-on  (ternary)  rela-onship  before  conversion:    

 

Prakash  2015   VT  CS  4604   47  

Page 48: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Example  of  the  Conversion  

§  Instance  of  Evalua-on  (ternary)  rela-onship  before  conversion:  

§  A_er  Evalua-on  en-ty  set            Student_of  en-ty  set      

Prakash  2015   VT  CS  4604   48  

Page 49: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Details  of  the  Conversion  §  Create  an  en-ty  in  the  new  Evalua-on  en-ty  set  

for  each  instance  (row)  in  the  ternary  Evalua-on  rela-onship.    

§  In  the  Student_of  rela-onship,  relate  each  en-ty  in  the  Evalua-on  en-ty  set  with  the  corresponding  student  en-ty.    

§  How  many  students  can  the  Student_of  rela-onship  relate  an  Evalua-on  en-ty  to?  –  Only  one!  

§  Therefore,  the  mul-plicity  of  Student_of  is  many-­‐to-­‐one  from  Evalua-on  to  Student.  

Prakash  2015   VT  CS  4604   49  

Page 50: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Conversion  

Prakash  2015   VT  CS  4604   50  

Page 51: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses:  Example  §  University  Employees,  Handout  2  (will  be  released  next  week)  

 

Prakash  2015   VT  CS  4604   51  

All   employees   have   a   unique   ID.   In   addi-on   to  professors,   universi-es   also   employ   staff.   The  university  pays  all   its  employees  a   salary.  Professors  come  in  three  flavors:  9-­‐month  appointees,  calendar  year   appointees,   and   research   professors.   Each   9-­‐month  appointee  and  research  professor  has  a  grant  that   pays   part   of   the   employee’s   salary.   Calendar  year   and   9-­‐month   professors   teach   classes   while  research  professors  do  not.      

Page 52: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses:  Example  §  University  Employees,  Handout  2  (will  be  released  next  week)  

 

Prakash  2015   VT  CS  4604   52  

All  employees  have  a  unique  ID.  In  addi-on  to  professors,  universi-es  also  employ  staff.   The   university   pays   all   its   employees   a   salary.   Professors   come   in   three  flavors:   9-­‐month   appointees,   calendar   year   appointees,   and   research   professors.  Each  9-­‐month  appointee  and  research  professor  has  a  grant  that  pays  part  of  the  employee’s   salary.   Calendar   year   and   9-­‐month   professors   teach   classes   while  research  professors  do  not.      

Someone  from  staff  IS  A  employee  A  Professor  IS  A  employee  A  Research  Professor  IS  A  Professor  A  Teacher  IS  A  Professor  A  9-­‐month  appointee  IS  A  ??    

Page 53: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses:  Example  §  University  Employees,  Handout  2  (will  be  released  next  week)  

 

Prakash  2015   VT  CS  4604   53  

All  employees  have  a  unique  ID.  In  addi-on  to  professors,  universi-es  also  employ  staff.   The   university   pays   all   its   employees   a   salary.   Professors   come   in   three  flavors:   9-­‐month   appointees,   calendar   year   appointees,   and   research   professors.  Each  9-­‐month  appointee  and  research  professor  has  a  grant  that  pays  part  of  the  employee’s   salary.   Calendar   year   and   9-­‐month   professors   teach   classes   while  research  professors  do  not.      

Someone  from  staff  IS  A  employee  A  Professor  IS  A  employee  A  Research  Professor  IS  A  Professor  A  Teacher  IS  A  Professor  A  9-­‐month  appointee  IS  A  Teacher!    

Page 54: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses:  Example  §  University  Employees,  Handout  2  

Prakash  2015   VT  CS  4604   54  

Page 55: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses  in  the  E/R  Model  §  A  subclass  of  an  en-ty  set  E  is  an  en-ty  set  F  such  that    

–  each  en-ty  in  F  is  an  en-ty  in  E  –  the  en-ty  set  F  must  have  at  least  one  ahribute  or  par-cipate  in  at  least  one  rela-onship  that  E  does  not  

§  Connect  E  to  F  using  an  isa  rela-onship  denoted  by  a  triangle  

§  Conven-on  is  to  draw  E  above  F    

§  Each  isa  rela-onship  is  one-­‐one  but  we  do  not  draw  the  arrows.  

§  The  set  of  isa  rela-onships  must  form  a  tree.  

Prakash  2015   VT  CS  4604   55  

Page 56: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses:  Example  §  University  Students,  Handout  2  

Prakash  2015   VT  CS  4604   56  

Students   enrolled   in   a   university   can   be   either  undergraduates  or  graduates.  Graduate  students  can  be   enrolled   either   in   a  Masters   or   a   Ph.D.   program.  Each   graduate   student   must   submit   a   thesis.   The  thesis   can   be   uniquely   iden-fied   by   its   -tle.   Each  student   can   be   a   TA   for   at   most   one   course.  Furthermore,   a   course   can   have   at   most   one  graduate   student   as   a   TA   (it   may   have   mul-ple  undergraduate  TAs).      

Page 57: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Subclasses:  Example  §  University  Students,  Handout  2  

Prakash  2015   VT  CS  4604   57  

Page 58: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

E/R  vs.  OO  Subclasses  §  In  object-­‐oriented  programming  languages,  each  object  is  in  only  one  class.    –  A  subclass  inherits  variables  and  methods  from  the  superclasses.  

§  In  an  E/R  diagram,  an  en-ty  has  components  in  all  the  subclasses  to  which  it  belongs  –  If  an  en-ty  e  has  a  component  in  an  subclass,  then  e  has  a  component  in  the  superclass  

–  Does  e  have  a  component  in  the  root?  –  The  ahributes  of  e  are  the  union  of  the  ahributes  of  its  components  

–  e  par-cipates  in  all  the  rela-onships  its  components  par-cipate  in  

Prakash  2015   VT  CS  4604   58  

Page 59: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Components  of  an  En0ty  §  Prof.  Fingers  InMany  Pies  has  a  9-­‐month  appointment,  teaches  in  one  

semester  every  year,  and  does  not  teach  in  the  other  semester.  §  In  the  other  semesters,  his  research  grant  pays  his  salary.  §  Which  en-ty  sets  does  he  have  components  in?  (using  a  different  isa  

hierarchy  than  before  )  

Prakash  2015   VT  CS  4604   59  

Page 60: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Components  of  an  En0ty  

§  How  do  we  represent  students  enrolled  in  combined  Bachelors-­‐Masters  programs?  

§  Such  a  student  has  components  in  mul-ple  en-ty  sets  

 

Prakash  2015   VT  CS  4604   60  

Page 61: CS4604:Introduconto# …courses.cs.vt.edu/~cs4604/Spring15/lectures/lecture-5.pdfE/R:#NOT#IN#BOOK!#! IMPORTANT:’ – Follow’only’lecture’slides’for’this’topic!’ –

Components  of  an  En0ty  §  Such  a  student  has  components  in  mul-ple  en-ty  sets  

     

Prakash  2015   VT  CS  4604   61