Creating an entity-relationship diagram for a recipes business domain

database-designerd

I am doing this simple ASP project for my uni, just wondering if you can guys direct me or give me some advice.

The project Idea is to create a recipe website which will allow users to add recipes and then admin will approve it.

Recipes will be divided in to few categories: Food Region: 'East', 'South', etc., and Categories:'Beef', 'Noodles', etc.

Can you guys check if I am on the right direction?
Is my entity-relationship diagram (ERD) below correct?

ProjectERD

Best Answer

It's difficult to say if the ER is correct not knowing what is acceptable entered data. Based on your current design, including UserID in UserRecipes is unnecessary since you can get that information through RecipeID and joining it with the Recipes table and then using fkUserID.

But I think if Recipes table is supposed to be a dish like "Lasagna" and different users can submit their own lasagna recipes and you wish to capture that in UserRecipes, you need to probably move at least "Preptime", "Cooktime", "Ingredients", "Tools" and "Photos" to UserRecipes table. Then establish a many-to-many relationship between Recipes and Users in UserRecipes. Then remove fkUserID from Recipes and keep UserID in UserRecipes.

Just a side-note, I'd suggest keeping a more consistent naming convention for naming your foreign keys. In some cases, you are using CatID as a foreign key for CategoryID and then you're using fkUserID as a foreign key for UserID.