Skip to main content
Glama
03-normalized-schema.sql4.76 kB
PRAGMA "journal_mode" = 'WAL'; PRAGMA "foreign_keys" = ON; BEGIN; -- -- Create model Chapter (As-Suwar) -- DROP TABLE IF EXISTS "chapters"; CREATE TABLE "chapters" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(16) NOT NULL UNIQUE, "order" smallint unsigned NOT NULL UNIQUE CHECK ("order" >= 0), "type" bool NOT NULL, "verse_count" smallint unsigned NOT NULL CHECK ("verse_count" >= 0) DEFAULT 0, "page_count" smallint unsigned NOT NULL CHECK ("page_count" >= 0) DEFAULT 0 ); CREATE INDEX "chapters_verse_count_5777cda7" ON "chapters" ("verse_count"); CREATE INDEX "chapters_page_count_7f097df8" ON "chapters" ("page_count"); -- -- Create model Part (Al-Ajzaa) -- DROP TABLE IF EXISTS "parts"; CREATE TABLE "parts" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(16) NOT NULL UNIQUE, "verse_count" smallint unsigned NOT NULL CHECK ("verse_count" >= 0) DEFAULT 0, "page_count" smallint unsigned NOT NULL CHECK ("page_count" >= 0) DEFAULT 0 ); CREATE INDEX "parts_verse_count_9501296e" ON "parts" ("verse_count"); CREATE INDEX "parts_page_count_606da20b" ON "parts" ("page_count"); -- -- Create model Group (Al-Ahzab) -- DROP TABLE IF EXISTS "groups"; CREATE TABLE "groups" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(16) NOT NULL UNIQUE, "verse_count" smallint unsigned NOT NULL CHECK ("verse_count" >= 0) DEFAULT 0, "page_count" smallint unsigned NOT NULL CHECK ("page_count" >= 0) DEFAULT 0, "part_id" bigint NULL REFERENCES "parts" ("id") DEFERRABLE INITIALLY DEFERRED ); CREATE INDEX "groups_verse_count_cbf9c194" ON "groups" ("verse_count"); CREATE INDEX "groups_page_count_1e918a07" ON "groups" ("page_count"); CREATE INDEX "groups_part_id_5cc7ea42" ON "groups" ("part_id"); -- -- Create model Quarter (Al-Arbaa) -- DROP TABLE IF EXISTS "quarters"; CREATE TABLE "quarters" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(16) NOT NULL UNIQUE, "verse_count" smallint unsigned NOT NULL CHECK ("verse_count" >= 0) DEFAULT 0, "page_count" smallint unsigned NOT NULL CHECK ("page_count" >= 0) DEFAULT 0, "group_id" bigint NULL REFERENCES "groups" ("id") DEFERRABLE INITIALLY DEFERRED, "part_id" bigint NULL REFERENCES "parts" ("id") DEFERRABLE INITIALLY DEFERRED ); CREATE INDEX "quarters_verse_count_3da85c21" ON "quarters" ("verse_count"); CREATE INDEX "quarters_page_count_ac1d8f5e" ON "quarters" ("page_count"); CREATE INDEX "quarters_group_id_425bbd82" ON "quarters" ("group_id"); CREATE INDEX "quarters_part_id_ffd45a90" ON "quarters" ("part_id"); -- -- Create model Page (As-Safahat) -- DROP TABLE IF EXISTS "pages"; CREATE TABLE "pages" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(16) NOT NULL UNIQUE, "verse_count" smallint unsigned NOT NULL CHECK ("verse_count" >= 0) DEFAULT 0, "chapter_id" bigint NULL REFERENCES "chapters" ("id") DEFERRABLE INITIALLY DEFERRED, "group_id" bigint NULL REFERENCES "groups" ("id") DEFERRABLE INITIALLY DEFERRED, "part_id" bigint NULL REFERENCES "parts" ("id") DEFERRABLE INITIALLY DEFERRED, "quarter_id" bigint NULL REFERENCES "quarters" ("id") DEFERRABLE INITIALLY DEFERRED ); CREATE INDEX "pages_verse_count_c0e0d056" ON "pages" ("verse_count"); CREATE INDEX "pages_chapter_id_a917d251" ON "pages" ("chapter_id"); CREATE INDEX "pages_group_id_43ecf6a9" ON "pages" ("group_id"); CREATE INDEX "pages_part_id_a8f68ff7" ON "pages" ("part_id"); CREATE INDEX "pages_quarter_id_48c3ef2b" ON "pages" ("quarter_id"); -- -- Create model Verse (Al-Aayat) -- DROP TABLE IF EXISTS "verses"; CREATE TABLE "verses" ( "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "number" smallint unsigned NOT NULL CHECK ("number" >= 0), "content" varchar(1024) NOT NULL, "chapter_id" bigint NOT NULL REFERENCES "chapters" ("id") DEFERRABLE INITIALLY DEFERRED, "group_id" bigint NULL REFERENCES "groups" ("id") DEFERRABLE INITIALLY DEFERRED, "page_id" bigint NULL REFERENCES "pages" ("id") DEFERRABLE INITIALLY DEFERRED, "part_id" bigint NULL REFERENCES "parts" ("id") DEFERRABLE INITIALLY DEFERRED, "quarter_id" bigint NULL REFERENCES "quarters" ("id") DEFERRABLE INITIALLY DEFERRED ); CREATE UNIQUE INDEX "verses_chapter_id_number_ca67eca3_uniq" ON "verses" ("chapter_id", "number"); CREATE INDEX "verses_number_3a23b3b1" ON "verses" ("number"); CREATE INDEX "verses_content_16c09417" ON "verses" ("content"); CREATE INDEX "verses_chapter_id_b472115e" ON "verses" ("chapter_id"); CREATE INDEX "verses_group_id_bb09b36d" ON "verses" ("group_id"); CREATE INDEX "verses_page_id_932c96e6" ON "verses" ("page_id"); CREATE INDEX "verses_part_id_cdcfce14" ON "verses" ("part_id"); CREATE INDEX "verses_quarter_id_3a00848c" ON "verses" ("quarter_id"); COMMIT;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yussefgafer/MyMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server