24 lines
800 B
SQL
24 lines
800 B
SQL
CREATE TABLE "JMdict_JLPT_Version" (
|
|
"version" VARCHAR(10) PRIMARY KEY NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"hash" VARCHAR(64) NOT NULL
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TRIGGER "JMdict_JLPT_Version_SingleRow"
|
|
BEFORE INSERT ON "JMdict_JLPT_Version"
|
|
WHEN (SELECT COUNT(*) FROM "JMdict_JLPT_Version") >= 1
|
|
BEGIN
|
|
SELECT RAISE(FAIL, 'Only one row allowed in JMdict_JLPT_Version');
|
|
END;
|
|
|
|
CREATE TABLE "JMdict_JLPTTag" (
|
|
"entryId" INTEGER NOT NULL,
|
|
"jlptLevel" CHAR(2) NOT NULL CHECK ("jlptLevel" in ('N5', 'N4', 'N3', 'N2', 'N1')),
|
|
FOREIGN KEY ("entryId")
|
|
REFERENCES "JMdict_Entry"("entryId"),
|
|
PRIMARY KEY ("entryId", "jlptLevel")
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE INDEX "JMdict_JLPTTag_byEntryId" ON "JMdict_JLPTTag"("entryId");
|
|
CREATE INDEX "JMdict_JLPTTag_byJlptLevel" ON "JMdict_JLPTTag"("jlptLevel");
|