labfy-investigation/database/schema_v11.sql
2026-07-28 08:53:31 +02:00

24 lines
1.2 KiB
SQL

/******************************************************************************
* Schéma SQLite V11 — observations sémantiques preuve-entité.
******************************************************************************/
CREATE TABLE IF NOT EXISTS evidence_entity_observations
(
evidence_id TEXT NOT NULL,
entity_id TEXT NOT NULL,
entity_type TEXT NOT NULL,
value_raw TEXT NOT NULL,
value_normalized TEXT NOT NULL,
role TEXT NOT NULL,
provenance_kind TEXT NOT NULL,
source_header TEXT NOT NULL,
occurrence INTEGER NOT NULL DEFAULT 1 CHECK (occurrence > 0),
verification_status TEXT NOT NULL DEFAULT 'proposed',
created_at TEXT NOT NULL CHECK (length(created_at) = 20),
PRIMARY KEY (evidence_id, entity_id, role, source_header, occurrence),
FOREIGN KEY (evidence_id) REFERENCES preuves(id) ON DELETE CASCADE,
FOREIGN KEY (entity_id) REFERENCES entites(id) ON DELETE CASCADE,
CHECK (length(trim(role)) > 0),
CHECK (length(trim(source_header)) > 0)
);
CREATE INDEX IF NOT EXISTS idx_evidence_entity_observations_evidence
ON evidence_entity_observations(evidence_id);