gpt4 book ai didi

为具有多项数据的用户设计Mysql

转载 作者:行者123 更新时间:2023-11-30 23:35:36 25 4
gpt4 key购买 nike

我想存储属于某个用户的笔记、书签、视频和图像:

简化后的用户表如下:

user: id, email, password_hash

笔记包含标题和内容,而书签包含标题和 url

note: id, title, content, (user_id)
bookmark: id, title, uri
video: id, title, uri
images: id, title, uri

我可以为所有这些创建一个表,但是如果我想添加其他内容,例如任务,我将不得不为此创建另一个表。你建议我如何设计表格?

mysql 是最好的数据库吗,或者像 mongodb 这样的数据库会更好吗?

最佳答案

正如 JamWaffles 所建议的那样,您可以使用一张表来存储内容,并使用一张表来存储内容类型,即:

content: id, title, uri, content_type_id, user_id
content_type: id, name

编辑:内容表可能如下所示:

-------------------------------------------------------------
| id | title | uri | content_type_id | user_id |
-------------------------------------------------------------
| 1 | 'My note' | '/note?id=1' | 4 | 56 |
-------------------------------------------------------------

和内容类型表:

---------------
| id | name |
---------------
| 4 | 'note' |
---------------

我没有实际使用过 MongoDB,但我想你可以使用以下结构:

{
"id": "...",
"email": "...",
"password_hash": "...",
"notes": {
"id": "...",
"title": "...",
"uri": "..."
}
"bookmarks": {
...
}
}

与其他 NoSQL 数据库一样,MongoDB 有其优点和缺点。您必须评估您的具体需求,以确定哪个更适合您。就我个人而言,我不明白为什么您不能将 mysql 用于您建议的数据库结构。

希望对你有帮助,
每 Flitig
网光咨询

关于为具有多项数据的用户设计Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7628794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com