2 CREATE TABLE CONFERENCE ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
3 , title VARCHAR NOT NULL
6 , city VARCHAR NOT NULL
7 , start INTEGER NOT NULL
11 , timeslot_duration INTEGER
12 , active INTEGER DEFAULT 0
15 CREATE TABLE TRACK ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
16 , xid_conference INTEGER NOT NULL
17 , name VARCHAR NOT NULL
18 , UNIQUE (xid_conference, name));
20 CREATE TABLE ROOM ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
21 , xid_conference INTEGER NOT NULL
22 , name VARCHAR NOT NULL
23 , picture VARCHAR NOT NULL
24 , UNIQUE (xid_conference, name));
26 CREATE TABLE PERSON ( id INTEGER NOT NULL
27 , xid_conference INTEGER NOT NULL
28 , name VARCHAR NOT NULL
29 , UNIQUE (xid_conference, name)
30 , PRIMARY KEY (id, xid_conference));
32 CREATE TABLE EVENT ( xid_conference INTEGER NOT NULL
34 , start INTEGER NOT NULL
35 , duration INTEGER NOT NULL -- duration of the event in seconds
36 , xid_track INTEGER NOT NULL REFERENCES TRACK(id)
40 , title VARCHAR NOT NULL
44 , favourite INTEGER DEFAULT 0
45 , alarm INTEGER DEFAULT 0
46 , PRIMARY KEY (xid_conference ,id)
47 , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id)
48 , FOREIGN KEY(xid_track) REFERENCES TRACK(id));
50 CREATE TABLE EVENT_PERSON ( xid_conference INTEGER NOT NULL
51 , xid_event INTEGER NOT NULL
52 , xid_person INTEGER NOT NULL
53 , UNIQUE ( xid_conference , xid_event , xid_person ) ON CONFLICT REPLACE
54 , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id)
55 , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id)
56 , FOREIGN KEY(xid_conference, xid_person) REFERENCES PERSON(xid_conference, id));
58 CREATE TABLE EVENT_ROOM ( xid_conference INTEGER NOT NULL
59 , xid_event INTEGER NOT NULL
60 , xid_room INTEGER NOT NULL
61 , UNIQUE ( xid_conference , xid_event , xid_room ) ON CONFLICT REPLACE
62 , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id)
63 , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id)
64 , FOREIGN KEY(xid_conference, xid_room) REFERENCES ROOM(xid_conference, id));
66 CREATE TABLE LINK ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
67 , xid_conference INTEGER NOT NULL
68 , xid_event INTEGER NOT NULL
70 , url VARCHAR NOT NULL
71 , UNIQUE ( xid_conference , xid_event , url ) ON CONFLICT REPLACE
72 , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id)
73 , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id));
75 PRAGMA user_version=1;