Database Design – ER Model for Barber Shop

database-designerd

My team and I are designing a database for a barber shop. The main focus of the project is to allow customers to schedule appointments with barbers for some sort of hair service.

Our problem is that our professor is telling us to connect two relationships to each other and when we ask why he doesn't really do a good job of explaining why they need to connect. We told our professor that the book forbids the connection of two relationships to each other but he said "the book is wrong". The two relationships that our professor wants us to connect are performs to includes. My team and I think it would be better to connect performs to appointment. Does anyone understand why we would connect those two relationships to each other?

Diagram: enter image description here

Best Answer

As far as a barber being connected to the appointment I'm with you guys on this. A foreign key [BarberID] in the appointments table links a barber to an appointment. The service being performed is also an attribute of that specific appointment. So the line from Performs should go to the appointment table. If anything, a foreign key relationship can exist between the barber table and the Services reference table, to create a list of services that a particular barber can perform (ex: not all barbers may be able to do highlights)

On a non-related note, I noticed that some of your tables are plural and some not. Try looking up some conventions for object naming and come up with something consistent, that would easily be followed by your future co-workers.