use "ON DELETE CASCADE" clauses
[~helmut/debian-dedup.git] / schema.sql
1 CREATE TABLE package (package TEXT PRIMARY KEY, version TEXT, architecture TEXT, source TEXT);
2 CREATE TABLE content (package TEXT, filename TEXT, size INTEGER, function TEXT, hash TEXT, FOREIGN KEY (package) REFERENCES package(package) ON DELETE CASCADE);
3 CREATE TABLE dependency (package TEXT, required TEXT, FOREIGN KEY (package) REFERENCES package(package) ON DELETE CASCADE);
4 CREATE INDEX content_package_index ON content (package);
5 CREATE INDEX content_hash_index ON content (hash);
6
7 CREATE TABLE sharing (package1 TEXT, package2 TEXT, func1 TEXT, func2 TEXT, files INTEGER, size INTEGER, FOREIGN KEY (package1) REFERENCES package(package) ON DELETE CASCADE, FOREIGN KEY (package2) REFERENCES package(package) ON DELETE CASCADE);
8 CREATE INDEX sharing_insert_index ON sharing (package1, package2, func1, func2);
9 CREATE INDEX sharing_package_index ON sharing (package1);