SQLite从单个变量创建x个新二进制列

时间:2013-07-10 17:53:16

标签: sqlite

我自己试图解决这个问题,但我似乎无法找到解决方法,因为我对SQLite很新。

基本上我有一个很大的数据库,人们喜欢自己喜欢的结构(每个人都有一行,每个人有几行)。我想要做的是重组它,以便每个人都是一行,喜欢的是表中的列(二进制变量,表示人是否喜欢项目)。

但复杂的是,我想在特定的基础上做这件事,从列数会改变的数据中拉出不同的表。

如果有人有答案或指导可以引导我,我会非常感激。

由于

马特

1 个答案:

答案 0 :(得分:1)

您所描述的通常被称为“多对多”关系。表示它的推荐方法是使用三个表。

  1. 人员表
  2. 人们喜欢的“事物”表
  3. 他们喜欢的人与事之间的关联表
  4. 第三个表有两列:人员ID和事物ID。

    由于一个人可以在关联表中多次出现,每次都有一个独特的东西,并且一个东西可以在关联表中多次出现,每次都有一个独特的人,它被称为多对一关联。

    如果您搜索“SQLite many to many”,您会发现lots ideas {{3}}如何为此结构创建架构(使用参照完整性,级联删除等选项)并查询信息。