46 lines
1.4 KiB
SQL
46 lines
1.4 KiB
SQL
CREATE TABLE "KanjiVG_Version" (
|
|
"version" VARCHAR(10) PRIMARY KEY NOT NULL,
|
|
"date" DATE NOT NULL,
|
|
"hash" VARCHAR(64) NOT NULL
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TRIGGER "KanjiVG_Version_SingleRow"
|
|
BEFORE INSERT ON "KanjiVG_Version"
|
|
WHEN (SELECT COUNT(*) FROM "KanjiVG_Version") >= 1
|
|
BEGIN
|
|
SELECT RAISE(FAIL, 'Only one row allowed in KanjiVG_Version');
|
|
END;
|
|
|
|
CREATE TABLE "KanjiVG_Entry" (
|
|
"character" CHAR(1) PRIMARY KEY NOT NULL
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE "KanjiVG_StrokeNumber" (
|
|
"character" CHAR(1) NOT NULL REFERENCES "KanjiVG_Entry"("character"),
|
|
"strokeNum" INTEGER NOT NULL,
|
|
"x" REAL NOT NULL,
|
|
"y" REAL NOT NULL,
|
|
PRIMARY KEY ("character", "strokeNum")
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE "KanjiVG_Path" (
|
|
"character" CHAR(1) NOT NULL REFERENCES "KanjiVG_Entry"("character"),
|
|
"pathId" TEXT NOT NULL,
|
|
"type" VARCHAR(10) NOT NULL,
|
|
"svgPath" TEXT NOT NULL,
|
|
PRIMARY KEY ("character", "pathId")
|
|
) WITHOUT ROWID;
|
|
|
|
CREATE TABLE "KanjiVG_PathGroup" (
|
|
"character" CHAR(1) NOT NULL REFERENCES "KanjiVG_Entry"("character"),
|
|
"groupId" TEXT NOT NULL,
|
|
"parentGroupId" TEXT REFERENCES "KanjiVG_PathGroup"("groupId"),
|
|
"element" TEXT,
|
|
"original" TEXT,
|
|
"position" VARCHAR(10),
|
|
"radical" TEXT,
|
|
"part" INTEGER,
|
|
PRIMARY KEY ("character", "groupId"),
|
|
CHECK ("position" IN ('bottom', 'kamae', 'kamaec', 'left', 'middle', 'nyo', 'nyoc', 'right', 'tare', 'tarec', 'top') OR "position" IS NULL)
|
|
) WITHOUT ROWID;
|