WIP: kanjidic: split news ichi gai nf into separate tables
This commit is contained in:
@@ -43,11 +43,6 @@ CREATE TABLE "JMdict_KanjiElement" (
|
||||
"entryId" INTEGER NOT NULL REFERENCES "JMdict_Entry"("entryId"),
|
||||
"orderNum" INTEGER NOT NULL,
|
||||
"reading" TEXT NOT NULL,
|
||||
"news" INTEGER CHECK ("news" BETWEEN 1 AND 2),
|
||||
"ichi" INTEGER CHECK ("ichi" BETWEEN 1 AND 2),
|
||||
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
||||
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
||||
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
||||
UNIQUE("entryId", "reading"),
|
||||
UNIQUE("entryId", "orderNum")
|
||||
) WITHOUT ROWID;
|
||||
@@ -55,6 +50,31 @@ CREATE TABLE "JMdict_KanjiElement" (
|
||||
CREATE INDEX "JMdict_KanjiElement_byEntryId_byOrderNum" ON "JMdict_KanjiElement"("entryId", "orderNum");
|
||||
CREATE INDEX "JMdict_KanjiElement_byReading" ON "JMdict_KanjiElement"("reading");
|
||||
|
||||
CREATE TABLE "JMdict_KanjiElementNews" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||
"news" INTEGER NOT NULL CHECK ("news" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_KanjiElementIchi" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||
"ichi" INTEGER NOT NULL CHECK ("ichi" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_KanjiElementSpec" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||
"spec" INTEGER NOT NULL CHECK ("spec" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_KanjiElementGai" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||
"gai" INTEGER NOT NULL CHECK ("gai" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_KanjiElementNF" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||
"nf" INTEGER NOT NULL CHECK ("nf" BETWEEN 1 AND 48)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_KanjiElementInfo" (
|
||||
"elementId" INTEGER NOT NULL REFERENCES "JMdict_KanjiElement"("elementId"),
|
||||
"info" TEXT NOT NULL REFERENCES "JMdict_InfoKanji"("id"),
|
||||
@@ -81,6 +101,36 @@ CREATE TABLE "JMdict_ReadingElement" (
|
||||
CREATE INDEX "JMdict_ReadingElement_byEntryId_byOrderNum" ON "JMdict_ReadingElement"("entryId", "orderNum");
|
||||
CREATE INDEX "JMdict_ReadingElement_byReading" ON "JMdict_ReadingElement"("reading");
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementReadingDoesNotMatchKanji" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"readingDoesNotMatchKanji" BOOLEAN NOT NULL,
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementNews" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"news" INTEGER NOT NULL CHECK ("news" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementIchi" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"ichi" INTEGER NOT NULL CHECK ("ichi" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementSpec" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"spec" INTEGER NOT NULL CHECK ("spec" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementGai" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"gai" INTEGER NOT NULL CHECK ("gai" BETWEEN 1 AND 2)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementNF" (
|
||||
"elementId" INTEGER PRIMARY KEY REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"nf" INTEGER NOT NULL CHECK ("nf" BETWEEN 1 AND 48)
|
||||
);
|
||||
|
||||
CREATE TABLE "JMdict_ReadingElementRestriction" (
|
||||
"elementId" INTEGER NOT NULL REFERENCES "JMdict_ReadingElement"("elementId"),
|
||||
"restriction" TEXT NOT NULL,
|
||||
|
||||
@@ -48,6 +48,10 @@ SELECT
|
||||
- (substr(COALESCE("JMdict_JLPTTag"."jlptLevel", 'N0'), 2) * -5)
|
||||
AS "score"
|
||||
FROM "JMdict_ReadingElement"
|
||||
LEFT JOIN "JMdict_ReadingElementNews" USING ("elementId")
|
||||
LEFT JOIN "JMdict_ReadingElementIchi" USING ("elementId")
|
||||
LEFT JOIN "JMdict_ReadingElementSpec" USING ("elementId")
|
||||
LEFT JOIN "JMdict_ReadingElementGai" USING ("elementId")
|
||||
LEFT JOIN "JMdict_JLPTTag" USING ("entryId");
|
||||
|
||||
CREATE VIEW "JMdict_EntryScoreView_Kanji" AS
|
||||
@@ -80,6 +84,10 @@ SELECT
|
||||
- (substr(COALESCE("JMdict_JLPTTag"."jlptLevel", 'N0'), 2) * -5)
|
||||
AS "score"
|
||||
FROM "JMdict_KanjiElement"
|
||||
LEFT JOIN "JMdict_KanjiElementNews" USING ("elementId")
|
||||
LEFT JOIN "JMdict_KanjiElementIchi" USING ("elementId")
|
||||
LEFT JOIN "JMdict_KanjiElementSpec" USING ("elementId")
|
||||
LEFT JOIN "JMdict_KanjiElementGai" USING ("elementId")
|
||||
LEFT JOIN "JMdict_JLPTTag" USING ("entryId");
|
||||
|
||||
CREATE VIEW "JMdict_EntryScoreView" AS
|
||||
|
||||
Reference in New Issue
Block a user