comparison results/cdx.sql @ 144:3abcb61e0bd9

basic, works
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Wed, 20 Oct 2021 17:14:18 +0000
parents ddff993994be
children
comparison
equal deleted inserted replaced
143:ddff993994be 144:3abcb61e0bd9
1 -- Tables for storing index file counts 1 -- Table for storing index file counts
2 -- Keyed names for various closed-class types 2 -- Keyed names for various closed-class types
3 CREATE TABLE scheme( 3 CREATE TABLE props(
4 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT 4 segment INTEGER NOT NULL,
5 name VARCHAR(16) 5 ftype CHAR(1) NOT NULL, -- 'r', 'w', 'c'
6 https INTEGER NOT NULL, -- 0:http vs. 1:https
7 ct_primary VARCHAR(11) NOT NULL, -- 'text', 'image', 'audio', 'video', 'application'
8 ct_sub VARCHAR(32),
9 sniffed_primary VARCHAR(11) NOT NULL, -- as above
10 sniffed_sub VARCHAR(32),
11 nlangs INTEGER NOT NULL,
12 lang1 CHAR(3),
13 lang2 CHAR(3),
14 lang3 CHAR(3)
6 ); 15 );
7 INSERT INTO scheme(name) VALUES ('http'),('https');
8
9 CREATE TABLE mpt(
10 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT
11 name VARCHAR(11)
12 );
13 INSERT INTO mpt(name) VALUES
14 ('text'),('image'),('audio'),('video'),('application');
15
16 CREATE TABLE mst(name)(
17 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT
18 name VARCHAR(11)
19 );
20
21 CREATE TABLE mediaType(
22 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT
23 pt INTEGER NOT NULL,
24 st INTEGER NOT NULL,
25 FOREIGN KEY(pt) REFERENCES mpt(id),
26 FOREIGN KEY(st) REFERENCES mst(id)
27 );
28
29 CREATE TABLE lang(
30 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT
31 code CHAR(3) NOT NULL,
32 fname VARCHAR
33 );
34
35 CREATE TABLE langs(
36 id INTEGER PRIMARY KEY NOT NULL, -- AUTOINCREMENT
37 count INTEGER NOT NULL,
38 primary INTEGER NOT NULL,
39 secondary INTEGER,
40 tertiary INTEGER,
41 FOREIGN KEY(primary) REFERENCES lang(id),
42 FOREIGN KEY(secondary) REFERENCES lang(id),
43 FOREIGN KEY(tertiary) REFERENCES lang(id)
44 );
45
46 CREATE TABLE props(
47 index INTEGER NOT NULL,
48 ftype CHAR(1), -- 'r', 'w', 'c'
49 scheme INTEGER NOT NULL,
50 ct INTEGER NOT NULL,
51 sniffed INTEGER NOT NULL,
52 langs INTEGER,
53 FOREIGN KEY(scheme) REFERENCES scheme(id),
54 FOREIGN KEY(ct) REFERENCES mediaType(id),
55 FOREIGN KEY(sniffed) REFERENCES mediaType(id),
56 FOREIGN KEY(langs) REFERENCES langs(id),
57 );