I am working on a project which will have a recommendation system and I am in the database design phase, I have a good foundation in programming but databases is a new topic for me, I have designed a database but I don't really know if it's good or not.
but mainly the database should serve the following:
- store users data (including their preferences and the photos they have liked)
- store photos data (alongside with it's tags which will be used in the recommendation system)
the recommendation system will recommend content based photos so my plan is:
- fetch the liked photos of the user
- fetch the tags of each photo
- find the top 10 similar photos using cosine similarity for each photo he have liked
- store them in a new table (haven't been created in the diagram yet)
I want to know if the database that I have designed is good or I should work on it, also is there is a better approach for the recommendation system?