40 lines
1.2 KiB
SQL
40 lines
1.2 KiB
SQL
CREATE TABLE IF NOT EXISTS tlds (
|
|
tld_id INTEGER PRIMARY KEY NOT NULL,
|
|
tld TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS domains (
|
|
id INTEGER PRIMARY KEY,
|
|
tld_id INTEGER NOT NULL REFERENCES tlds(tld_id),
|
|
domain_id INTEGER NOT NULL,
|
|
domain TEXT NOT NULL
|
|
);
|
|
CREATE UNIQUE INDEX IF NOT EXISTS ndx_domains_uniq ON domains(tld_id, domain_id);
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS subdomains (
|
|
id INTEGER PRIMARY KEY,
|
|
tld_id INTEGER NOT NULL REFERENCES tlds(tld_id),
|
|
domain_id INTEGER NOT NULL REFERENCES domains(domain_id),
|
|
subdomain_id INTEGER NOT NULL,
|
|
subdomain TEXT NOT NULL
|
|
);
|
|
CREATE UNIQUE INDEX IF NOT EXISTS ndx_subdomains_uniq ON subdomains(tld_id, domain_id, subdomain_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS paths (
|
|
id INTEGER PRIMARY KEY,
|
|
tld_id INTEGER NOT NULL REFERENCES tlds(tld_id),
|
|
domain_id INTEGER NOT NULL REFERENCES domains(domain_id),
|
|
subdomain_id INTEGER NOT NULL REFERENCES subdomains(subdomain_id),
|
|
path_id INTEGER NOT NULL,
|
|
path TEXT NOT NULL
|
|
);
|
|
CREATE UNIQUE INDEX IF NOT EXISTS ndx_paths_uniq ON paths(tld_id, domain_id, subdomain_id, path_id);
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS domain64 (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
rfqdn TEXT,
|
|
d64 BIGINT UNIQUE NOT NULL
|
|
);
|