# Normalized ER Diagram - Delivery System

I need to create a normalized ER diagram, but I'm having so many problems to understand normalization.

The company Food and Cia delivers meals in the delivery system and wants an information system to better organize your business. Clients make orders by discriminating one or more menu items and their respective quantities (for example, John makes a request to receive 2 lasagnes, 1 filet with fries and 3 cans of beer at home). From a customer you want to know: name, address, telephone number and reference point. Menu items can be of three types: meals, desserts and drinks. Customers inform on request whether it is for delivery or not.

I have no idea how to solve it, someone may help me, please?

• How does your textbook tell you how to deal with this? Right now you are just asking for us to rewrite your textbook/manual with a bespoke tutorial & do your (home)work & you have shown no research or other effort. Dumps of requirements are not on-topic questions. See How to Ask, hits googling 'stackexchange homework' & the voting arrow mouseover texts. – philipxy Apr 16 at 0:37

You can create a fully normalised logical model by using the object-role modeling(ORM) method described in Terry Halpin's 2008 book "Information Modeling and Relational Databases. 2nd Edition"

In principle, the procedure goes like this:

1: Extract a list of the facts from your description. For example: Company delivers Meals/ Company offers Menu /Customer has Name/ Customer has Address.

2: Define any constraints such as Menu has Three types.

3: Use Terry's "Total Table" procedure to convert the facts & constraints into a logical model.

If you don't want to do this on paper, you can use the NORMA tool that Terry has been using to teach his method for the last 15 years. NORMA is a Visual Studio extension. You can download NORMA from here. The tutorials are here.

ORM is a formal method that is based on first order logic and set theory. This means that once you have designed your object-role model, you can use a mathematical transform to automatically generate a fully normalised logical model. (Coded as an algorithm in NORMA)

In contrast, the typical approaches to ER are informal and require people to "interpret" the textual requirements using a convoluted and extremely hard to use method called "Functional Dependency Analysis".