如果存在一组项目,我想查询关系数据库。查询关系数据库中的集合
我建模数据有以下形式:
key1 = [ item1, item3, item5 ]
key2 = [ item2, item7 ]
key3 = [ item2, item3, item4, item5 ]
...
我将它们存储在一个表下面的模式
CREATE TABLE sets (key INTEGER, item INTEGER);
因此,举例来说,下面的INSERT语句会插入以上三套。
INSERT INTO sets VALUES (key1, item1);
INSERT INTO sets VALUES (key1, item3);
INSERT INTO sets VALUES (key1, item5);
INSERT INTO sets VALUES (key2, item2);
INSERT INTO sets VALUES (key2, item7);
INSERT INTO sets VALUES (key3, item2);
INSERT INTO sets VALUES (key3, item3);
INSERT INTO sets VALUES (key3, item4);
INSERT INTO sets VALUES (key3, item5);
给定一组项目,我想用一组相关联的密钥,如果它被存储在表和NULL,如果事实并非如此。是否有可能用sql查询做到这一点?如果是这样,请提供详细信息。
详细信息,可能是相关的:
- 我在数据库设计/查询策略主要有兴趣,但我最终会在MySQL实现这一点,并使用mysql-Python包在Python从瓶坯查询。
- 如果不同的布局对于这种类型的查询更方便,我可以自由重构数据库模式。
- 每个集合,如果它存在应该是唯一的。
- 我对部分比赛不感兴趣。
- 数据库规模大约为< 1000套,其中每套包含< 10个项目,因此此时的性能不是优先级。
在此先感谢。
Iam -1:从现在开始,所有“预先感谢”。所以禁止我! – stefan 2011-03-29 23:08:42
问一个真正的问题。这是值得您的SQL的教授应该教给你(虽然他可能会教你全错,所以使用互联网资源,而不是) – stefan 2011-03-29 23:09:28
@stefan,何必那么认真? – epaps 2011-03-30 00:05:42