我希望能够通过关键字索引的数据库中有几个条目(将增加到数千个)。
所以说我有一张表如:
id |用户名|电子邮件|描述
我想为该用户添加多个关键字,例如:
高大金发女郎|男|骨感
我如何为此构建表格?就像新问题底部的stackoverflow中使用的关键字一样?
由于
答案 0 :(得分:1)
你需要三张桌子
用户:
id | username | email | description
标签:(将在名称字段中包含Tall,Blonde,Male,Skinny等)
id | name
users_tags:
user_id | tag_id
要使用户拥有标记,您可以使用相关项的ID向users_tags
表添加一行。
user_id和tag_id都应该是外键,引用相应的表,并且组合起来,它们应该形成唯一键(可能是主键)。
答案 1 :(得分:0)
如果我理解正确,请有3个表:
- users (user_id, username)
- keywords (keyword_id, keyword)
- user_keywords (user_id, keyword_id)
并且它们之间有关系(在示例中的相同列名称上)。
答案 2 :(得分:0)
这是一种多对多的关系。
您有一个关键字表和一个对象表(可以与关键字相关联)。
然后你有一个第三个表,它有两列形成一个复合键,每个列都是另外两个表的外键。
e.g。
object_keyword_relationship
===========================
object_id | keyword_id
1 | 1
1 | 2