-- Lokasyon ayrılma kayıtları -- Bir lokasyonun hangi kaynaktan ayrıldığını tutar. -- Tek kaynaktan ayrılma (Osmaniye←Adana) veya -- çok kaynaktan birleşme (Elbistan ili←KMaraş+Malatya+Kayseri) için çoklu satır. CREATE TABLE location_splits ( id BIGSERIAL PRIMARY KEY, location_id BIGINT NOT NULL REFERENCES locations(id) ON DELETE RESTRICT, source_id BIGINT NOT NULL REFERENCES locations(id) ON DELETE RESTRICT, effective_at DATE NOT NULL, notes TEXT, UNIQUE (location_id, source_id, effective_at) ); CREATE INDEX idx_location_splits_location ON location_splits(location_id); CREATE INDEX idx_location_splits_source ON location_splits(source_id); -- Lokasyon birleşme kayıtları -- Bir lokasyonun hangi hedefe birleştirildiğini tutar. -- Beyoğlu+Şekeroba→Yeniİlçe gibi çok kaynak tek hedef için çoklu satır. CREATE TABLE location_merges ( id BIGSERIAL PRIMARY KEY, source_id BIGINT NOT NULL REFERENCES locations(id) ON DELETE RESTRICT, target_id BIGINT NOT NULL REFERENCES locations(id) ON DELETE RESTRICT, effective_at DATE NOT NULL, notes TEXT, UNIQUE (source_id, target_id, effective_at) ); CREATE INDEX idx_location_merges_source ON location_merges(source_id); CREATE INDEX idx_location_merges_target ON location_merges(target_id);