与Squirrel的SQLite数据库:没有关系

时间:2012-02-20 15:08:01

标签: sql database sqlite database-relations squirrel-sql

我有什么:

我有一个带连接的SQLite数据库。以下是sql create代码的一小部分(目标和log_entries表之间的多对多连接):

DROP TABLE IF EXISTS "destinations";
CREATE TABLE "destinations" (
"ID_destination" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , "name" VARCHAR NOT      NULL , "time_period" INTEGER NOT NULL , "details" TEXT
 );

DROP TABLE IF EXISTS "log_entries_destinations";
CREATE TABLE "log_entries_destinations" (
"ID_log_entries_destinations" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE ,     "ID_destination" INTEGER NOT NULL , "ID_log_entry" INTEGER NOT NULL
,FOREIGN KEY(ID_log_entry) REFERENCES log_entries(ID_log_entry)
,FOREIGN KEY(ID_destination) REFERENCES destinations(ID_destination)
);


DROP TABLE IF EXISTS "log_entries";
CREATE TABLE "log_entries" (
"ID_log_entry" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , "timestamp"    DATETIME NOT NULL
);

你可以看到,我已经定义了与外键的关系。

对于Firefox Addin中的db,SQLite Manager我在“On-connect SQL”选项卡中设置了以下键:* PRAGMA foreign_keys = ON; *

我的问题是什么: 因为我在复杂的SQL查询编写方面不太好,所以我必须在图形工具中设计查询。我的决定是SQuirreL。我已经下载了SQLite的JDBC驱动程序。

在SQuirreL中,当我将所有表格发送到图表时,我看不到它们之间的关系。在Query Builder工具上也是如此。有没有人使用过SQLite-Squirrel组合?是否存在sqlite的任何替代查询设计器工具?或者最简单的方法是在Access中运行SQL创建者脚本,并在那里设计查询?

1 个答案:

答案 0 :(得分:2)

我建议不要使用查询构建器工具;从长远来看,如果你现在咬紧牙关并且努力编写你的第一个或两个查询,那么对你来说会容易得多......你很快就能掌握它。

另一种方法是永远尝试让您的查询构建工具完全按照您的要求进行操作......这可能是一件非常令人头疼的问题。