[feat] add initial database schema with tables, triggers, and views

This commit is contained in:
2025-08-21 00:22:03 +02:00
parent 31af27f515
commit b8f33e252a
68 changed files with 882 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
CREATE VIEW v_book_index AS
SELECT 'TRAIT' AS kind, t.name, b.code, c.page_start, c.page_end
FROM trait t JOIN trait_citation tc ON tc.trait_id=t.id
JOIN citation c ON c.id=tc.citation_id JOIN book b ON b.id=c.book_id
UNION ALL
SELECT 'SPECIES', s.name, b.code, c.page_start, c.page_end
FROM species s JOIN species_citation sc ON sc.species_id=s.id
JOIN citation c ON c.id=sc.citation_id JOIN book b ON b.id=c.book_id
UNION ALL
SELECT 'CULTURE', cu.name, b.code, c.page_start, c.page_end
FROM culture cu JOIN culture_citation cc ON cc.culture_id=cu.id
JOIN citation c ON c.id=cc.citation_id JOIN book b ON b.id=c.book_id
UNION ALL
SELECT 'PROFESSION', p.name, b.code, c.page_start, c.page_end
FROM profession p JOIN profession_citation pc ON pc.profession_id=p.id
JOIN citation c ON c.id=pc.citation_id JOIN book b ON b.id=c.book_id;