需要偏好表数据库设计方面的帮助

发布于 2024-10-22 05:41:39 字数 668 浏览 1 评论 0原文

我目前正在使用 MYSQL 数据库 InnoDB 格式开发一个 Web 应用程序,并且需要一些关于我的偏好数据库设计的帮助。

基本上我需要一个偏好表来确定用户汽车品牌的偏好。

宝马0或1 丰田 0 或 1 本田 0 或 1 梅赛德斯 0 或 1 霍顿 0 或 1 FORD 0 或 1(0 表示不喜欢,1 表示喜欢)

我曾经将所有响应存储在一张表中,但当我添加新汽车品牌时很难维护。所以我需要使其动态,这样当我添加更多汽车品牌时就不必修改数据库列。

因此,我系统中的每个用户都有自己的用户汽车偏好配置文件。

所以我的新设计有一个用户表、首选项表和 UserPreference 表

UserPreference table

providerId
preferenceId
response

我的问题是,一旦新用户注册,如何填充数据库中的用户首选项配置文件行(默认全部为 0)?

或者我应该像下面这样制作我的 UserPreference 表,这样我就不必填充用户首选项配置文件行?并且仅当用户喜欢汽车品牌时才在“用户偏好”表中创建一行。

哪种方法更好?

UserPreference table

    providerId
    preferenceId

非常感谢!

I'm currently developing a web application using MYSQL database InnoDB format and need some help with my preference database desgin.

Basically I need to have a preference table to determine the user car brand preference.

BMW 0 or 1
TOYOTA 0 or 1
HONDA 0 or 1
MERCEDES 0 or 1
HOLDEN 0 or 1
FORD 0 or 1 (0 means dislike and 1 means like)

I used to store all the responses in one table but is hard to maintain when I add new car brand . So I need to make it dynamic so I don't have to modify the database column when i add more car brands.

So Each User in my system have their own user's car preference profile.

So my new design its to have a user table, preference table and a UserPreference table

UserPreference table

providerId
preferenceId
response

My Question is How can I populate the User preference profile rows in the database (default all to 0) once a new user sign up ?

Or should I make my UserPreference table like below so I don't have to populate the user preference profile rows? And only create a row in the User Preference table when a user like a car brand.

Which is a better approach?

UserPreference table

    providerId
    preferenceId

Thanks so much in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世俗缘 2024-10-29 05:41:39

我认为第二种方法是最好的选择,只添加人们明确选择的偏好。这样,您就可以在处理数据时假设所有内容均为 0,除非表中存在首选项以其他方式显示。

I think the second approach is the best option, Only add the preferences that people have explicitly chosen. That way you can assume when working with the data that everything is 0 unless a preference exists in the table to show otherwise.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文