24 lines
1.2 KiB
SQL
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);
|