Update: I updated the question to be more specific and also updated the diagram.

I am currently in my last semester, I did use SQL before then I left for MongoDB but the practice project requires to use some design patterns and only SQL. After understanding the concepts for normalization and relationships again, I designed the database and its tables before I start the code for the application.

Primary Goal: Develop a Web Application for online restaurant table booking and food delivery.

DB Requirements:

  • DB must apply RDMS concepts
  • DB must have appropriate normalization or denormalization
  • ERD must have propper annotations

What I built: ERD

What I tried to use during design:

  • 1NF

  • 2NF

  • 3NF

  • Relationships

Conclusion: So far I am not sure if I have made any mistake, I wanted to ask for a review from experts if these tables are indeed in 3NF. I am also thinking to understand more about BCNF, 4NF, 5NF and 6NF and use them if possible.

Any help is appreciated.



Business Requirements: "Removed because it was unnecessary"

P.s. PartyID = CustomerID or RestaurantID

  • One of the FK labels is hidden; is the ContactID for the restaurant pointing to the Customer table? Where is AgentID? – Mark Stewart Oct 31 at 20:31
  • @MarkStewart I wanted to use a common name for both Restaurant and Customer so I choose AgentID instead of CustomerID or RestuartantID. Since it will only contain contact number I thought I could reduce repetition by storing numbers for both in a single table. – Suleman Nov 1 at 3:18
  • 1
    An ERD is the embodyment of a set of business rules. Without knowing the full set of rules we can't say if the ERD is correct. Whether this example is sufficient to pass an exam is a question for your tutor. – Michael Green Nov 1 at 10:50
  • @MichaelGreen I added the business requirements. – Suleman Nov 1 at 13:04
  • I don't understand why is this question put on hold. All I asked is a review of a design which could be an answer of "Good" or "Bad". I never asked to fulfill the business requirements even though I added them for mods satisfaction. – Suleman Nov 2 at 3:43