Ограничения SQL на несколько таблиц - PullRequest
0 голосов
/ 05 апреля 2019

У меня возникли трудности при разработке этой таблицы и ограничений для нее.

У меня есть список пользователей, каждый пользователь может иметь список предпочтительных блюд. В попытке определить, какая еда готовится дальше, я присвоил значениям списков.

Yummy <- value 5.
OK <- value 3.
Disgusting <- value 1.

Я хочу, чтобы каждый пользователь мог отмечать каждый прием пищи в одной из категорий.

В настоящее время у меня невероятно простая БД, которая:

User(id, name)
Meal(id, name)
Yummy(id, userid, mealid) where userid id and mealid are foreign keys.
OK(id, userid, mealid) where userid id and mealid are foreign keys.

Что я хотел бы сделать, так это сделать так, чтобы, если я вставлю лазанью в Yummy, я не смогу также вставить это значение в 'OK' или 'Disgusting'. Я думаю, что ограничение как на foodid, так и на userid, возможно, является правильным подходом, но я немного не в себе.

Любая помощь или предложения будут с благодарностью.

1 Ответ

1 голос
/ 05 апреля 2019

Вам, вероятно, будет лучше обслуживать проект базы данных, подобный этому:

user (id, name)
meal (id, name)
rating (id, name, value)
user_meal_rating (user_id, meal_id, rating_id) *primary key on (user_id, meal_id)*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...