1

私が持っているもの:

接続のある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アドインのデータベースの場合、SQLiteManagerの[接続時SQL]タブで次のキーを設定しました。*PRAGMAforeign_keys = ON; *

私の問題は何ですか: 私は複雑なSQLクエリの記述があまり得意ではないため、グラフィックツールでクエリを設計する必要があります。私の決断はSQuirreLでした。SQLite用のJDBCドライバーをダウンロードしました。

SQuirreLで、すべてのテーブルをグラフに送信すると、're関係が表示されません。クエリビルダーツールでも。SQLite-Squirrelコンボの経験はありますか?sqlite用の代替クエリデザイナツールはありますか?または、最も簡単な方法は、たとえばAccessでSQLクリエータースクリプトを実行し、そこでクエリを設計することです。

4

1 に答える 1

2

クエリビルダーツールを使用しないことをお勧めします。今すぐ弾丸を噛み、最初の1つか2つのクエリを書くのに苦労すれば、長期的にははるかに簡単になります...すぐにコツをつかむことができます。

代替案は、クエリビルダーツールにあなたが望むことを正確に実行させようとすることです...これは本当の頭痛の種になる可能性があります。

于 2012-02-20T15:40:17.093 に答える