29 lines
1.1 KiB
SQL
29 lines
1.1 KiB
SQL
-- ============================================================
|
|
-- V4: Document hierarchy — chapter and section tables
|
|
-- Supports parent-child retrieval pattern for RAG precision.
|
|
-- ============================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS chapter (
|
|
id VARCHAR(200) PRIMARY KEY,
|
|
book_id UUID NOT NULL REFERENCES book(id) ON DELETE CASCADE,
|
|
number INT NOT NULL DEFAULT 1,
|
|
title VARCHAR(500),
|
|
page_start INT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS section (
|
|
id VARCHAR(200) PRIMARY KEY,
|
|
chapter_id VARCHAR(200) NOT NULL REFERENCES chapter(id) ON DELETE CASCADE,
|
|
book_id UUID NOT NULL REFERENCES book(id) ON DELETE CASCADE,
|
|
number VARCHAR(50),
|
|
title VARCHAR(500),
|
|
page_start INT NOT NULL,
|
|
page_end INT NOT NULL,
|
|
full_text TEXT NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_section_book ON section(book_id);
|
|
CREATE INDEX IF NOT EXISTS idx_section_chapter ON section(chapter_id);
|