相关疑难解决方法(0)

我应该在多对多"链接"表中使用索引列吗?

我有两个表,products并且categories有很多关系,所以我添加了一个products_categories包含category_id和的表product_id.

我应该添加另一个(自动递增)索引列还是使用两个现有索引列作为主键?

sql database database-design entity-relationship

5
推荐指数
2
解决办法
1066
查看次数

选择许多关系的主键

我正在尝试建模类似于StackOverflow的网站.它有一组用户和问题,用户对问题进行投票.每个用户只能对每个问题进行一次投票.

我的"VotesOnQuestions"表的结构应该是什么样的:

  1. 我应该有一个自动生成的"VoteID"列吗?
  2. 如何在架构级别禁止用户对某个问题进行多次投票?
  3. 我应该使用(UserID,QuestionID)作为主键而不是VoteID列吗?

sql database database-design primary-key

4
推荐指数
1
解决办法
213
查看次数

为用户友谊设计数据库

我想将友谊存储在数据库中.我的想法是,当user1成为user2的朋友时,我存储了这种友谊,这样我就可以获得所有用户的朋友,如果我需要的话.起初我以为我只是将他们的id存储在一个带有一个插入的表中,但是当我查询db时我想到了一些复杂性.

如果我有2个用户ID为10和20的用户,我应该在他们成为朋友时对数据库进行两次插入

ID USER1 USER2
1  10    20
2  20    10
Run Code Online (Sandbox Code Playgroud)

或者有没有办法查询数据库只有一个特定的用户朋友,如果我只做了一个这样的插入

ID USER1 USER2
1  10    20
Run Code Online (Sandbox Code Playgroud)

我知道第一种方式肯定可以给我我想要的东西,但我想知道这是不是很好的做法,如果有更好的选择.如果可以查询第二种方式来获得结果,我会像所有用户10的朋友一样寻找.

sql database

4
推荐指数
2
解决办法
287
查看次数