我在为数据库设置upp时遇到了一些麻烦。没有任何编码问题,但无法弄清楚如何构建它。
这个想法是人们将在网站上注册,并且使用SQL,他们将在表USER中。 但是,用户还可以获得一系列手工制品,以便其他用户可以查看和评价他们的手工制品,并查看其他许多信息。因此,没有为每个用户提供表格,有没有更简单的方法?
该产品应仅与一个用户“绑定”。没有用户可以拥有相同的产品。
喜欢facebook如何运作?我不认为每个用户都有一个表用于使用信息?产品可能像一张图片。所以每张专辑都没有桌子吗?正确?
答案 0 :(得分:1)
根据关系数据库模型,为每个用户提供单独的表是不可容忍的,完全错误的!
您想要实现的目标实际上是数据库结构中的一个基本内容,请尝试阅读该主题中的一些教程。
使用表格USER
和PRODUCT
并正确设置关键字段,您就可以获得正确的表单。
USER:user_id,<<用户详细信息>>
PRODUCT:product_id,user_id,rank,<<其他产品详情>>
因此,通过下面的查询,您就可以获得用户的所有产品。
SELECT *
FROM db.user u
(LEFT) JOIN db.product p
ON u.user_id = p.user_id
答案 1 :(得分:1)
通常的SQL方法是为用户创建一个表,为产品创建一个表。 products表应该有一行“user”,其中包含用户ID(或标识用户的其他内容)。您可能希望为每个用户分配一个ID(例如autoincrement int)并使用它。
然后,您可以选择给定用户的所有产品:
SELECT * FROM products WHERE user = 723;
或者您可能想要找到制作产品的用户的名称:
SELECT name FROM users WHERE rowid = (SELECT user FROM products WHERE product_name = 'Kitchen Chair');
顺便说一句,我总是在SQL中对表和行使用小写名称。